Cara menghitung aic model regresi dengan python
Kriteria Informasi Akaike (AIC) adalah metrik yang digunakan untuk membandingkan kesesuaian model regresi yang berbeda.
Ini dihitung sebagai berikut:
AIC = 2K – 2 ln (L)
Emas:
- K : Jumlah parameter model. Nilai default K adalah 2, sehingga model dengan hanya satu variabel prediktor akan memiliki nilai K 2+1 = 3.
- ln (L) : Log-likelihood model. Ini memberi tahu kita probabilitas model, berdasarkan datanya.
AIC dirancang untuk menemukan model yang menjelaskan variasi data paling banyak, sekaligus memberi sanksi pada model yang menggunakan jumlah parameter berlebihan.
Setelah Anda memasang beberapa model regresi, Anda dapat membandingkan nilai AIC setiap model. Model dengan AIC terendah memberikan kesesuaian terbaik.
Untuk menghitung AIC model regresi berganda dengan Python, kita dapat menggunakan fungsi statsmodels.regression.linear_model.OLS() , yang memiliki properti bernama aic yang memberi tahu kita nilai AIC untuk model tertentu.
Contoh berikut menunjukkan cara menggunakan fungsi ini untuk menghitung dan menafsirkan AIC untuk berbagai model regresi dengan Python.
Contoh: menghitung dan menafsirkan AIC dengan Python
Katakanlah kita ingin menyesuaikan dua model regresi linier berganda yang berbeda menggunakan variabel dari dataset mtcars .
Pertama, kami akan memuat kumpulan data ini:
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
Berikut variabel prediktor yang akan kami gunakan di setiap model:
- Variabel prediktor pada model 1: disp, hp, wt, qsec
- Variabel prediktor pada model 2: disp, qsec
Kode berikut menunjukkan cara menyesuaikan model pertama dan menghitung AIC:
#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
AIC model ini ternyata 157,07 .
Selanjutnya, kita akan memasang model kedua dan menghitung AIC:
#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
AIC model ini ternyata 169,84 .
Karena model pertama memiliki nilai AIC yang lebih rendah, maka model tersebut merupakan model yang paling cocok.
Setelah kami mengidentifikasi model ini sebagai yang terbaik, kami dapat melanjutkan dengan penyesuaian model dan menganalisis hasilnya, termasuk nilai R-kuadrat dan koefisien beta, untuk menentukan hubungan yang tepat antara kumpulan variabel prediktif dan variabel respons .
Sumber daya tambahan
Panduan Lengkap Regresi Linier dengan Python
Cara menghitung R-kuadrat yang disesuaikan dengan Python