É significativo testar a normalidade com um tamanho de amostra muito pequeno (por exemplo, n = 6)?

26

Eu tenho uma amostra de 6. Nesse caso, faz sentido testar a normalidade usando o teste de Kolmogorov-Smirnov? Eu usei o SPSS. Eu tenho um tamanho de amostra muito pequeno porque leva tempo para obter cada um. Se não faz sentido, quantas amostras é o número mais baixo que faz sentido testar?

Nota: fiz uma experiência relacionada ao código fonte. A amostra é o tempo gasto para codificar em uma versão do software (versão A). Na verdade, eu tenho outro tamanho de amostra 6, que é o tempo gasto para codificar em outra versão do software (versão B).

Eu gostaria de fazer o teste de hipóteses usando o teste t de uma amostra para testar se o tempo gasto na versão de código A é diferente do tempo gasto na versão de código B ou não (este é o meu H1). A pré-condição do teste t de uma amostra é que os dados a serem testados tenham que ser normalmente distribuídos. É por isso que preciso testar a normalidade.

BB01
fonte
6
Eu, por exemplo, tenho dificuldade em imaginar um contexto em que n = 6 e normalidade seriam uma hipótese que vale a pena testar. Receio que este seja um caso de um usuário inexperiente fazendo vários testes de hipóteses (execute uma regressão e depois teste a normalidade dos resíduos) e que estamos tratando dos sintomas, mas ignorando os esqueletos no armário, por assim dizer.
user603
3
@user É injusto especular sobre o interlocutor. Vamos abordar a questão, vamos? Portanto, suponha que você planeje calcular um limite superior de previsão para um valor que será usado para tomar uma decisão dispendiosa. O valor do PL será sensível às premissas de normalidade. Você tem certeza de que o processo de geração de dados não é normal, mas os dados são caros e demorados para gerar. Experiências anteriores sugerem que n=6 será suficientemente poderoso para rejeitar a normalidade. (Acabei de descrever uma estrutura padrão para programas de monitoramento de águas subterrâneas nos EUA.)
whuber
3
User603 (re seu primeiro comentário): Gostaria de salientar que @Joris não forneceu uma resposta, nem o comentário dele é acompanhado de qualquer justificativa. Se um "não" enfático é uma resposta geral válida para essa pergunta, vamos vê-la anotada como tal, com um argumento de apoio, para que possa ser avaliada pela comunidade.
whuber
2
@ whuber: eu adicionei um argumento para o enfático "não".
Joris Meys
11
@Joris Obrigado! Isso é útil e esclarecedor.
whuber

Respostas:

38

Sim.

Todos os testes de hipóteses têm duas propriedades destacadas : seu tamanho (ou "nível de significância"), um número diretamente relacionado à confiança e às taxas de falsos positivos esperados, e seu poder, que expressa a chance de falsos negativos. Quando os tamanhos das amostras são pequenos e você continua a insistir em um tamanho pequeno (alta confiança), o poder fica pior. Isso significa que testes de amostras pequenas geralmente não conseguem detectar diferenças pequenas ou moderadas. Mas eles ainda são significativos .

O teste KS avalia se a amostra parece ter vindo de uma distribuição Normal. Uma amostra de seis valores terá que parecer altamente normal para falhar neste teste. Mas, se houver, você poderá interpretar essa rejeição do nulo exatamente como o interpretaria com tamanhos de amostra mais altos. Por outro lado, se o teste falhar em rejeitar a hipótese nula, isso indica pouco, devido à alta taxa de falsos negativos. Em particular, seria relativamente arriscado agir como se a distribuição subjacente fosse Normal.

Mais uma coisa a ser observada aqui: alguns softwares usam aproximações para calcular valores-p a partir das estatísticas de teste. Freqüentemente, essas aproximações funcionam bem para amostras grandes, mas agem mal em amostras muito pequenas. Nesse caso, você não pode confiar que o valor p foi calculado corretamente, o que significa que você não pode ter certeza de que o tamanho de teste desejado foi atingido. Para detalhes, consulte a documentação do software.

