KS 检验 - 如何计算 p 值?

机器算法验证 假设检验 kolmogorov-smirnov 测试
2022-04-16 16:07:01

Kolmogorov-Smirnov 检验中的 p 值是如何计算的?它的公式是什么?我怀疑它是基于 p 值的定义得出的。检验统计量的值是两个 CDF 之间的最大差异,对吗?所以本质上,我们是在询问假设原假设为真(两个数据集来自相同的分布),在经验 CDF 中获得如此大或更大差异的概率是多少。通过回答这个问题,我们得到了 KS-test 中 p 值的公式(不过我还没有看到这个公式)。那么 p 值的公式是什么,它是如何推导出来的呢?

1个回答

这是一个很好的问题,因为虽然直观上相对简单(即,Kolmogorov-SmirnovD统计量的值与观察到的一样大或更大的可能性是多少?)所述概率的计算不是。

首先让我指出,应该区分双面测试和单面测试。我将重点介绍双边测试,因为它更常用。

好的,假设两个 CDF 之间的距离是Dm,n在哪里mn是有关的样本量。p-我们想要的价值是P(Dm,nDObs|H0).DObs是我们观察到的H0是两个人口分布是相同的,即。我们有来自同一人群的样本。显然,推导的精确零概率分布的关键是Dm,n. 这就是斯米尔诺​​夫在故事中出现的地方;他证明了[1]:

limn,mP(DObsmnm+nDm,n)=L(DObs)在哪里: L(DObs)=12Σi(1)i1e2i2Dobs2.

大多数时候人们实际上并没有与之合作DObs直接但使用反映影响的某些重新缩放参数nm. 不言而喻,您不要直接评估上述无限级数。某些实现将前 100 个点相加,但即便如此,您也需要注意数值精度问题。Journal of Statistical Software on Evaluating Kolmogorov's Distribution有一篇非常不错的可免费访问的论文过去,人们更多地依赖经验派生的表格(例如[2])。

我的回答基于提到的英语论文以及Gibbons 和 Chakraborti的《非参数统计推断》一书(第 6 章)。

[1]:Smirnov, NV (1939),两个独立样本中经验分布函数之间的偏差估计(俄语),莫斯科大学公报,2, 3-16。

[2]:Frank J. Massey, Jr. (1951),Kolmogorov-Smirnov 拟合优度检验,美国统计协会杂志,卷。46,第 253 期,第 68-78 页