@Whuber'ın yorumlarda sorduğu gibi, kategorik NO'm için bir doğrulama. düzenleme: shapiro testi ile, tek örnekli ks testi aslında yanlış kullanıldığı için. Whuber doğru: Kolmogorov-Smirnov testinin doğru kullanımı için, dağıtım parametrelerini belirlemelisiniz ve bunları veriden çıkarmamalısınız. Bununla birlikte, tek örnekli KS testi için SPSS gibi istatistiksel paketlerde bu yapılır.
Dağıtım hakkında bir şeyler söylemeye çalışıyorsunuz ve bir t testi yapıp yapamayacağınızı kontrol etmek istiyorsunuz. Dolayısıyla bu test, analizin altında yatan varsayımları geçersiz kılmak için verilerin normalden önemli ölçüde ayrılmadığını doğrulamak için yapılır . Dolayısıyla, tip I-hata ile ilgilenmiyorsunuz, ancak tip II-hata ile ilgileniyorsunuz.
Şimdi, kişi kabul edilebilir güç için minimum n'yi hesaplayabilmek için "önemli ölçüde farklı" tanımlamalıdır (0.8). Dağıtımlarla, tanımlaması kolay değil. Bu nedenle, ben soruyu cevaplamadım, çünkü kullandığım kurallardan başka, mantıklı bir cevap veremiyorum: n> 15 ve n <50. Neye göre? Temelde Gut hissedersin, o yüzden bu seçimi deneyim dışında savunamam.
Ancak, yalnızca 6 değerle tip II hatanızın neredeyse 1 olması gerektiğini ve gücünüzü 0'a yakın tuttuğunu biliyorum. 6 gözlemle, Shapiro testi normal, poisson, tek tip ve hatta üstel dağılım arasında ayrım yapamaz. II türünde bir hata neredeyse 1 olurken, test sonucunuz anlamsızdır.
Shapiro testi ile normalite testini göstermek için:
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
Değerlerin yaklaşık yarısının 0,05'ten küçük olması sadece sonuncudur. Aynı zamanda en uç durum budur.
Eğer shapiro testinde size neyi sevdiğiniz gücü veren minimum değeri bulmak istiyorsanız, şunun gibi bir simülasyon yapabilirsiniz:
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)
})
size bunun gibi bir güç analizi verir:
üstelik vakaların% 80'inde bir üsteli normal bir dağılımdan ayırt etmek için kabaca minimum 20 değere ihtiyacınız olduğuna karar verdim.
kod grafiği:
plot(lowess(results[2,]~results[1,],f=1/6),type="l",col="red",
main="Power simulation for exponential distribution",
xlab="n",
ylab="power"
)