Introduction à la régression avec statsmodels en Python
Maarten Van den Broeck
Content Developer at DataCamp
Brème commune

Perche

Parfois appelé « r au carré » ou « R au carré ».
La proportion de la variance de la variable de réponse qui est prévisible à partir de la variable explicative
1 signifie un ajustement parfait0 signifie le pire ajustement possibleExaminer la valeur intitulée « R au carré »
mdl_bream = ols("mass_g ~ length_cm", data=bream).fit()
print(mdl_bream.summary())
# Some lines of output omitted
OLS Regression Results
Dep. Variable: mass_g R-squared: 0.878
Model: OLS Adj. R-squared: 0.874
Method: Least Squares F-statistic: 237.6
print(mdl_bream.rsquared)
0.8780627095147174
coeff_determination = bream["length_cm"].corr(bream["mass_g"]) ** 2
print(coeff_determination)
0.8780627095147173

mse = mdl_bream.mse_resid
print('mse: ', mse)
mse: 5498.555084973521
rse = np.sqrt(mse)
print("rse: ", rse)
rse: 74.15224261594197
residuals_sq = mdl_bream.resid ** 2
print("residuals sq:
", residuals_sq)
residuals sq:
0 138.957118
1 260.758635
2 5126.992578
3 1318.919660
4 390.974309
...
30 2125.047026
31 6576.923291
32 206.259713
33 889.335096
34 7665.302003
Length: 35, dtype: float64
residuals_sq = mdl_bream.resid ** 2
resid_sum_of_sq = sum(residuals_sq)
print("resid sum of sq :",
resid_sum_of_sq)
resid sum of sq : 181452.31780412616
residuals_sq = mdl_bream.resid ** 2
resid_sum_of_sq = sum(residuals_sq)
deg_freedom = len(bream.index) - 2
print("deg freedom: ", deg_freedom)
Le nombre de degrés de liberté correspond au nombre d'observations moins le nombre de coefficients du modèle.
deg freedom: 33
residuals_sq = mdl_bream.resid ** 2
resid_sum_of_sq = sum(residuals_sq)
deg_freedom = len(bream.index) - 2
rse = np.sqrt(resid_sum_of_sq/deg_freedom)
print("rse :", rse)
rse : 74.15224261594197
mdl_bream a un RSE de 74.
La différence entre les masses prévues et les masses observées pour les brèmes communes est généralement d'environ 74 g.
residuals_sq = mdl_bream.resid ** 2
resid_sum_of_sq = sum(residuals_sq)
deg_freedom = len(bream.index) - 2
rse = np.sqrt(resid_sum_of_sq/deg_freedom)
print("rse :", rse)
rse : 74.15224261594197
residuals_sq = mdl_bream.resid ** 2
resid_sum_of_sq = sum(residuals_sq)
n_obs = len(bream.index)
rmse = np.sqrt(resid_sum_of_sq/n_obs)
print("rmse :", rmse)
rmse : 72.00244396727619
Introduction à la régression avec statsmodels en Python