Python ရှိ regression မော်ဒယ်များ၏ aic တွက်ချက်နည်း
Akaike Information Criterion (AIC) သည် မတူညီသော ဆုတ်ယုတ်မှုပုံစံများ၏ အံအားသင့်မှုကို နှိုင်းယှဉ်ရန် အသုံးပြုသည့် မက်ထရစ်တစ်ခုဖြစ်သည်။
အောက်ပါအတိုင်း တွက်ချက်သည်။
AIC = 2K – 2 ln (L)
ရွှေ-
- K- မော်ဒယ် ကန့်သတ်ချက်များ အရေအတွက်။ K ၏ မူရင်းတန်ဖိုးသည် 2 ဖြစ်သည်၊ ထို့ကြောင့် ခန့်မှန်းသူကိန်းရှင်တစ်ခုသာရှိသော မော်ဒယ်တွင် K တန်ဖိုး 2+1 = 3 ရှိပါမည်။
- ln (L) : မော်ဒယ်၏ မှတ်တမ်းဖြစ်နိုင်ခြေ။ ၎င်းသည် ဒေတာပေးထားသော မော်ဒယ်၏ ဖြစ်နိုင်ခြေကို ပြောပြသည်။
AIC သည် ကန့်သတ်နံပါတ်များ အလွန်အကျွံသုံးသည့် မော်ဒယ်များကို အပြစ်ပေးစဉ်တွင် ဒေတာ၏ ကွဲလွဲမှုကို ရှင်းပြသည့် မော်ဒယ်ကို ရှာဖွေရန် ဒီဇိုင်းထုတ်ထားသည်။
သင်သည် များစွာသော ဆုတ်ယုတ်မှုပုံစံများကို တပ်ဆင်ပြီးသည်နှင့်၊ သင်သည် မော်ဒယ်တစ်ခုစီ၏ AIC တန်ဖိုးကို နှိုင်းယှဉ်နိုင်သည်။ အနိမ့်ဆုံး AIC ရှိသော မော်ဒယ်သည် အကောင်းဆုံး အံဝင်ခွင်ကျ ဖြစ်စေသည်။
Python ရှိ များစွာသော ဆုတ်ယုတ်မှုမော်ဒယ်များ၏ AIC ကို တွက်ချက်ရန်၊ ပေးထားသော မော်ဒယ်တစ်ခုအတွက် AIC တန်ဖိုးကို ပြောပြသည့် statsmodels.regression.linear_model.OLS() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။
အောက်ပါဥပမာသည် Python ရှိ အမျိုးမျိုးသော ဆုတ်ယုတ်မှုပုံစံများအတွက် AIC ကို တွက်ချက်ပြီး အဓိပ္ပာယ်ပြန်ဆိုရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုပုံကို ပြသထားသည်။
ဥပမာ- Python တွင် AIC ကို တွက်ချက်ပြီး ဘာသာပြန်ပါ။
mtcars dataset မှ variable များကို အသုံးပြု၍ မတူညီသော multiple linear regression model နှစ်ခုကို ကိုက်ညီလိုသည်ဆိုကြပါစို့။
ဦးစွာ၊ ဤဒေတာအတွဲကို ကျွန်ုပ်တို့ တင်ပါမည်-
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
ဤသည်မှာ မော်ဒယ်တစ်ခုစီတွင် ကျွန်ုပ်တို့အသုံးပြုမည့် ခန့်မှန်းကိန်းရှင်များဖြစ်သည်-
- မော်ဒယ် 1 တွင် ခန့်မှန်းကိန်းရှင်များ- disp၊ hp၊ wt၊ qsec
- မော်ဒယ် 2 တွင် ခန့်မှန်းကိန်းရှင်များ- disp၊ qsec
အောက်ဖော်ပြပါ ကုဒ်သည် ပထမမော်ဒယ်နှင့် အံကိုက်မည်ကဲ့သို့ 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 သည် 157.07 ဖြစ်လာသည်။
ထို့နောက်၊ ကျွန်ုပ်တို့သည် ဒုတိယမော်ဒယ်နှင့် ကိုက်ညီပြီး 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 သည် 169.84 ဖြစ်လာသည်။
ပထမမော်ဒယ်သည် AIC တန်ဖိုးနိမ့်သောကြောင့်၊ ၎င်းသည် အံဝင်ခွင်ကျ အကောင်းဆုံးမော်ဒယ်ဖြစ်သည်။
ကျွန်ုပ်တို့သည် ဤမော်ဒယ်ကို အကောင်းဆုံးအဖြစ် သတ်မှတ်ပြီးသည်နှင့်၊ ကျွန်ုပ်တို့သည် ကြိုတင်ခန့်မှန်းကိန်းရှင်အစုများနှင့် တုံ့ပြန်မှုကိန်းရှင် ၏ တိကျသောဆက်နွယ်မှုကို ဆုံးဖြတ်ရန် R-squared တန်ဖိုးနှင့် beta coefficients အပါအဝင် ရလဒ်များကို ခွဲခြမ်းစိတ်ဖြာနိုင်သည်။
ထပ်လောင်းအရင်းအမြစ်များ
Python ရှိ Linear Regression အတွက် ပြီးပြည့်စုံသော လမ်းညွှန်
Python တွင် ချိန်ညှိထားသော R-squared တွက်ချက်နည်း