A distribuição Normal é exigida em muitas situações pelas suas boas propriedades matemáticas e por isso é tão utilizada em probabilidade e estatística, como no teste t e na ANOVA. No entanto, é comum vermos a utilização de ferramentas estatísticas de testes de hipótese sem verificar primeiramente se a distribuição é Normal.

Para verificar a normalidade da distribuição vamos apresentar três ferramentas que devem ser utilizadas em conjunto: o teste Shapiro-Wilk, o histograma e o QQ-plot. Todas as três serão acompanhadas de um exemplo de como implementar no software R ao final. Porém, vale ressaltar que existem uma infinidade de outras maneiras de testar a normalidade da distribuição.

O qq-plot e o histograma

A ferramenta mais simples e a mais recomendada para verificar a distribuição dos seus dados juntamente com o histograma. O quantile plot (qq-plot) simplesmente irá dispor em um gráfico uma comparação dois a dois dos quantis teóricos de uma Normal e os quantis de seus dados. Se os pontos se concentrarem em torno de uma reta, então temos indícios de que a distribuição é Normal. Adicionalmente, o histograma lhe mostra a forma de distribuição. Quanto mais próximo da forma de sino que estamos familiarizados, maiores as evidências de normalidade.

Vejamos as duas figuras abaixo como exemplo que desejam verificar a normalidade através de um histograma e um qq-plot. A primeira são dados normais e a segunda são dados exponenciais (não normais).

teste normalidade qqplot histograma 1

Histograma e qq-plot de dados normais
testar-normalidade-qqplot

Histograma e qq-plot de dados NÃO normais

Note que o primeira gráfico possui a forma de sino característica da distribuição Normal e o qq-plot ao lado mostra os pontos bem concentrados em torno de uma reta. Porém, a segunda figura mostra o histograma decaindo conforme avançamos à direita, não tendo a forma de sino desejada, e também podemos ver um qq-plot onde os pontos não se concentram em sua maioria em torno da reta, ficando evidente nas extremidade.

Atenção ao usar apenas o qq-plot

No qq-plot é comum os pontos se afastarem da reta mesmo quando os dados são normais. Pensando nisso, note que o qq-plot da segunda figura possui um afastamento apenas nas extremidades. Se não fosse o histograma dos dados ao lado talvez poderíamos considerar de maneira incorreta a hipótese de normalidade.

O teste Shapiro-Wilk

O teste parte da hipótese nula H0 considerando a distribuição dos dados ser Normal. Assim, dado um nível de significância, geralmente estabelecido em 5%, se o teste rejeitar a hipótese, então a distribuição dos dados não é normal. Ou seja, se o p-valor é menor que o nível estabelecido 5%, então temos indícios para descartar a normalidade dos dados.

Por outro lado, se o p-valor do teste é acima dos 5% estabelecido, ou outro nível pré-definido, isso quer dizer que a hipótese de normalidade não pode ser rejeitada, mas isso não pode ser a sua decisão final! Para complementar essa verificação é preciso fazer também um QQ-plot mostrado acima.

Vejamos as saídas dos testes implementados no R abaixo. Não se preocupe que o código completo é fornecido ao final do post 😉


> shapiro.test(dds.normal)

Shapiro-Wilk normality test

data: dds.normal
W = 0.9956, p-value = 0.9876

> shapiro.test(dds.exp)

Shapiro-Wilk normality test

data: dds.exp
W = 0.91505, p-value = 7.759e-06

Veja que os p-valores (p-value) resultantes do teste Shapiro-Wilk são grandes no caso de dados normais e bem pequeno no caso exponencial (não normal).

Aliado à ferramenta visual do qq-plot e do histograma agora podemos dizer com segurança qual distribuição é normal e qual não é.

Como testar normalidade no R

Todos os gráficos e testes apresentados neste post foram gerados pelo código abaixo e implementados no software R. Se desejar, você pode copiá-lo no R ou baixar o arquivo .R clicando aqui.


### Código fornecido por www.manipulandodados.com.br ###

# Exemplo de dados simulados com distribuição normal e outro não-normal
set.seed(1)
dds.normal <- rnorm(100) dds.exp <- rexp(100) # Histogramas hist(dds.normal) hist(dds.exp) #### qq-plot + linha de referência # Se os pontos se concentrarem em torno de uma linha reta, # então temos indícios de que a distribuição é normal. qqnorm(dds.normal) qqline(dds.normal) qqnorm(dds.exp) qqline(dds.exp) #### Teste Shapiro-Wilk # Se p-value < 0.05, então está rejeitada a hipótese de # distribuição normal. Caso contrário, juntamente com o qq-plot # acima podemos considerar os dados com distribuição Normal. shapiro.test(dds.normal) # normal shapiro.test(dds.exp) # não normal

Dúvidas? Pergunte no Twitter

Você pode fazer sua pergunta para nós do Blog Manipulando Dados no Twitter. Basta clicar no botão abaixo. Não esqueça de manter o @MnplndDados para sua pergunta chegar até nós.



Como testar se uma distribuição é Normal
Classificado como:                    

7 ideias sobre “Como testar se uma distribuição é Normal

  • novembro 14, 2016 em 2:46 pm
    Permalink

    Gostaria de parabenizar a equipe manupulandodados.com.br pela capacidade de síntese de informações muitíssimas úteis para o desenvolvimento estatístico de trabalhos científicos/acadêmicos.

    Obrigado!!!

    Resposta
    • novembro 16, 2016 em 9:51 pm
      Permalink

      Obrigado, Vagner.
      Muito bom saber que estão gostando. Se não gostar de algo também, pode falar 🙂

      Resposta
  • dezembro 6, 2016 em 11:45 am
    Permalink

    muito legal o material obrigado! parabéns

    Resposta
  • janeiro 22, 2017 em 6:30 pm
    Permalink

    Excelente! Estou concluindo análise de dados do meu mestrado e estava precisando de uma informação simples, porém compreensível, sobre Distribuições Normais. Parabéns pelo conteúdo!

    Resposta
    • janeiro 22, 2017 em 11:16 pm
      Permalink

      Obrigado, Rui.
      Sempre bom saber que nossos textos estão ajudando 🙂

      Resposta
  • agosto 9, 2017 em 11:08 pm
    Permalink

    Amigo, preciso lhe parabenizar pelo blog. Bastante conteúdo numa linguagem acessivel! Parabéns pelo excelente trabalho, sou estudante de economia e muito interessado nesse universo de manipulação de dados. Já adicionei aos meus favoritos e será uma fonte constante de estudos.

    Resposta
    • agosto 10, 2017 em 3:01 pm
      Permalink

      Oi, Fernando. Obrigado! Espero que o blog lhe seja bastante útil 🙂

      Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *