Como @whuber perguntou nos comentários, uma validação para o meu NÃO categórico. edit: com o teste shapiro, pois o teste ks de uma amostra é de fato usado incorretamente. Whuber está correto: Para o uso correto do teste Kolmogorov-Smirnov, é necessário especificar os parâmetros de distribuição e não extraí-los dos dados. No entanto, é isso que é feito em pacotes estatísticos como o SPSS para um teste KS de uma amostra.
Você tenta dizer algo sobre a distribuição e deseja verificar se pode aplicar um teste t. Portanto, esse teste é feito para confirmar que os dados não se afastam da normalidade significativamente o suficiente para invalidar as suposições subjacentes da análise. Portanto, você não está interessado no erro do tipo I, mas no erro do tipo II.
Agora é preciso definir "significativamente diferente" para poder calcular o mínimo n de potência aceitável (por exemplo, 0,8). Com distribuições, isso não é fácil de definir. Portanto, não respondi à pergunta, pois não posso dar uma resposta sensata além da regra geral que uso: n> 15 en n <50. Com base em quê? Intestino basicamente, então não posso defender essa escolha além da experiência.
Mas eu sei que com apenas 6 valores, seu erro tipo II provavelmente será quase 1, aproximando seu poder de 0. Com 6 observações, o teste de Shapiro não pode distinguir entre uma distribuição normal, poisson, uniforme ou mesmo exponencial. Com um erro do tipo II sendo quase 1, o resultado do seu teste não faz sentido.
Para ilustrar o teste de normalidade com o 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
O único local em que cerca de metade dos valores é menor que 0,05 é o último. Qual é também o caso mais extremo.
se você quiser descobrir qual é o n mínimo que lhe dá o poder que você gosta com o teste shapiro, pode-se fazer uma simulação como esta:
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)
})
que fornece uma análise de poder como esta:
dos quais concluo que você precisa de aproximadamente 20 valores para distinguir uma distribuição exponencial de uma distribuição normal em 80% dos casos.
plotagem de código:
plot(lowess(results[2,]~results[1,],f=1/6),type="l",col="red",
main="Power simulation for exponential distribution",
xlab="n",
ylab="power"
)