Comment calculer la somme résiduelle des carrés en Python



Un résidu est la différence entre une valeur observée et une valeur prédite dans un modèle de régression.

Il est calculé comme suit :

Résiduel = Valeur observée – Valeur prédite

Une façon de comprendre dans quelle mesure un modèle de régression s’adapte à un ensemble de données consiste à calculer la somme des carrés résiduelle , qui est calculée comme suit :

Somme résiduelle des carrés = Σ(e i ) 2

où:

  • Σ : Un symbole grec qui signifie « somme »
  • e i : Le i ème résidu

Plus la valeur est faible, mieux le modèle s’adapte à un ensemble de données.

Ce didacticiel fournit un exemple étape par étape de la façon de calculer la somme résiduelle des carrés pour un modèle de régression en Python.

Étape 1 : Saisissez les données

Pour cet exemple, nous saisirons les données relatives au nombre d’heures passées à étudier, au nombre total d’examens préparatoires passés et aux résultats des examens obtenus par 14 étudiants différents :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'hours': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6, 5],
                   'exams': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2, 4],
                   'score': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96, 90]})

Étape 2 : Ajuster le modèle de régression

Ensuite, nous utiliserons la fonction OLS() de la bibliothèque statsmodels pour effectuer une régression des moindres carrés ordinaires, en utilisant « heures » et « examens » comme variables prédictives et « score » comme variable de réponse :

import statsmodels.api as sm

#define response variable
y = df['score']

#define predictor variables
x = df[['hours', 'exams']]

#add constant to predictor variables
x = sm.add_constant(x)

#fit linear regression model
model = sm.OLS(y, x).fit()

#view model summary
print(model.summary())

                            OLS Regression Results                            
==============================================================================
Dep. Variable:                  score   R-squared:                       0.722
Model:                            OLS   Adj. R-squared:                  0.671
Method:                 Least Squares   F-statistic:                     14.27
Date:                Sat, 02 Jan 2021   Prob (F-statistic):           0.000878
Time:                        15:58:35   Log-Likelihood:                -41.159
No. Observations:                  14   AIC:                             88.32
Df Residuals:                      11   BIC:                             90.24
Df Model:                           2                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const         71.8144      3.680     19.517      0.000      63.716      79.913
hours          5.0318      0.942      5.339      0.000       2.958       7.106
exams         -1.3186      1.063     -1.240      0.241      -3.658       1.021
==============================================================================
Omnibus:                        0.976   Durbin-Watson:                   1.270
Prob(Omnibus):                  0.614   Jarque-Bera (JB):                0.757
Skew:                          -0.245   Prob(JB):                        0.685
Kurtosis:                       1.971   Cond. No.                         12.1
==============================================================================

Étape 3 : Calculer la somme résiduelle des carrés

Nous pouvons utiliser le code suivant pour calculer la somme des carrés résiduelle du modèle :

print(model.ssr)

293.25612951525414

La somme résiduelle des carrés s’avère être 293,256 .

Ressources additionnelles

Comment effectuer une régression linéaire simple en Python
Comment effectuer une régression linéaire multiple en Python
Calculateur de la somme résiduelle des carrés

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *