R的Kolmogorov-Smirnov检验

时间:2014-11-03 13:57:12

标签: r statistics statistical-test

我尝试使用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值非常低,而测试应该接受零假设。

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

2 个答案:

答案 0 :(得分:22)

正如ks.test help所指出的那样,您必须向ks.test函数提供pnorm的参数。如果您没有精确的平均值和标准偏差,则测试是在标准高斯分布上完成的。

在这里你应该写:

ks.test(x, "pnorm", 1, 2) #or ks.test(x, "pnorm", mean=1, sd=2) 

答案 1 :(得分:1)

我认为最好像这样使用mean=mean(x)sd=sd(x)

ks.test(x, "pnorm", mean=mean(x), sd=sd(x))