25

我尝试使用 Kolmogorov-Smirnov 检验来检验样本的正态性。这是我所做的一个简单的小例子:

x <- rnorm(1e5, 1, 2)
ks.test(x, "pnorm")

这是 R 给我的结果:

        One-sample Kolmogorov-Smirnov test

data:  x
D = 0.3427, p-value < 2.2e-16
alternative hypothesis: two-sided

p 值非常低,而测试应该接受零假设。

我不明白为什么它不起作用。

4

2 回答 2

32

ks.test 正如帮助中指出的那样,您必须为ks.test函数提供pnorm. 如果您没有精确的均值和标准变异,则测试是在标准高斯分布上完成的。

在这里你应该写:

ks.test(x, "pnorm", 1, 2) #or ks.test(x, "pnorm", mean=1, sd=2) 
于 2014-11-03T14:10:42.720 回答
10

mean=mean(x)我认为使用和sd=sd(x)喜欢会更好

ks.test(x, "pnorm", mean=mean(x), sd=sd(x))
于 2019-11-20T06:10:34.043 回答