r - 柯尔莫哥洛夫-斯米尔诺夫检验

标签 r statistics simulation probability hypothesis-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中的唯一元素数低于元素数时,您会收到此警告。换句话说,如果您的 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/

相关文章:

r - 在给定一列的情况下计算 R 中的耗时

python - 给定每天到达次数,模拟泊松到达时间

c++ - boost::accumulators::statistics 的中值输出令人困惑

python - Python中t copula的模拟

matlab - 如何使用 MATLAB 更改矩阵中的元素

r - 模拟数据并将缺失值随机添加到数据框

r - 使用 r 中的 readr 读取文件时的大整数

r - 使用 ChartSeries 对日内数据进行子集化

r - 在 RUnit 或 testthat 中自动生成测试用例

python - 使用引导来增加样本数量是否有意义?那么,怎样才能实现呢?