R တွင် ခိုင်မာသော စံအမှားများကို တွက်ချက်နည်း
linear regression ၏ ယူဆချက် တစ်ခုမှာ မော်ဒယ် အကြွင်းအကျန်များသည် ကြိုတင်ခန့်မှန်းကိန်းရှင်၏ အဆင့်တစ်ခုစီတွင် အညီအမျှ ပြန့်ကျဲနေပါသည်။
ဤယူဆချက်နှင့် မကိုက်ညီသောအခါ၊ heteroskedasticity ကို ဆုတ်ယုတ်မှုပုံစံတွင် ရှိနေသည်ဟု ဆိုသည်။
ဒီလိုဖြစ်လာတဲ့အခါ၊ မော်ဒယ်ရဲ့ ဆုတ်ယုတ်မှုကိန်းဂဏာန်းတွေရဲ့ စံအမှားတွေက ယုံကြည်လို့ မရပါဘူး။
ယင်းအတွက် ကျွန်ုပ်တို့သည် ခိုင်မာသောစံအမှားများကို တွက်ချက်နိုင်ပြီး heteroskedasticity နှင့် ဆန့်ကျင်ဘက်တွင် “ ခိုင်မာသော” နှင့် regression coefficients အတွက် စစ်မှန်သောစံအမှားတန်ဖိုးများကို ပိုမိုကောင်းမွန်သော အကြံဥာဏ်ပေးနိုင်ပါသည်။
အောက်ဖော်ပြပါ ဥပမာသည် R တွင် ဆုတ်ယုတ်မှုပုံစံအတွက် ခိုင်မာသောစံအမှားများကို တွက်ချက်နည်းကို ပြသထားသည်။
ဥပမာ- R တွင် ခိုင်မာသောစံနှုန်းအမှားများကို တွက်ချက်ခြင်း။
အတန်းတစ်ခန်းတွင် ကျောင်းသား 20 မှရရှိသော စာမေးပွဲရမှတ်များနှင့် ပတ်သက်သော အချက်အလက်များပါဝင်သော R တွင် အောက်ပါဒေတာဘောင်တစ်ခုရှိသည်ဆိုပါစို့။
#create data frame df <- data. frame (hours=c(1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 7, 8), score=c(67, 68, 74, 70, 71, 75, 80, 70, 84, 72, 88, 75, 95, 75, 99, 78, 99, 65, 96, 70)) #view head of data frame head(df) hours score 1 1 67 2 1 68 3 1 74 4 1 70 5 2 71 6 2 75
ခန့်မှန်းကိန်းရှင်ကိန်းရှင်အဖြစ် နာရီ ကိုအသုံးပြုပြီး တုံ့ပြန်မှုကိန်းရှင်အဖြစ် ရမှတ်ကို အသုံးပြုသည့် R တွင် ဆုတ်ယုတ်မှုပုံစံနှင့်ကိုက်ညီရန် lm() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။
#fit regression model fit <- lm(score ~ hours, data=df) #view summary of model summary(fit) Call: lm(formula = score ~ hours, data = df) Residuals: Min 1Q Median 3Q Max -19,775 -5,298 -3,521 7,520 18,116 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 71.158 4.708 15.11 1.14e-11 *** hours 1.945 1.075 1.81 0.087 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 10.48 on 18 degrees of freedom Multiple R-squared: 0.154, Adjusted R-squared: 0.107 F-statistic: 3.278 on 1 and 18 DF, p-value: 0.08696
ဆုတ်ယုတ်မှုပုံစံတွင် heteroskedasticity သည် ပြဿနာရှိ၊ မရှိ အမြင်အာရုံစစ်ဆေးရန် အလွယ်ဆုံးနည်းလမ်းမှာ ကျန်ရှိသောကွက်ကွက်ကို ဖန်တီးရန်ဖြစ်သည်-
#create residual vs. fitted plot plot(fitted(fit), reside(fit)) #add a horizontal line at y=0 abline(0,0)

x-axis သည် တုံ့ပြန်မှု variable ၏ တပ်ဆင်ထားသော တန်ဖိုးများကို ပြသပြီး y-axis သည် သက်ဆိုင်ရာ အကြွင်းအကျန်များကို ပြသသည်။
တပ်ဆင်ထားသောတန်ဖိုးများ တိုးလာသည်နှင့်အမျှ အကြွင်းအကျန်များ၏ ကွဲလွဲမှု တိုးလာသည်ကို ဂရပ်ဇယားမှ ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။
၎င်းသည် ဆုတ်ယုတ်မှုပုံစံတွင် ပြဿနာဖြစ်နိုင်ခြေရှိပြီး မော်ဒယ်အကျဉ်းချုပ်၏ စံလွဲချော်မှုများမှာ ယုံကြည်စိတ်ချရခြင်းမရှိကြောင်း ယင်းက ဖော်ပြသည်။
ခိုင်မာသောစံနှုန်းအမှားများကို တွက်ချက်ရန်အတွက်၊ ကျွန်ုပ်တို့သည် lmtest အထုပ်မှ coeftest() လုပ်ဆောင်ချက်နှင့် vcovHC() လုပ်ဆောင်ချက်ကို အောက်ပါအတိုင်း sandwich package မှ အသုံးပြုနိုင်ပါသည်။
library (lmtest) library (sandwich) #calculate robust standard errors for model coefficients coeftest(fit, vcov = vcovHC(fit, type = ' HC0 ')) t test of coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 71.1576 3.3072 21.5160 2.719e-14 *** hours 1.9454 1.2072 1.6115 0.1245 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ယခင်မော်ဒယ်အကျဉ်းချုပ်တွင် 1.075 မှ 1.2072 သို့ 1.2072 နာရီအထိ ခန့်မှန်းတွက်ချက်နိုင်သော ကိန်းရှင်အတွက် စံအမှားကို သတိပြုပါ။
မူလဆုတ်ယုတ်မှုပုံစံတွင် မျိုးကွဲကွဲပြားမှုရှိနေသောကြောင့်၊ ဤစံလွဲချော်မှုခန့်မှန်းချက်သည် ပိုမိုယုံကြည်စိတ်ချရပြီး နာရီ ကြိုတွက်နိုင်သောကိန်းရှင်ကိန်းရှင်အတွက် ယုံကြည်မှုကြားကာလကို တွက်ချက်ရာတွင် အသုံးပြုသင့်ပါသည်။
မှတ်ချက် – vcovHC() လုပ်ဆောင်ချက်တွင် တွက်ချက်ရန် အသုံးအများဆုံး ခန့်မှန်းချက်အမျိုးအစားမှာ ‘HC0’ ဖြစ်သော်လည်း၊ အခြား ခန့်မှန်းချက်အမျိုးအစားများကို ရှာဖွေရန် စာရွက်စာတမ်း ကို ကိုးကားနိုင်ပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် R တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
R in heteroscedasticity အတွက် White ၏ စမ်းသပ်မှုကို မည်သို့လုပ်ဆောင်ရမည်နည်း။
R တွင် linear regression output ကို အဓိပ္ပာယ်ဖွင့်ဆိုပုံ
R တွင်ကျန်ရှိသောကွက်ကွက်ဖန်တီးနည်း