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

Tambahkan komentar

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