Python'da artık kareler toplamı nasıl hesaplanır?
Artık, bir regresyon modelinde gözlemlenen bir değer ile tahmin edilen bir değer arasındaki farktır.
Aşağıdaki şekilde hesaplanır:
Artık = Gözlemlenen değer – Tahmin edilen değer
Bir regresyon modelinin bir veri kümesine ne kadar iyi uyduğunu anlamanın bir yolu, aşağıdaki gibi hesaplanan kalan kareler toplamını hesaplamaktır:
Artık kareler toplamı = Σ(e i ) 2
Altın:
- Σ : “toplam” anlamına gelen Yunanca bir sembol
- e i : i’inci kalıntı
Değer ne kadar düşük olursa model veri setine o kadar iyi uyar.
Bu eğitimde Python’da bir regresyon modeli için kalan kareler toplamının nasıl hesaplanacağına dair adım adım bir örnek sunulmaktadır.
1. Adım: Verileri girin
Bu örnekte ders çalışmak için harcanan saat sayısı, girilen toplam hazırlık sınavı sayısı ve 14 farklı öğrencinin aldığı sınav sonuçlarına ilişkin verileri gireceğiz:
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]})
Adım 2: Regresyon modelini yerleştirin
Daha sonra, tahmin değişkenleri olarak “saatler” ve “sınavlar”ı ve yanıt değişkeni olarak “puan”ı kullanarak sıradan bir en küçük kareler regresyonu gerçekleştirmek için statsmodels kütüphanesindeki OLS() işlevini kullanacağız :
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
==================================================== ============================
Adım 3: Kalan kareler toplamını hesaplayın
Modelin kalan kareler toplamını hesaplamak için aşağıdaki kodu kullanabiliriz:
print ( model.ssr )
293.25612951525414
Kalan kareler toplamı 293.256 olarak çıkıyor.
Ek kaynaklar
Python’da basit doğrusal regresyon nasıl gerçekleştirilir
Python’da çoklu doğrusal regresyon nasıl gerçekleştirilir
Artık Kareler Toplamı Hesaplayıcı