Kolmogorov Smirnov 检验

       Kolmogorov-Smirnov检验

一个例子

假设你拿到下面的这100个观察值:

-0.16-0.68-0.32-0.850.89-2.280.630.410.150.74
1.30-0.130.80-0.750.28-1.000.14-1.38-0.04-0.25
-0.171.290.47-1.230.21-0.040.07-0.080.32-0.17
0.13-1.940.780.19-0.12-0.190.76-1.48-0.010.20
-1.97-0.373.08-0.400.800.011.32-0.472.29-0.26
-1.52-0.06-1.021.060.601.151.92-0.06-0.190.67
0.290.580.022.18-0.04-0.13-0.79-1.28-1.41-0.23
0.65-0.26-0.17-1.53-1.69-1.600.09-1.110.300.71
-0.88-0.030.56-3.682.400.620.52-1.250.85-0.09
-0.23-1.160.22-1.680.50-0.35-0.35-0.33-0.240.25

想知道这些数据是否符合N(01)分布?

Kolmogorov-Smirnov

假设我们观察到数据X_{1},X_{2},...,X_{n},我们认为这些数据来自分布为p的数据集。

Kolmogorov-Smirnov检验的方法如下:

         H_{0}: 数据来自分布为p的数据集

        否则:

        H_{1}: 数据并非来自分布为p的数据集

累积分布函数与经验分布函数y_{1}

随机变量X的累计分布函数(CDF)F(x)的定义大家都知道:

                                                                     F(x)=P(X\leqslant x)

累积分布函数唯一地刻画了概率分布。

给定一个观察数列x_{1},...,x_{n},经验分布函数F_{obs}(x)就是那些值不大于x的概率:

                                                             F_{obs}(x)=\frac{observations \quad below \quad x}{observations}

如果将观察值排序y_{1}\leqslant y_{2}\leqslant ...\leqslant y_{n},那么:

                                                                            F_{obs}(y_{i})=\frac{i}{n}

我们要比较数据的经验分布函数F_{obs}(y_{i})与零假设(什么是零假设,参考 零假设 )相关的累积分布函数F_{exp}(所希望的CDF)。

Kolmogorov-Smirnov统计是:

                                                                D_{n} = \mathop {\max }\limits_x |F_{exp}(x) - F_{obs}(x)|

实用方法

上面例子中的数据排序后,如下表所示:

                                    

然后计算经验分布函数:

                                  F_{obs}(-3.68)=\frac{1}{100}F_{obs}(-2.28)=\frac{2}{100},....,F_{obs}(3.08)=1

如果数据已排序,x_{1}是最小值,x_{n}是最大值,那么在这个例子里就有:

                                                                       F_{obs}(x_{i})=\frac{i}{100}

在这里,我们假设期望的分布函数是标准正态的,所以使用正态表。下表就是标准分布的已排序的数据表:

                               

对于每一个观察值x_{i}计算F_{exp}(x_{i})=P(Z\leqslant x_{i})

计算两个表中各项之间的绝对差值。

                              

Kolmogorov Smirnov统计D_{n}=0.092是(蓝色显示)最大值。

Kolmogorov Smirnov统计

我们计算了预期和观测分布函数之间的最大绝对距离,下图用绿色线条表示。

                                   

临界值

在95%级别下,临界值近似:

                                                                               D_{crit,0.05} = \frac{1.36}{\sqrt{n}}

在这个例子中,由于n=100,因此D_{crit,0.05} =0.136

由于0.092<0.136,因此我们接受零假设

临界值可以按照下表查询(表内第一行0.20,0.15,0.10,0.05,0.01即表示80%,85%,90%,95%,99%的显著性级别):

两个样本的Kolmogorow-Smirnov

给定两个样本,测试它们的分布是否相同。计算观测到的两个样本的累积分布函数,并计算它们的最大差值。

X : 1:2; 1:4; 1:9; 3:7; 4:4; 4:8; 9:7; 17:3; 21:1; 28:4
Y : 5:6; 6:5; 6:6; 6:9; 9:2; 10:4; 10:6; 19:3

