【2.1】 柯尔莫可洛夫-斯米洛夫检验(Kolmogorov–Smirnov test,K-S test)

柯尔莫哥洛夫-斯米尔诺夫检验( Kolmogorov–Smirnov检验)基于累计分布函数,用以检验两个经验分布是否不同或一个经验分布与另一个理想分布是否不同。

在进行cumulative probability统计(如下图)的时候,你怎么知道组之间是否有显著性差异?有人首先想到单因素方差分析或双尾检验(2 tailed TEST)。其实这些是不准确的,最好采用Kolmogorov-Smirnov test(柯尔莫诺夫-斯米尔诺夫检验)来分析变量是否符合某种分布或比较两组之间有无显著性差异。

一、原理介绍

K-S检验的基本思路是:先将顺序分类资料数据的理论累积频率分布与观测的经验累积频率分布加以比较,求出它们最大的偏离值,然后在给定的显著性水平上检验这种偏离值是否是偶然出现的。寻找最大距离(Distance), 所以常简称为D法。

统计量

步骤

如何分析结果呢?This maximum distance or maximum difference is then plugged into KS probability function to calculate the probability value. The lower the probability value is the less likely the two distributions are similar. Conversely, the higher or more close to 1 the value is the more similar the two distributions are.极端情况:如果P值为1的话,说明两给数据基本相同,如果P值无限接近0,说明两组数据差异性极大。

Kolmogorov-Smirnov检验(K-S检验)基于累积分布函数,用以检验一个经验分布是否符合某种理论分布或比较两个经验分布是否有显著性差异。

两样本K-S检验由于对两样本的经验分布函数的位置和形状参数的差异都敏感而成为比较两样本的最有用且常规的非参数方法之一。

优点:该检验不依赖于要测试的累积分布函数,相比于卡方拟合检验(卡方检验需要50个以上的样本),不需要大量的样本。

缺点:只适用于连续分布;在分布中间敏感,在两端不够敏感;最大的局限在于整个分布需要完全确定,如果位置,形状等参数都是从数据中估计的,判定区间不再有效,因此这些参数一般只能通过模拟得到。

因此很多人推荐使用以下两种检验方法,这两种方法也是ks检验的改进版本。

Anderson-Darling test in R package of robCompositions

Shapiro-Wilk test in R package of mvShapiroTest

参考文献1-3为方法介绍,文献4为中文介绍,其中有两样本ks检验的R使用。文献5为Shapiro-Wilk检验的介绍

参考文献(后续来整理。。。。)

1、http://itl.nist.gov/div898/handbook/eda/section3/eda35g.htm

2、http://www.physics.csbsju.edu/stats/KS-test.html

3、https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test

4、http://wenku.baidu.com/link?url=RIltudkzYckW6NAJDHZ1MOG5KDqpbf85_ASiKUtdwtLZfE4UvU_-w4AAd3-5eL-P3WTG2A2FHgC_0-AIMvKxxhOk_r3l6P_yBbSpmCaaFNO

5、http://blog.sina.com.cn/s/blog_403aa80a01019lwd.html

6、http://www.cnblogs.com/hdu-2010/p/4629675.html

二、分析工具

有一个网站可以进行在线的统计,你只需要输入数据就可以了。地址如下:http://www.physics.csbsju.edu/stats/KS-test.n.plot_form.html

当然还有更多的软件支持这个统计,如SPSS,SAS,MiniAnalysis,Clampfit10

根据软件统计出来后给出的结果决定有没有显著性差异,如果D max值>D 0.05。则认为有显著性差异。D 0.05的经验算法:1.36/SQRT(N) 其中SQRT为平方要,N为样本数。D 0.01经验算法1.64/SQRT(N) 。当然最准确的办法还是去查KS检定表。不过大多数软件如CLAMPFIT,MINIANALYSIS统计出来的结果都是直接有P值。根据这个值(alpha=0.05)就可以断定有没有差异了。

三、卡方检验与K-S检验的比较

这两者都是拟合优度检验,x2检验常用语分类数据,而K-S检验还可以用于顺序数据。当数据频数较小时,x2检验需合并临近的分类才能计算,k-s检验不需要如此,因而它能比x2检验保留更多额信息。

参考资料

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn