Wie @whuber in den Kommentaren gefragt hat, eine Validierung für mein kategorisches NO. edit: beim shapiro test, da der one sample ks test nämlich falsch angewendet wird. Whuber ist richtig: Für die korrekte Anwendung des Kolmogorov-Smirnov-Tests müssen Sie die Verteilungsparameter angeben und dürfen sie nicht aus den Daten extrahieren. Dies geschieht jedoch in statistischen Paketen wie SPSS für einen KS-Test mit einer Stichprobe.
Sie versuchen, etwas über die Verteilung zu sagen, und Sie möchten überprüfen, ob Sie einen T-Test anwenden können. Dieser Test wird durchgeführt, um zu bestätigen, dass die Daten nicht signifikant genug von der Normalität abweichen, um die zugrunde liegenden Annahmen der Analyse ungültig zu machen. Sie interessieren sich also nicht für den Typ-I-Fehler, sondern für den Typ-II-Fehler.
Jetzt muss man "signifikant anders" definieren, um das Minimum n für akzeptable Leistung (z. B. 0,8) berechnen zu können. Bei Distributionen ist das nicht einfach zu definieren. Daher habe ich die Frage nicht beantwortet, da ich abgesehen von der von mir verwendeten Faustregel keine vernünftige Antwort geben kann: n> 15 und n <50. Worauf aufbauend? Im Grunde genommen ein gutes Gefühl, daher kann ich diese Entscheidung nicht ohne Erfahrung verteidigen.
Aber ich weiß, dass mit nur 6 Werten Ihr Typ-II-Fehler fast 1 sein muss, was Ihre Potenz nahe an 0 bringt. Mit 6 Beobachtungen kann der Shapiro-Test nicht zwischen einer Normal-, Gift-, Gleich- oder sogar Exponentialverteilung unterscheiden. Mit einem Typ II-Fehler von fast 1 ist Ihr Testergebnis bedeutungslos.
Zur Veranschaulichung der Normalitätstests mit dem 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
Das einzige, bei dem etwa die Hälfte der Werte kleiner als 0,05 ist, ist das letzte. Welches ist auch der extremste Fall.
Wenn Sie herausfinden möchten, welches Minimum n Ihnen beim Shapiro-Test eine Leistung verleiht, die Sie mögen, können Sie eine Simulation wie die folgende durchführen:
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)
})
Das gibt Ihnen eine Leistungsanalyse wie folgt:
Daraus schließe ich, dass Sie in 80% der Fälle mindestens 20 Werte benötigen, um ein Exponential von einer Normalverteilung zu unterscheiden.
Code-Plot:
plot(lowess(results[2,]~results[1,],f=1/6),type="l",col="red",
main="Power simulation for exponential distribution",
xlab="n",
ylab="power"
)