我正在使用R函数ks.test()
来测试R随机数生成器的均匀分布。我正在使用以下代码:replicate(100000, ks.test(runif(n),y="punif")
。
当n
小于或等于100时,它起作用,但是当n
大于100时,我收到以下警告消息:
In ks.test(runif(100000), y = "punif") :
ties should not be present for the Kolmogorov-Smirnov test.
那些“纽带”是什么?
最佳答案
如果检查函数ks.test
的主体,您将在主体中的某处看到以下行:
if (length(unique(x)) < n) {
warning("ties should not be present for the Kolmogorov-Smirnov test")
TIES <- TRUE
}
这告诉您,当x中的唯一元素数低于元素数时,您会收到此警告。换句话说,如果您的 bootstrap 有重复的条目-您将收到警告。
最有可能发生的事情是,与使用n = 100相比,当n> 100时,有更多的机会在某处获得重复的值。由于您重复了数千次,因此x中具有两个相同值的可能性增加。
作为示例,此代码没有给我任何警告:
set.seed(1234)
smth <- replicate(100000, ks.test(runif(101),y="punif"))
关于r - 柯尔莫哥洛夫-斯米尔诺夫检验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28158574/