我们对组合样本进行排序,以计算经验CDF:

                                              

Kolmogorov Smirnov统计又是两个观测分布函数的最大绝对差。在这里:

                                                                                       D{n} = 0.6

对于两个样本,95%临界值可以用公式来近似:

                                                                       D_{crit,0.05} = 1.36 \sqrt{\frac{1}{n_{x}}+\frac{1}{n_{y}}}

在我们的例子里,n_{x}=10n_{y}=8,因此D_{crit,0.05} = 0.645

因此我们接受零假设

  • 5
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: Kolmogorov-Smirnov检验(简称KS检验)是一种非参数统计学检验方法,用于检验样本数据是否来自某一特定的概率分布。它通过计算样本数据与概率分布之间的最大差异来进行检验。如果最大差异很小,则说明样本数据与概率分布很相似,反之则说明样本数据与概率分布不相似。 ### 回答2: Kolmogorov-Smirnov检验是一种常见的假设检验方法,常用于检验数据是否符合某种分布,或者两组数据是否具有相同的分布。其原理是通过比较累积分布函数之间的差异来判断两组数据或一组数据与某种分布是否存在显著差异。 Kolmogorov-Smirnov检验的基本步骤如下: 1. 提出假设。假设两组数据或一组数据与某种分布有显著差异。这可以表示为: H0:两组数据或一组数据符合某种分布; Ha:两组数据或一组数据不符合某种分布。 2. 确定统计量。统计量是累积分布函数之间的最大差距: D = max|Fn(X) - F0(X)| 其中,Fn(X)是样本累积分布函数,F0(X)是理论累积分布函数。 3. 设定显著性水平。通常设定为0.05或0.01。 4. 计算p值。通过查找卡方分布表或使用计算机软件得到p值,如果p值小于显著性水平,则拒绝原假设。 Kolmogorov-Smirnov检验有多种变体,包括单样本、双样本、两样本配对、非参数回归等。它适用于各种类型的数据,如连续型、离散型等。但需要注意的是,它只能用于检验分布形态相同的数据,对于具有不同形态的数据,需要使用其它方法,如Wilcoxon-Mann-Whitney检验等。 在实际应用中,Kolmogorov-Smirnov检验可以用于许多领域,如金融、医学、生物学等,用于判断数据是否符合某种分布或是否存在差异。它是一种简单、易用、有效的非参数假设检验方法。 ### 回答3: Kolmogorov-Smirnov检验(K-S检验)是一种非参数假设检验方法,用于检验一个样本是否符合某个已知分布或两个样本是否来自同一分布。K-S检验的原理是通过比较经验分布函数和理论分布函数的差异程度来判断样本分布是否符合理论分布。经验分布函数是样本的累积分布函数,而理论分布函数是已知分布的累积分布函数。 K-S检验的基本步骤如下: 1. 建立零假设和备择假设。零假设通常是样本符合某个已知分布或两个样本来自同一分布,备择假设则是样本不符合该分布或两个样本来自不同分布。 2. 根据样本数据,计算经验分布函数的值。 3. 根据已知分布或第二个样本的数据,计算理论分布函数的值。 4. 比较经验分布函数和理论分布函数的差异程度,通常使用K-S统计量来表示两者之间的最大偏差。 5. 根据K-S统计量和样本大小,可以查找K-S临界值,并进行p值计算。 6. 根据p值判断零假设是否成立。如果p值小于显著性水平,可以拒绝零假设,认为样本不符合该分布或两个样本来自不同分布。 K-S检验是一种广泛使用的假设检验方法,用于处理很多不同类型的数据,包括时间序列数据、普通数据和分类数据等等。它具有很好的稳健性和灵活性,因为它不需要假设具体的数据分布,而是仅仅依靠样本数据本身来推断总体分布的情况。因此,K-S检验对于那些分布无法明确知晓或分布类型不确定的问题尤其有用。在实际应用中,它被广泛应用于生态学、遥感、金融等各个领域,被视为一种重要的非参数统计方法。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值