Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Teste de Normalidade dos dados

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá, William! Tudo bem?

Sua sugestão é extremamente valiosa para quem trabalha com modelos de Regressão Linear. A verificação da normalidade não é apenas um "capricho" estatístico, mas um pressuposto fundamental para que os testes de hipóteses sobre os coeficientes do modelo sejam válidos.

Analisando o código e o resultado que você compartilhou na imagem:


Análise do Teste de Shapiro-Wilk

O Teste de Shapiro-Wilk é uma das ferramentas mais robustas para verificar a normalidade em amostras pequenas e médias. No seu resultado, temos informações cruciais:

  • Estatística de Teste ($W$): 0.9933.
  • P-Value: 0.0002.
  • Decisão Estatística: Como o seu p-value (0.0002) é muito menor que o nível de significância padrão alpha (0.05), a conclusão de rejeitar a hipótese nula está correta.

O que isso significa para o seu modelo?

Como os dados da coluna precos não seguem uma distribuição normal, você pode enfrentar alguns desafios na modelagem direta:

  1. Transformação de Variáveis: Frequentemente, em dados de preços (que costumam ter assimetria à direita), aplicamos uma transformação logarítmica. Isso ajuda a "normalizar" a distribuição e a estabilizar a variância (heterocedasticidade).
  2. Influência de Outliers: O teste de Shapiro-Wilk é muito sensível a valores discrepantes. Vale verificar se existem preços muito fora da curva que estão puxando a distribuição.
  3. Análise de Resíduos: Lembre-se que, na regressão linear, a normalidade mais crítica é a dos resíduos do modelo (erro) e não necessariamente das variáveis isoladas, embora a normalidade das variáveis facilite muito o processo.

Dica para o Código

Seu código está muito bem estruturado e legível. Uma pequena melhoria para visualização em projetos de Data Science seria plotar um Histograma ou um Q-Q Plot logo após o teste:

import seaborn as sns
import matplotlib.pyplot as plt
import scipy.stats as stats

# Visualizando a distribuição
sns.histplot(dados['precos'], kde=True)
plt.title('Distribuição de Preços')
plt.show()

# Q-Q Plot para verificar desvios da normalidade
stats.probplot(dados['precos'], dist="norm", plot=plt)
plt.show()

Obrigado por compartilhar essa boa prática com a comunidade! Testar as premissas antes de rodar o modelo evita previsões tendenciosas e garante a robustez da análise.

Uma pergunta para quem está acompanhando: Além do Shapiro-Wilk, alguém aqui costuma usar o teste de D'Agostino-Pearson para amostras maiores?