Python'da regresyon modellerinin aic'si nasıl hesaplanır


Akaike Bilgi Kriteri (AIC), farklı regresyon modellerinin uyumunu karşılaştırmak için kullanılan bir ölçümdür.

Aşağıdaki şekilde hesaplanır:

AIC = 2K – 2 ln (L)

Altın:

  • K: Model parametrelerinin sayısı. K’nin varsayılan değeri 2’dir, dolayısıyla yalnızca bir tahmin değişkeni olan bir modelin K değeri 2+1 = 3 olacaktır.
  • ln (L) : Modelin log-olasılığı. Bu bize veriler göz önüne alındığında modelin olasılığını söyler.

AIC, verilerdeki en fazla varyasyonu açıklayan modeli bulmak ve aşırı sayıda parametre kullanan modelleri cezalandırmak için tasarlanmıştır.

Birden fazla regresyon modelini yerleştirdikten sonra her modelin AIC değerini karşılaştırabilirsiniz. En düşük AIC değerine sahip model en iyi uyumu sağlar.

Python’da çoklu regresyon modellerinin AIC’sini hesaplamak için, bize belirli bir model için AIC değerini söyleyen aic adlı bir özelliğe sahip olan statsmodels.regression.linear_model.OLS() fonksiyonunu kullanabiliriz.

Aşağıdaki örnek, Python’daki çeşitli regresyon modelleri için AIC’yi hesaplamak ve yorumlamak amacıyla bu işlevin nasıl kullanılacağını gösterir.

Örnek: Python’da AIC’yi hesaplamak ve yorumlamak

Diyelim ki mtcars veri kümesindeki değişkenleri kullanarak iki farklı çoklu doğrusal regresyon modelini uydurmak istiyoruz.

İlk olarak bu veri kümesini yükleyeceğiz:

 from sklearn. linear_model import LinearRegression
import statsmodels. api as sm
import pandas as pd

#define URL where dataset is located
url = "https://raw.githubusercontent.com/Statorials/Python-Guides/main/mtcars.csv"

#read in data
data = pd. read_csv (url)

#view head of data
data. head ()

        model mpg cyl disp hp drat wt qsec vs am gear carb
0 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
1 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
2 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
3 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
4 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2

Her modelde kullanacağımız tahmin değişkenleri şunlardır:

  • Model 1’deki tahmin değişkenleri: disp, hp, wt, qsec
  • Model 2’deki tahmin değişkenleri: disp, qsec

Aşağıdaki kod, ilk modelin nasıl yerleştirileceğini ve AIC’nin nasıl hesaplanacağını gösterir:

 #define response variable
y = data['mpg']

#define predictor variables
x = data[['disp', 'hp', 'wt', 'qsec']]

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

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

#view AIC of model
print (model. aic )

157.06960941462438

Bu modelin AIC’si 157.07 olarak çıkıyor.

Daha sonra ikinci modeli yerleştirip AIC’yi hesaplayacağız:

 #define response variable
y = data['mpg']

#define predictor variables
x = data[['disp', 'qsec']]

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

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

#view AIC of model
print (model. aic )

169.84184864154588

Bu modelin AIC’si 169,84 olarak çıkıyor.

İlk model daha düşük AIC değerine sahip olduğundan en uygun modeldir.

Bu modeli en iyi olarak belirledikten sonra, model uyumuna geçebilir ve tahmin değişkenleri seti ile yanıt değişkeni arasındaki kesin ilişkiyi belirlemek için R-kare değeri ve beta katsayıları dahil sonuçları analiz edebiliriz.

Ek kaynaklar

Python’da Doğrusal Regresyon İçin Tam Bir Kılavuz
Python’da düzeltilmiş R-kare nasıl hesaplanır

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir