9  Diagnóstico de Modelos

O diagnóstico adequado de modelos de regressão linear é essencial para garantir a validade das inferências e previsões. Este capítulo explora técnicas para avaliar a adequação do modelo e identificar problemas potenciais.

9.1 Resíduos e suas Análises

Os resíduos são a diferença entre os valores observados e previstos pelo modelo. A análise dos resíduos é uma ferramenta poderosa para verificar se as suposições da regressão linear foram atendidas.

9.1.1 Tipos de Análise de Resíduos

9.1.1.1 Gráficos de Resíduos vs. Valores Ajustados

  • Propósito: Avaliar a homocedasticidade e a linearidade.

  • Interpretação: Os resíduos devem estar distribuídos aleatoriamente em torno de zero, sem padrões evidentes. Padrões sistemáticos indicam problemas na especificação do modelo.

import matplotlib.pyplot as plt

# Gráfico de resíduos
plt.scatter(y_pred, y_test - y_pred)
plt.hlines(y=0, xmin=min(y_pred), xmax=max(y_pred), colors='red')
plt.xlabel('Valores Ajustados')
plt.ylabel('Resíduos')
plt.show()

9.1.1.2 Histogramas dos Resíduos

  • Propósito: Avaliar a normalidade dos resíduos.

  • Interpretação: Os resíduos devem seguir uma distribuição aproximadamente normal. Desvios significativos podem indicar problemas com a normalidade.

plt.hist(y_test - y_pred, bins=20, edgecolor='black')
plt.xlabel('Resíduos')
plt.ylabel('Frequência')
plt.show()

9.1.1.3 Gráficos Q-Q (Quantil-Quantil)

  • Propósito: Comparar a distribuição dos resíduos com uma distribuição normal.

  • Interpretação: Se os resíduos forem normalmente distribuídos, os pontos devem seguir a linha diagonal.

import scipy.stats as stats

stats.probplot(y_test - y_pred, dist="norm", plot=plt)
plt.show()

9.2 Detecção de Outliers

Outliers podem distorcer as estimativas do modelo e influenciar a interpretação dos resultados. Identificá-los e tratá-los é crucial para a validade do modelo.

9.2.1 Métodos para Detectar Outliers

9.2.1.1 Análise Visual

Gráficos de dispersão podem ajudar a identificar outliers visualmente.

9.2.1.2 Distância de Cook

  • Propósito: Medir a influência de cada ponto na estimativa dos coeficientes de regressão.

  • Interpretação: Valores altos da distância de Cook indicam observações influentes.

import statsmodels.api as sm

# Cálculo da distância de Cook
model = sm.OLS(y_train, sm.add_constant(x_train)).fit()
influence = model.get_influence()
cooks_d = influence.cooks_distance[0]

plt.stem(np.arange(len(cooks_d)), cooks_d, markerfmt=",", use_line_collection=True)
plt.xlabel('Observação')
plt.ylabel('Distância de Cook')
plt.show()

9.2.1.3 Leverage

  • Propósito: Medir a influência de um ponto baseado em sua posição no espaço das variáveis independentes.

  • Interpretação: Pontos com high leverage têm potencial para influenciar significativamente a linha de regressão.

leverage = influence.hat_matrix_diag
plt.stem(np.arange(len(leverage)), leverage, markerfmt=",", use_line_collection=True)
plt.xlabel('Observação')
plt.ylabel('Leverage')
plt.show()

9.3 Teste de Significância para Coeficientes

Os testes de significância estatística dos coeficientes ajudam a determinar se as variáveis independentes têm um impacto significativo na variável dependente.

9.3.1 Teste t para Coeficientes

  • Propósito: Avaliar a hipótese nula de que um coeficiente é igual a zero (sem efeito).

  • Interpretação: Valores p menores que um nível de significância (geralmente 0,05) indicam que o coeficiente é significativamente diferente de zero.

# Sumário do modelo
print(model.summary())

9.3.2 Intervalos de Confiança

  • Propósito: Fornecer uma faixa de valores dentro da qual o coeficiente provavelmente se encontra.

  • Interpretação: Se o intervalo de confiança não incluir zero, o coeficiente é considerado significativo.

# Intervalos de confiança dos coeficientes
conf_intervals = model.conf_int(alpha=0.05)
print(conf_intervals)

9.4 Exercícios

Versão on-line destes exercícios

https://forms.gle/7EvTT8Y7GonA1d6R7

  1. Qual é o propósito principal da análise de resíduos em um modelo de regressão linear?

    1. Estimar os coeficientes de regressão.

    2. Verificar se as suposições do modelo foram atendidas e identificar possíveis problemas.

    3. Reduzir a variância dos resíduos.

    4. Prever novos dados usando o modelo ajustado.

  2. Qual ferramenta gráfica é mais comumente usada para verificar a normalidade dos resíduos em um modelo de regressão linear?

    1. Gráfico de dispersão

    2. Gráfico de barras

    3. Gráfico de probabilidade normal (Q-Q plot)

    4. Histograma de frequências

  3. O que indica a presença de padrões sistemáticos em um gráfico de resíduos x valores ajustados?

    1. Que os resíduos são normalmente distribuídos.

    2. Que o modelo está perfeitamente ajustado aos dados.

    3. Que pode haver uma relação não linear não capturada pelo modelo.

    4. Que os resíduos têm variância constante.

  4. Como a distância de Cook é usada no diagnóstico de modelos de regressão linear?

    1. Para determinar a normalidade dos resíduos.

    2. Para identificar pontos de dados influentes que afetam significativamente os coeficientes do modelo.

    3. Para medir a correlação entre variáveis independentes.

    4. Para calcular a soma dos quadrados dos resíduos.

  5. O que é indicado por valores altos de leverage em um diagnóstico de regressão linear?

    1. Que a variável dependente é não linear.

    2. Que a variabilidade dos resíduos é alta.

    3. Que um ponto de dados tem uma posição extrema no espaço das variáveis independentes, podendo influenciar a linha de regressão.

    4. Que os resíduos são independentes.