Cara menghitung jumlah sisa kuadrat dengan python


Residual adalah selisih antara nilai observasi dan nilai prediksi dalam model regresi.

Ini dihitung sebagai berikut:

Sisa = Nilai yang diamati – Nilai yang diprediksi

Salah satu cara untuk memahami seberapa cocok model regresi dengan kumpulan data adalah dengan menghitung jumlah sisa kuadrat , yang dihitung sebagai berikut:

Jumlah sisa kuadrat = Σ( ei ) 2

Emas:

  • Σ : Simbol Yunani yang berarti “jumlah”
  • e i : Residu ke -i

Semakin rendah nilainya, semakin baik model tersebut cocok dengan kumpulan data.

Tutorial ini memberikan contoh langkah demi langkah tentang cara menghitung jumlah sisa kuadrat untuk model regresi dengan Python.

Langkah 1: Masukkan datanya

Untuk contoh ini, kami akan memasukkan data terkait jumlah jam belajar, jumlah total ujian persiapan yang diambil, dan hasil ujian yang diperoleh 14 siswa berbeda:

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

Langkah 2: Sesuaikan model regresi

Selanjutnya, kita akan menggunakan fungsi OLS() dari pustaka statsmodels untuk melakukan regresi kuadrat terkecil biasa, menggunakan “jam” dan “ujian” sebagai variabel prediktor dan “skor” sebagai variabel respons:

 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
==================================================== ============================

Langkah 3: Hitung jumlah sisa kuadrat

Kita dapat menggunakan kode berikut untuk menghitung jumlah sisa kuadrat model:

 print ( model.ssr )

293.25612951525414

Jumlah sisa kuadratnya adalah 293.256 .

Sumber daya tambahan

Cara melakukan regresi linier sederhana dengan Python
Cara melakukan regresi linier berganda dengan Python
Kalkulator Jumlah Sisa Kuadrat

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *