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