簡體   English   中英

Kolmogorov-Smirnov測試

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM