Memvisualisasikan kecocokan model

Pengantar Regresi dengan statsmodels di Python

Maarten Van den Broeck

Content Developer at DataCamp

Sifat residual pada kecocokan yang baik

  • Residual berdistribusi normal
  • Rata-rata residual adalah nol
Pengantar Regresi dengan statsmodels di Python

Bream dan perch lagi

Bream: model "baik"

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

Sebar massa bream vs panjangnya, dengan garis tren, seperti sebelumnya.

Perch: model "buruk"

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

Sebar massa perch vs panjangnya, dengan garis tren, seperti sebelumnya.

Pengantar Regresi dengan statsmodels di Python

Residual vs nilai terpasang

Bream

Sebar residual vs nilai terpasang untuk model bream, dengan garis tren LOWESS. Garis tren tetap dekat sumbu x.

Perch

Sebar residual vs nilai terpasang untuk model perch, dengan garis tren LOWESS. Garis tren berbentuk V.

Pengantar Regresi dengan statsmodels di Python

Plot Q-Q

Bream

Plot Q-Q residual terstandar model bream vs kuantil teoretis. Titik-titik mengikuti garis kesetaraan, kecuali dua pencilan.

Perch

Plot Q-Q residual terstandar model perch vs kuantil teoretis. Titik-titik tidak mengikuti garis kesetaraan, terutama di sisi kanan plot.

Pengantar Regresi dengan statsmodels di Python

Plot skala-lokasi

Bream

Sebar residual terstandar akar kuadrat vs nilai terpasang untuk model bream, dengan garis tren LOWESS. Garis tren sedikit naik saat nilai terpasang meningkat.

Perch

Sebar residual terstandar akar kuadrat vs nilai terpasang untuk model perch, dengan garis tren LOWESS. Garis tren naik-turun beberapa kali saat nilai terpasang meningkat.

Pengantar Regresi dengan statsmodels di Python

residplot()

sns.residplot(x="length_cm", y="mass_g", data=bream, lowess=True)
plt.xlabel("Fitted values")
plt.ylabel("Residuals")

Sebar residual vs nilai terpasang untuk model bream, dengan garis tren LOWESS. Garis tren tetap dekat sumbu x.

Pengantar Regresi dengan statsmodels di Python

qqplot()

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

Plot QQ bream, seperti sebelumnya

Pengantar Regresi dengan statsmodels di Python

Plot skala-lokasi

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("Fitted values") plt.ylabel("Sqrt of abs val of stdized residuals")

Plot skala-lokasi bream, seperti sebelumnya

Pengantar Regresi dengan statsmodels di Python

Ayo berlatih!

Pengantar Regresi dengan statsmodels di Python

Preparing Video For Download...