Alguns conselhos: O teste KS é substancialmente menos poderoso para testar a normalidade do que outros testes construídos especificamente para esse fim. O melhor deles é provavelmente o teste de Shapiro-Wilk , mas outros comumente usados ​​e quase tão poderosos são os Shapiro-Francia e Anderson-Darling .

Este gráfico exibe a distribuição da estatística de teste Kolmogorov-Smirnov em 10.000 amostras de seis variáveis ​​normalmente distribuídas:

Histograma da estatística KS

Com base em 100.000 amostras adicionais, o percentil 95 superior (que estima o valor crítico para esta estatística para um teste de tamanho ) é 0,520. Um exemplo de uma amostra que passa neste teste é o conjunto de dadosα=5%

0.000, 0.001, 0.002, 1.000, 1.001, 1000000

A estatística do teste é 0,5 (que é menor que o valor crítico). Essa amostra seria rejeitada usando os outros testes de normalidade.

whuber
fonte
10
Eu acho que qualquer distribuição que dá um sig. o resultado com N = 6 será tão normal que passará na IOTT com cores vivas - esse é o teste de trauma interocular. Isso bate em você entre os olhos.
Peter Flom - Restabelece Monica
2
N=6N=6
Apenas por diversão, tentei set.seed (3833782) x <- runif (6) ks.test (x, pnorm) Isso foi significativo em p = 0,04. Para que isso possa acontecer
Peter Flom - Restabelece Monica
4
@ Peter Good! Um teste KS para normalidade rejeitou uma amostra uniforme. Isso é o que se espera.
whuber
3
set.seed(140);x=rnorm(6);ks.test(x,pnorm)produz p-value = 0.0003255. É claro que eu tinha de experimentá-lo com 140 sementes antes que eu encontrei isso ...
Spacedman
20

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:

insira a descrição da imagem aqui

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"
)
Joris Meys
fonte
2
@ whuber: sobre a lógica do teste de hipóteses: em qual caso você está interessado na hipótese alternativa? Em todas as aplicações desses testes que eu já vi, as pessoas estão interessadas na confirmação do nulo: meus dados não diferem significativamente de uma distribuição normal. É por isso que enfatizo o erro tipo II.
Joris Meys
4
n5
4
n=8n
3
@ whuber: Teremos que concordar em diferir. Não sou totalmente fã das diretrizes da EPA (e definitivamente não da FDA). Eu já vi isso abusado muitas vezes para ainda acreditar na sua utilidade. A chance é uma coisa estranha e, com apenas 6 casos, altamente imprevisível. Não acredito que você possa dizer algo sobre uma função complexa como um PDF com base em apenas 6 observações. YMMV
Joris Meys
5
@ImAlso O teste t pode tolerar muita não normalidade se for bastante simétrico, mas não pode tolerar muita assimetria. (De fato, um teste de assimetria da normalidade pode realmente ser uma opção melhor no OP do que o teste KS, exatamente por esse motivo.) Isso aponta uma das maiores diferenças entre testes de ajuste de qualidade e outros testes de hipótese: há uma enorme o espaço de alternativas possíveis e os testes do GoF tendem a ser bons contra alguns deles, mas não contra outros. Você não pode fazê-los funcionar bem contra todas as alternativas.
whuber
-2

A pergunta colocada aqui tem alguns conceitos errôneos de que o motivo da verificação de normalidade é necessária para um tamanho de amostra igual a 6. Aqui, o objetivo principal é "testar se o tempo gasto na versão de código A é diferente do tempo gasto na versão de código B ou não ( Este é o meu H1) ”. Quando a palavra "diferir" é usada, é um teste de cauda ?. No entanto, o teste de normalidade é um segundo passo. O primeiro passo é verificar a adequação da potência pré-determinada (1-β) do teste para um determinado tamanho de amostra quando a potência é muito ruim, então qual é a utilidade do teste da condição de normalidade ?. A verificação da condição de normalidade nos ajudará a decidir se deve fazer o teste Paramétrico ou Não Paramétrico ?. Se o tamanho da sua amostra não possui energia adequada, por que você deve pensar em testar a Normalidade?

user202344
fonte
(-1) Isso não é muito claro. Leia esta página sobre como responder a perguntas: stats.stackexchange.com/help/how-to-answer
mkt - Restabelece Monica