我制作了一个随机数生成器并生成了 0 到 10007 范围内的 N 个数字,我想测试这个生成器在 R 中有多好。
问问题
398 次
1 回答
0
您可以使用ks.test
来测试您的样本是否与指定的分布匹配。例如,我们可以比较runif
U(0, 1) 分布的输出:
set.seed(144)
x <- runif(1000, 0, 1)
ks.test(x, "punif", 0, 1)
# One-sample Kolmogorov-Smirnov test
#
# data: x
# D = 0.0326, p-value = 0.2374
# alternative hypothesis: two-sided
该D
值表明您的样本的经验 cdf 与 U(0, 1) 分布的 cdf 最多相差 0.0326。p 值表示来自随机变量 R 的 1000 个随机样本的经验 cdf 与 R 的 cdf 相差D
或更多的概率为 0.2374。
于 2014-03-15T16:14:34.457 回答