Visualizando o ajuste do modelo

Introdução à Regressão com statsmodels em Python

Maarten Van den Broeck

Content Developer at DataCamp

Propriedades dos resíduos de um bom ajuste

  • Resíduos são distribuídos normalmente
  • A média dos resíduos é zero
Introdução à Regressão com statsmodels em Python

Tainha e perca novamente

Tainha: o modelo "bom"

mdl_bream = ols("mass_g ~ length_cm", data=bream).fit()

O gráfico de dispersão das massas de tainha versus seus comprimentos, com uma linha de tendência, que foi mostrado anteriormente.

Perca: o modelo "ruim"

mdl_perch = ols("mass_g ~ length_cm", data=perch).fit()

O gráfico de dispersão das massas de perca versus seus comprimentos, com uma linha de tendência, que foi mostrado anteriormente.

Introdução à Regressão com statsmodels em Python

Resíduos vs. ajustados

Tainha

Um gráfico de dispersão dos resíduos do modelo de tainha versus valores ajustados, com uma linha de tendência LOWESS. A linha de tendência permanece próxima ao eixo x.

Perca

Um gráfico de dispersão dos resíduos do modelo de perca versus valores ajustados, com uma linha de tendência LOWESS. A linha de tendência forma um V.

Introdução à Regressão com statsmodels em Python

Gráfico Q-Q

Tainha

Um gráfico Q-Q dos resíduos padronizados do modelo de tainha versus quantis teóricos. Os pontos seguem de perto a linha onde resíduos e quantis são iguais, exceto por dois outliers.

Perca

Um gráfico Q-Q dos resíduos padronizados do modelo de perca versus quantis teóricos. Os pontos não seguem de perto a linha onde resíduos e quantis são iguais, especialmente no lado direito do gráfico.

Introdução à Regressão com statsmodels em Python

Gráfico de escala-localização

Tainha

Um gráfico de dispersão dos resíduos padronizados do modelo de tainha versus valores ajustados, com uma linha de tendência LOWESS. A linha de tendência sobe levemente conforme os valores ajustados aumentam.

Perca

Um gráfico de dispersão dos resíduos padronizados do modelo de perca versus valores ajustados, com uma linha de tendência LOWESS. A linha de tendência sobe e desce várias vezes conforme os valores ajustados aumentam.

Introdução à Regressão com statsmodels em Python

residplot()

sns.residplot(x="length_cm", y="mass_g", data=bream, lowess=True)
plt.xlabel("Valores ajustados")
plt.ylabel("Resíduos")

Um gráfico de dispersão dos resíduos do modelo de tainha versus valores ajustados, com uma linha de tendência LOWESS. A linha de tendência permanece próxima ao eixo x.

Introdução à Regressão com statsmodels em Python

qqplot()

from statsmodels.api import qqplot
qqplot(data=mdl_bream.resid, fit=True, line="45")

Gráfico QQ de tainha, como visto antes

Introdução à Regressão com statsmodels em Python

Gráfico de escala-localização

model_norm_residuals_bream = mdl_bream.get_influence().resid_studentized_internal

model_norm_residuals_abs_sqrt_bream = np.sqrt(np.abs(model_norm_residuals_bream))
sns.regplot(x=mdl_bream.fittedvalues, y=model_norm_residuals_abs_sqrt_bream, ci=None, lowess=True)
plt.xlabel("Valores ajustados") plt.ylabel("Raiz do valor abs dos resíduos padronizados")

Gráfico de escala-localização de tainha, como visto antes

Introdução à Regressão com statsmodels em Python

Vamos praticar!

Introdução à Regressão com statsmodels em Python

Preparing Video For Download...