R တွင် variance inflation factor (vif) ကို တွက်နည်း
ဆုတ်ယုတ်မှု ခွဲခြမ်းစိတ်ဖြာမှုတွင် Multicollinearity သည် ဆုတ်ယုတ်မှုပုံစံတွင် ထူးခြားသော သို့မဟုတ် အမှီအခိုကင်းသော အချက်အလက်များကို ပေးစွမ်းနိုင်ခြင်း မရှိသည့် ကိန်းရှင်နှစ်ခု သို့မဟုတ် ထို့ထက်ပိုသော ကိန်းရှင်များသည် တစ်ခုနှင့်တစ်ခု အလွန်ဆက်စပ်နေသောအခါတွင် ဖြစ်ပေါ်သည်။
ကိန်းရှင်များကြားတွင် ဆက်စပ်ဆက်စပ်မှုဒီဂရီသည် လုံလောက်စွာမြင့်မားပါက၊ ၎င်းသည် ဆုတ်ယုတ်မှုပုံစံကို အံဝင်ခွင်ကျဖြစ်စေပြီး ဘာသာပြန်ဆို ရာတွင် ပြဿနာများဖြစ်စေနိုင်သည်။
Multicollinearity ကိုသိရှိရန် အသုံးအများဆုံးနည်းလမ်းမှာ ဆုတ်ယုတ်မှုပုံစံတစ်ခုရှိ ခန့်မှန်းသူကိန်းရှင်များကြားရှိ ဆက်နွယ်မှု နှင့် ခိုင်ခံ့မှုကို တိုင်းတာသည့် varianance inflation factor (VIF) ကို အသုံးပြုခြင်းဖြစ်သည်။
VIF တန်ဖိုးသည် 1 မှစတင်ပြီး အထက်ကန့်သတ်ချက်မရှိပါ။ VIF များကို ဘာသာပြန်ခြင်းအတွက် ယေဘူယျစည်းမျဉ်းမှာ-
- 1 ၏တန်ဖိုးသည် ပေးထားသော ခန့်မှန်းပေးသူကိန်းရှင်နှင့် မော်ဒယ်ရှိ အခြားကြိုတင်ခန့်မှန်းကိန်းရှင်ကြား ဆက်နွယ်မှုမရှိကြောင်း ညွှန်ပြသည်။
- 1 နှင့် 5 ကြားရှိ တန်ဖိုးသည် ပေးထားသော ခန့်မှန်းပေးသူ ကိန်းရှင်နှင့် မော်ဒယ်ရှိ အခြားသော ခန့်မှန်းသူ ကိန်းရှင်များကြား အလယ်အလတ် ဆက်စပ်မှုကို ညွှန်ပြသော်လည်း အထူးသတိထားရန် လိုအပ်လောက်အောင် ပြင်းထန်လေ့မရှိပါ။
- 5 ထက်ကြီးသောတန်ဖိုးသည် ပေးထားသော ခန့်မှန်းသူကိန်းရှင်နှင့် မော်ဒယ်ရှိ အခြားကြိုတင်ခန့်မှန်းကိန်းရှင်များကြား ဖြစ်နိုင်ချေရှိသော ပြင်းထန်သောဆက်စပ်မှုကို ညွှန်ပြသည်။ ဤကိစ္စတွင်၊ ဆုတ်ယုတ်မှုရလဒ်များတွင် ကိန်းဂဏန်းခန့်မှန်းချက်များနှင့် p-တန်ဖိုးများသည် ယုံကြည်စိတ်ချရဖွယ်မရှိပေ။
မြင့်မားသော VIF တန်ဖိုးများကို ဘေးကင်းစွာ လျစ်လျူရှုထားနိုင်သည့် အချို့ကိစ္စများရှိကြောင်း သတိပြုပါ။
R ဖြင့် VIF တွက်နည်း
R တွင် ဆုတ်ယုတ်မှုပုံစံအတွက် VIF တွက်ချက်နည်းကို သရုပ်ဖော်ရန်၊ တပ်ဆင်ထားသော mtcars ဒေတာအတွဲကို အသုံးပြုပါမည်။
#view first six lines of mtcars
head(mtcars)
# mpg cyl disp hp drat wt qsec vs am gear carb
#Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
#Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
#Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
#Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
#Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
#Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
ပထမဦးစွာ၊ ကျွန်ုပ်တို့သည် ကြိုတင်ခန့်မှန်းကိန်းရှင်များအဖြစ် တုံ့ပြန်မှုကိန်းရှင်နှင့် disp ၊ hp ၊ wt နှင့် drat အဖြစ် mpg ကို အသုံးပြု၍ ဆုတ်ယုတ်မှုပုံစံကို ဖြည့်သွင်းပါမည်-
#fit the regression model model <- lm(mpg ~ disp + hp + wt + drat, data = mtcars) #view the output of the regression model summary(model) #Call: #lm(formula = mpg ~ disp + hp + wt + drat, data = mtcars) # #Residuals: # Min 1Q Median 3Q Max #-3.5077 -1.9052 -0.5057 0.9821 5.6883 # #Coefficients: #Estimate Std. Error t value Pr(>|t|) #(Intercept) 29.148738 6.293588 4.631 8.2e-05 *** #available 0.003815 0.010805 0.353 0.72675 #hp -0.034784 0.011597 -2.999 0.00576 ** #wt -3.479668 1.078371 -3.227 0.00327 ** #drat 1.768049 1.319779 1.340 0.19153 #--- #Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 # #Residual standard error: 2.602 on 27 degrees of freedom #Multiple R-squared: 0.8376, Adjusted R-squared: 0.8136 #F-statistic: 34.82 on 4 and 27 DF, p-value: 2.704e-10
မော်ဒယ်၏ R နှစ်ထပ်ကိန်းတန်ဖိုးသည် 0.8376 ဖြစ်သည်ကို ရလဒ်မှ ကျွန်ုပ်တို့ မြင်တွေ့နိုင်သည်။ အလုံးစုံ F ကိန်းဂဏန်း သည် 34.82 ဖြစ်ပြီး သက်ဆိုင်ရာ p-value သည် 2.704e-10 ဖြစ်ပြီး၊ အလုံးစုံ ဆုတ်ယုတ်မှုပုံစံသည် သိသာထင်ရှားကြောင်း ညွှန်ပြနေပါသည်။ ထို့အပြင်၊ ခန့်မှန်းသူကိန်းရှင်များ hp နှင့် wt သည် 0.05 အရေးပါမှုအဆင့်တွင် ကိန်းဂဏန်းအရ သိသာထင်ရှားသော်လည်း disp နှင့် drat မရှိပါ။
ထို့နောက်၊ ကျွန်ုပ်တို့သည် မော်ဒယ်ရှိ ခန့်မှန်းသူကိန်းရှင်တစ်ခုစီအတွက် VIF ကို တွက်ချက် ရန် စာကြည့်တိုက်၏ vive() လုပ်ဆောင်ချက်ကို အသုံးပြုပါမည်။
#load the car library library(car) #calculate the VIF for each predictor variable in the model lively(model) # disp hp wt drat #8.209402 2.894373 5.096601 2.279547
disp နှင့် wt အတွက် VIF များသည် 5 ထက် ပိုများသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်၊ ၎င်းသည် ဆက်စပ်နိုင်ချေရှိသည်။
VIF တန်ဖိုးများကိုကြည့်ရှုခြင်း။
ခန့်မှန်းသူ variable တစ်ခုစီအတွက် VIF တန်ဖိုးများကို မြင်သာစေရန်၊ ကျွန်ုပ်တို့သည် ရိုးရှင်းသော အလျားလိုက်ဘားဇယားတစ်ခုကို ဖန်တီးပြီး 5 တွင် ဒေါင်လိုက်မျဉ်းတစ်ခုကို ထည့်နိုင်သောကြောင့် မည်သည့် VIF တန်ဖိုးများသည် 5 ထက်ကျော်လွန်သည်ကို ရှင်းလင်းစွာမြင်နိုင်သည်-
#create vector of VIF values vive_values <- vive(model) #create horizontal bar chart to display each VIF value barplot(vif_values, main = "VIF Values", horiz = TRUE, col = "steelblue") #add vertical line at 5 abline(v = 5, lwd = 3, lty = 2)
ကြိုတင်ခန့်မှန်းကိန်းရှင်များစွာရှိသည့် မော်ဒယ်အတွက် ဤဇယားအမျိုးအစားသည် အသုံးဝင်ဆုံးဖြစ်မည်ကို သတိပြုပါ၊ ထို့ကြောင့် ကျွန်ုပ်တို့သည် VIF တန်ဖိုးများအားလုံးကို တစ်ပြိုင်နက်ကြည့်ရှုနိုင်မည်ဖြစ်သည်။ သို့သော် ဤဥပမာတွင် အသုံးဝင်သောဇယားတစ်ခုဖြစ်သည်။
မော်ဒယ်တွင် ထည့်သွင်းရန် သင်အလွန်မြင့်သည်ဟု သင်ယူဆသည့် VIF တန်ဖိုးပေါ်မူတည်၍ အချို့သော ကြိုတင်ခန့်မှန်းကိန်းရှင်များကို ဖယ်ရှားရန် သင်ရွေးချယ်နိုင်ပြီး မော်ဒယ်၏ သက်ဆိုင်ရာ R-squared တန်ဖိုး သို့မဟုတ် စံလွဲချော်မှု အပေါ် သက်ရောက်မှုရှိမရှိ ကြည့်ရှုနိုင်ပါသည်။
ခန့်မှန်းသူကိန်းရှင်များကြား ဆက်စပ်မှုများကို မြင်ယောင်ခြင်း။
ကြိုတင်ခန့်မှန်းကိန်းရှင်တစ်ခုသည် မြင့်မားသော VIF တန်ဖိုးရှိနိုင်သည်ကို ပိုမိုကောင်းမွန်စွာနားလည်ရန်၊ ကိန်းရှင်အတွဲတစ်ခုစီကြားရှိ linear correlation coefficients ကိုပြသရန် ဆက်စပ်မက်ထရစ်တစ်ခုကို ကျွန်ုပ်တို့ဖန်တီးနိုင်သည်-
#define the variables we want to include in the correlation matrix data <- mtcars[, c("disp", "hp", "wt", "drat")] #create correlation matrix cor(data) # disp hp wt drat #available 1.0000000 0.7909486 0.8879799 -0.7102139 #hp 0.7909486 1.0000000 0.6587479 -0.4487591 #wt 0.8879799 0.6587479 1.0000000 -0.7124406 #drat -0.7102139 -0.4487591 -0.7124406 1.0000000
disp variable တွင် 8 ထက်ကြီးသော VIF တန်ဖိုး ရှိသည်၊ ၎င်းသည် model ရှိ ကြိုတင်ခန့်မှန်းကိန်းရှင်များကြားတွင် အမြင့်ဆုံး VIF တန်ဖိုးဖြစ်သည်။ ဆက်စပ် matrix မှ၊ disp သည် အခြားသော ကြိုတင်ခန့်မှန်းကိန်းရှင် သုံးခုနှင့် အလွန်ဆက်စပ်နေကြောင်း ကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်၊ ၎င်းသည် ၎င်း၏ VIF တန်ဖိုးသည် အဘယ်ကြောင့် ဤမျှမြင့်မားသည်ကို ရှင်းပြသည်။
ဤကိစ္စတွင်၊ ၎င်း၏ VIF တန်ဖိုးမြင့်မား ပြီး 0.05 အရေးပါမှုအဆင့်တွင် စာရင်းအင်းအရ သိသာထင်ရှားခြင်းမရှိသောကြောင့် မော်ဒယ်မှ disp ကို ဖယ်ရှားလိုနိုင်ပါသည်။
ဆက်စပ်မက်ထရစ်နှင့် VIF သည် အလားတူအချက်အလက်များကို သင့်အား ပေးဆောင်မည်ကို သတိပြုပါ- ကိန်းရှင်တစ်ခုသည် ဆုတ်ယုတ်မှုပုံစံတစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော အခြားကိန်းရှင်များနှင့် အလွန်ဆက်စပ်နေသည့်အခါ ၎င်းတို့နှစ်ဦးစလုံးက သင့်အား ပြောပြသည်။
နောက်ထပ်ဖတ်ရန်:
Regression ရှိ Multicollinearity နှင့် VIF အတွက်လမ်းညွှန်
ကောင်းသော R-squared တန်ဖိုးဆိုသည်မှာ အဘယ်နည်း။