Como testar dados de normalidade de uma maneira formal em R

Os métodos gráficos para verificar a normalidade dos dados em R ainda deixam muito a sua própria interpretação. Há muita discussão no mundo estatística sobre o significado destas parcelas e que pode ser visto como normal.

Se você mostrar qualquer uma destas parcelas para dez estatísticos diferentes, você pode obter dez respostas diferentes. Isso é uma conquista bastante quando você espera que um simples sim ou não, mas os estatísticos não fazem respostas simples.

Pelo contrário, tudo em estatísticas gira em torno de medição de incerteza. Esta incerteza é resumida em uma probabilidade - muitas vezes chamado de p-valor - e para calcular essa probabilidade, você precisa de um teste formal.

Provavelmente, o teste mais utilizado para a normalidade é o teste de Shapiro-Wilks. A função para executar este teste, convenientemente chamada shapiro.test (), Não poderia ser mais fácil de usar. Está dar a amostra como o único argumento, como no exemplo a seguir:

> Shapiro.test (beaver2 $ temp) Shapiro-Wilks normalidade testdata: beaver2 $ tempW = 0,9334, p-value = 7.764e-05

Esta função retorna um objeto da lista, eo valor-p está contido em um elemento chamado p.value. Assim, por exemplo, você pode extrair o valor-p simplesmente usando o seguinte código:

> resultado lt; - shapiro.test (beaver2 $ temp)> Resultado $ p.value [1] 7.763782e-05

Este valor-p diz-lhe quais são as chances de que a amostra vem de uma distribuição normal. Quanto menor este valor, menor a chance. Os estatísticos costumam usar um valor de 0,05 como ponto de corte, de modo que quando o p-valor é menor do que 0,05, você pode concluir que a amostra se desvia da normalidade.

No exemplo anterior, o valor de p é claramente menor do que 0.05 - e que não deve vir como uma surpresa com a distribuição da temperatura mostra dois picos separados. Este é nada como a curva do sino de uma distribuição normal.

Quando você escolhe um teste, você pode estar mais interessado na normalidade em cada amostra. Você pode testar ambas as amostras em uma linha usando o tapply () função, como este:

> Com (castor, tapply (temp, activ, shapiro.test)

Este código devolve os resultados de um teste de Shapiro-Wilks na temperatura para cada grupo especificado pela variável activ.

As pessoas muitas vezes referem-se ao teste de Kolmogorov-Smirnov para testar a normalidade. Você realizar o teste usando a ks.test () função na base de R. Mas esta função R não é adequado para testar desvio normality- você pode usá-lo apenas para comparar diferentes distribuições.

menu