使用 Kolmogorov Smirnov 检验的 Pi 分布数字
Posted
技术标签:
【中文标题】使用 Kolmogorov Smirnov 检验的 Pi 分布数字【英文标题】:Digits of Pi Distribution Using Kolmogorov Smirnov Test 【发布时间】:2018-07-11 07:30:24 【问题描述】:我想使用 Kolmogorov Smirnov 测试在 R 中执行以下测试:
1) pi 小数点后 4000 位各种整数的出现次数如下:
0 1 2 3 4 5 6 7 8 9
368 426 408 374 405 415 398 376 400 430
检验各种整数的出现服从均匀分布的原假设,就好像 pi 是一个随机数一样。
尝试:
我得到了累积概率密度函数,设置为x。
x <- c(.092,.1985,.3005,.394,.49525,.599,.6985,.7925,.8925,1)
ks.test(x,y="punif")
这个输出:
One-sample Kolmogorov-Smirnov test
data: x
D = 0.1005, p-value = 0.9996
alternative hypothesis: two-sided
但是,手工操作会得到 D=.008。我做错了什么?
手算:
假设均匀,我们将有以下 cdf:
.1, .2, .3, .4, .5, .6, .7, .8, .9, 1
然后我找到了这些值与我上面定义的 x 之间差异的绝对值,以获得 0.008 的最大差异。
【问题讨论】:
你能多说一下你以前用手做的过程吗? 是的,我会补充的 【参考方案1】:这里可能有几个问题。
首先,ks.test
希望它的参数是“数据值的数字向量”(我的重点),而不是分布的摘要。所以输入应该是这样的。
pi_digits <- rep(0:9,c(368,426,408,374,405,415,398,376,400,430))
其次,Kolmogorov-Smirnov 检验旨在检验两个连续概率分布之间的距离。所以当我尝试输入上面的值时,我收到了一个关于 tie 的警告。
【讨论】:
哦,好吧。我今天刚刚在课堂上了解到这个测试,所以也许他给我们展示了一个离散的例子来简化。以上是关于使用 Kolmogorov Smirnov 检验的 Pi 分布数字的主要内容,如果未能解决你的问题,请参考以下文章
Kolmogorov-Smirnov 检验中的假设检验 - 无论是临界值还是 p 值
R假设检验之k-s检验(KOLMOGOROV AND SMIRNOV TEST)
Kolmogorov-Smirnov 检验:当存在关系时,应用于离散变量的两样本检验的精确 p 值