[英]Kolmogorov-Smirnov test
我正在使用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中的唯一元素數低於元素數時 - 您將收到此警告。 換句話說,如果您的向量有重復的條目 - 您將收到警告。
最有可能發生的事情是,當n> 100時,與使用n = 100相比,在那里獲得重復值的機會更多。因為你重復這幾千次,在x中有兩個相同值的概率就會增加。
作為一個例子,這段代碼沒有給我任何警告:
set.seed(1234)
smth <- replicate(100000, ks.test(runif(101),y="punif"))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.