正如@whuber 在评论中所问的那样,对我的分类 NO 进行了验证。编辑:使用 shapiro 测试,因为单样本 ks 测试实际上被错误地使用。Whiber 是正确的:为了正确使用 Kolmogorov-Smirnov 检验,您必须指定分布参数,而不是从数据中提取它们。然而,这是在 SPSS 等统计软件包中针对单样本 KS 测试所做的。
您尝试对分布发表一些看法,并想检查是否可以应用 t 检验。因此,进行此测试是为了确认数据没有明显偏离正态性,足以使分析的基本假设无效。因此,您对 I 型错误不感兴趣,而对 II 型错误感兴趣。
现在必须定义“显着不同”才能计算可接受功率的最小 n(例如 0.8)。对于分布,这并不容易定义。因此,我没有回答这个问题,因为除了我使用的经验法则之外我无法给出合理的答案:n > 15 和 n < 50。基于什么?基本上是直觉,所以除了经验我无法为这个选择辩护。
但我确实知道,只有 6 个值,您的 II 型错误肯定几乎为 1,使您的功效接近 0。有了 6 个观察值,夏皮罗检验无法区分正态分布、泊松分布、均匀分布甚至指数分布。II 型错误几乎为 1,您的测试结果毫无意义。
用 shapiro-test 说明正态性检验:
shapiro.test(rnorm(6)) # test a the normal distribution
shapiro.test(rpois(6,4)) # test a poisson distribution
shapiro.test(runif(6,1,10)) # test a uniform distribution
shapiro.test(rexp(6,2)) # test a exponential distribution
shapiro.test(rlnorm(6)) # test a log-normal distribution
只有大约一半的值小于 0.05,是最后一个。这也是最极端的情况。
如果您想通过 shapiro 测试找出让您获得您喜欢的力量的最小 n 是多少,可以进行如下模拟:
results <- sapply(5:50,function(i){
p.value <- replicate(100,{
y <- rexp(i,2)
shapiro.test(y)$p.value
})
pow <- sum(p.value < 0.05)/100
c(i,pow)
})
它为您提供了这样的功率分析:
从中我得出的结论是,在 80% 的情况下,您需要大约至少 20 个值来区分指数分布和正态分布。
代码图:
plot(lowess(results[2,]~results[1,],f=1/6),type="l",col="red",
main="Power simulation for exponential distribution",
xlab="n",
ylab="power"
)