Come calcolare la somma residua dei quadrati in python


Un residuo è la differenza tra un valore osservato e un valore previsto in un modello di regressione.

Viene calcolato come segue:

Residuo = Valore osservato – Valore previsto

Un modo per capire quanto bene un modello di regressione si adatta a un set di dati è calcolare la somma residua dei quadrati , che viene calcolata come segue:

Somma residua dei quadrati = Σ(e i ) 2

Oro:

  • Σ : simbolo greco che significa “somma”
  • e i : L’iesimo residuo

Più basso è il valore, migliore è il modello che si adatta al set di dati.

Questo tutorial fornisce un esempio passo passo di come calcolare la somma residua dei quadrati per un modello di regressione in Python.

Passaggio 1: inserisci i dati

In questo esempio inseriremo i dati relativi al numero di ore trascorse a studiare, al numero totale di esami preparatori sostenuti e ai risultati degli esami ottenuti da 14 studenti diversi:

 import pandas as pd

#createDataFrame
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]})

Passaggio 2: adattare il modello di regressione

Successivamente, utilizzeremo la funzione OLS() della libreria statsmodels per eseguire una regressione ordinaria dei minimi quadrati, utilizzando “ore” ed “esami” come variabili predittive e “punteggio” come variabile di risposta:

 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                            
==================================================== ============================
Dept. Variable: R-squared score: 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. Comments: 14 AIC: 88.32
Df Residuals: 11 BIC: 90.24
Model: 2                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 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
==================================================== ============================

Passaggio 3: calcolare la somma residua dei quadrati

Possiamo utilizzare il seguente codice per calcolare la somma residua dei quadrati del modello:

 print ( model.ssr )

293.25612951525414

La somma residua dei quadrati risulta essere 293.256 .

Risorse addizionali

Come eseguire una semplice regressione lineare in Python
Come eseguire regressioni lineari multiple in Python
Calcolatore della somma residua dei quadrati

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *