R တွင် ရိုးရှင်းသော မျဉ်းကြောင်းပြန်ဆုတ်ခြင်းကို မည်သို့လုပ်ဆောင်ရမည်နည်း (တစ်ဆင့်ပြီးတစ်ဆင့်)
Simple linear regression သည် single explanatory variable နှင့် single response variable အကြား ဆက်နွယ်မှုကို နားလည်ရန် ကျွန်ုပ်တို့ အသုံးပြုနိုင်သည့် နည်းပညာတစ်ခုဖြစ်သည်။
အတိုချုပ်အားဖြင့်၊ ဤနည်းပညာသည် ဒေတာကို အကောင်းဆုံး “အံကိုက်” သည့် မျဉ်းတစ်ကြောင်းကို ရှာဖွေပြီး အောက်ပါပုံစံကို ရယူသည်-
ŷ = b 0 + b 1 x
ရွှေ-
- ŷ : ခန့်မှန်းတုံ့ပြန်မှုတန်ဖိုး
- b 0 : ဆုတ်ယုတ်မှုမျဉ်း၏ မူလအစ
- b 1 : ဆုတ်ယုတ်မှုမျဉ်း၏ လျှောစောက်
ဤညီမျှခြင်းသည် ရှင်းလင်းချက်ကိန်းရှင်နှင့် တုံ့ပြန်မှုကိန်းရှင်ကြားရှိ ဆက်နွယ်မှုကို နားလည်ရန် ကူညီပေးနိုင်ပြီး (၎င်းသည် ကိန်းဂဏန်းအရ သိသာထင်ရှားသည်ဟု ယူဆပါက) ၎င်းကို ရှင်းပြချက်ကိန်းရှင်၏တန်ဖိုးကို ပေးထားသည့် တုံ့ပြန်မှုကိန်းရှင်၏တန်ဖိုးကို ခန့်မှန်းရန် အသုံးပြုနိုင်သည်။
ဤသင်ခန်းစာသည် R တွင်ရိုးရှင်းသောမျဉ်းကြောင်းဆုတ်ယုတ်မှုလုပ်ဆောင်ပုံအဆင့်ဆင့်ကိုရှင်းပြပေးပါသည်။
အဆင့် 1: ဒေတာကို တင်ပါ။
ဤဥပမာအတွက်၊ ကျွန်ုပ်တို့သည် ကျောင်းသား 15 ဦးအတွက် အောက်ပါကိန်းရှင်နှစ်ခုပါရှိသော ဒေတာအတွဲအတုကို ဖန်တီးပါမည်။
- အချို့သော စာမေးပွဲများအတွက် စုစုပေါင်း လေ့လာသည့် နာရီများ
- စာမေးပွဲရလဒ်
ရှင်းပြချက်ကိန်းရှင်နှင့် တုံ့ပြန်မှုကိန်းရှင်အဖြစ် စာမေးပွဲရလဒ်များ အဖြစ် နာရီများကို အသုံးပြု၍ ရိုးရှင်းသောမျဉ်းကြောင်းဆုတ်ယုတ်မှုပုံစံကို အံဝင်ခွင်ကျဖြစ်အောင် ကျွန်ုပ်တို့ကြိုးပမ်းပါမည်။
အောက်ပါကုဒ်သည် ဤဒေတာအတွဲအတုကို R တွင် မည်သို့ဖန်တီးရမည်ကို ပြသသည်-
#create dataset df <- data.frame(hours=c(1, 2, 4, 5, 5, 6, 6, 7, 8, 10, 11, 11, 12, 12, 14), score=c(64, 66, 76, 73, 74, 81, 83, 82, 80, 88, 84, 82, 91, 93, 89)) #view first six rows of dataset head(df) hours score 1 1 64 2 2 66 3 4 76 4 5 73 5 5 74 6 6 81 #attach dataset to make it more convenient to work with attach(df)
အဆင့် 2- ဒေတာကို မြင်ယောင်ကြည့်ပါ။
ရိုးရှင်းသော linear regression model ကို မတပ်ဆင်မီ၊ ၎င်းကို နားလည်ရန် ဒေတာကို ဦးစွာ မြင်ယောင်ကြည့်ရပါမည်။
ပထမဦးစွာ၊ ကျွန်ုပ်တို့သည် နာရီ နှင့် ရမှတ်အကြား ဆက်စပ်မှုကို ခန့်မှန်းခြေအားဖြင့် တစ်ပြေးညီဖြစ်ကြောင်း သေချာစေလိုသည်၊ ဤသည်မှာ ရိုးရှင်းသောမျဉ်းကြောင်းဆုတ်ယုတ်မှု၏ ကြီးမားသော အခြေခံယူဆချက် ဖြစ်သောကြောင့် ဖြစ်သည်။ ကိန်းရှင်နှစ်ခုကြားရှိ ဆက်စပ်မှုကို မြင်ယောင်နိုင်ရန် ရိုးရှင်းသော အပိုင်းအစတစ်ခုကို ဖန်တီးနိုင်သည်-
scatter.smooth(hours, score, main=' Hours studied vs. Exam Score ')

ဂရပ်မှ ဆက်စပ်မှုကို မျဉ်းသားပုံပေါ်ကြောင်း ကျွန်ုပ်တို့ မြင်နိုင်သည်။ နာရီအရေအတွက်များ လာသည်နှင့်အမျှ ရမှတ်သည်လည်း မျဉ်းဖြောင့်အတိုင်း တိုးလာပါသည်။
ထို့နောက် ကျွန်ုပ်တို့သည် စာမေးပွဲရလဒ်များ ဖြန့်ဝေမှုကို မြင်သာစေရန်နှင့် ကွာဟချက်များကို စစ်ဆေးရန် boxplot တစ်ခုကို ဖန်တီးနိုင်သည်။ မူရင်းအားဖြင့်၊ R သည် တတိယ quartile (Q3) ထက် 1.5 ဆ သို့မဟုတ် ပထမ quartile (Q1) အောက်ရှိ interquartile အပိုင်းအခြား 1.5 ဆ သို့မဟုတ် ကွာတားအကွာအဝေးထက် 1.5 ဆ ဖြစ်ပါက ရှုမြင်ချက်ကို အကြမ်းဖျင်းအဖြစ် သတ်မှတ်သည်။
သတိပြုစရာတစ်ခုက ပိုသာလွန်ပါက၊ ကွက်လပ်တွင် စက်ဝိုင်းငယ်တစ်ခု ပေါ်လာပါမည်-
boxplot(score)

boxplot တွင် စက်ဝိုင်းငယ်များမရှိပါ၊ ဆိုလိုသည်မှာ ကျွန်ုပ်တို့၏ဒေတာအတွဲတွင် အစွန်းထွက်များမရှိပါ။
အဆင့် 3- ရိုးရှင်းသော Linear Regression ကိုလုပ်ဆောင်ပါ။
ကျွန်ုပ်တို့၏ variables များကြားက ဆက်နွယ်မှုမှာ linear ဖြစ်ပြီး outliers များ မရှိကြောင်း အတည်ပြုပြီးသည်နှင့်၊ ရှင်းပြချက် variable အဖြစ် နာရီများကို အသုံးပြု၍ ရိုးရှင်းသော linear regression model နှင့် တုံ့ပြန်မှု variable အဖြစ် ရမှတ်တို့ကို ဆက်လက်လုပ်ဆောင်နိုင်သည်-
#fit simple linear regression model model <- lm(score~hours) #view model summary summary(model) Call: lm(formula = score ~ hours) Residuals: Min 1Q Median 3Q Max -5,140 -3,219 -1,193 2,816 5,772 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 65,334 2,106 31,023 1.41e-13 *** hours 1.982 0.248 7.995 2.25e-06 *** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.641 on 13 degrees of freedom Multiple R-squared: 0.831, Adjusted R-squared: 0.818 F-statistic: 63.91 on 1 and 13 DF, p-value: 2.253e-06
မော်ဒယ်အကျဉ်းချုပ်မှ၊ တပ်ဆင်ထားသော ဆုတ်ယုတ်မှုညီမျှခြင်းမှာ-
ရမှတ် = 65.334 + 1.982*(နာရီ)
ဆိုလိုသည်မှာ ထပ်လောင်းလေ့လာသော နာရီတိုင်းသည် ပျမ်းမျှ စာမေးပွဲရမှတ် 1,982 မှတ် တိုးလာခြင်းနှင့် ဆက်စပ်နေသည်။ 65,334 ၏မူရင်းတန်ဖိုးသည် သုညနာရီစာလေ့လာနေသည့် ကျောင်းသားအတွက် ပျမ်းမျှမျှော်မှန်းထားသော စာမေးပွဲရမှတ်ကို ပြောပြသည်။
ကျောင်းသားတစ်ဦး၏လေ့လာမှုနာရီအရေအတွက်အပေါ်အခြေခံ၍မျှော်လင့်ထားသောစာမေးပွဲရမှတ်ကိုရှာဖွေရန်ဤညီမျှခြင်းကိုလည်းအသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်၊ 10 နာရီကြာလေ့လာသော ကျောင်းသားသည် စာမေးပွဲရမှတ် 85.15 ရရှိသင့်သည် ။
ရမှတ် = 65.334 + 1.982*(10) = 85.15
ကျန်မော်ဒယ်အကျဉ်းချုပ်ကို ဤအရာက မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-
- Pr(>|t|) : ၎င်းသည် မော်ဒယ်ဖော်ကိန်းများနှင့် ဆက်စပ်နေသည့် p-တန်ဖိုးဖြစ်သည်။ နာရီ များအတွက် p-value (2.25e-06) သည် 0.05 ထက် သိသိသာသာ နည်းနေသောကြောင့်၊ နာရီ နှင့် ရမှတ် ကြားတွင် ကိန်းဂဏန်းအရ သိသာထင်ရှားသော ဆက်စပ်မှုရှိသည်ဟု ကျွန်ုပ်တို့ပြောနိုင်သည်။
- Multiple R-squared- စာမေးပွဲရမှတ်များတွင် ကွဲလွဲမှုရာခိုင်နှုန်းကို လေ့လာသည့်နာရီအရေအတွက်ဖြင့် ရှင်းပြနိုင်သည်ဟု ဤနံပါတ်က ကျွန်ုပ်တို့အား ပြောပြသည်။ ယေဘူယျအားဖြင့်၊ regression model တစ်ခု၏ R-squared တန်ဖိုး ပိုကြီးလေ၊ explanatory variables များသည် response variable ၏ တန်ဖိုးကို ခန့်မှန်းနိုင်လေဖြစ်သည်။ ဤကိစ္စတွင်၊ ရမှတ်များကွဲလွဲမှု၏ 83.1% ကို နာရီများဖြင့် ရှင်းပြနိုင်သည်။
- ကျန်နေသောစံလွဲချော်မှု- ဤသည်မှာ သတိပြုမိသောတန်ဖိုးများနှင့် ဆုတ်ယုတ်မှုမျဉ်းကြားရှိ ပျမ်းမျှအကွာအဝေးဖြစ်သည်။ ဤတန်ဖိုးနိမ့်လေ၊ ဆုတ်ယုတ်မှုမျဉ်းသည် စောင့်ကြည့်လေ့လာထားသော အချက်အလက်များနှင့် ကိုက်ညီနိုင်လေဖြစ်သည်။ ဤကိစ္စတွင်၊ စာမေးပွဲတွင်တွေ့ရသော ပျမ်းမျှရမှတ်သည် ဆုတ်ယုတ်မှုမျဉ်းမှ ခန့်မှန်းရမှတ်မှ 3,641 မှတ်ဖြင့် သွေဖည်သွားပါသည်။
- F-statistic နှင့် p-value- F-statistic ( 63.91 ) နှင့် သက်ဆိုင်သော p-value ( 2.253e-06 ) သည် ဆုတ်ယုတ်မှုပုံစံ၏ ယေဘုယျအဓိပ္ပာယ်ကို ပြောပြသည်၊ ဆိုလိုသည်မှာ model ရှိ explanatory variables များသည် ကွဲလွဲမှုကို ရှင်းပြရန် အသုံးဝင်သလား၊ . တုံ့ပြန်မှု variable တွင်။ ဤဥပမာရှိ p-value သည် 0.05 ထက်နည်းသောကြောင့်၊ ကျွန်ုပ်တို့၏မော်ဒယ်သည် စာရင်းအင်းအရ သိသာထင်ရှား ပြီး ရမှတ် ကွဲလွဲမှုကို ရှင်းပြရာတွင် အသုံးဝင်သည်ဟု ယူဆပါသည်။
အဆင့် 4- ကျန်ရှိသော မြေကွက်များကို ဖန်တီးပါ။
ရိုးရှင်းသော linear regression model ကို data နှင့် လိုက်လျောညီထွေဖြစ်စေပြီးနောက်၊ နောက်ဆုံးအဆင့်မှာ ကျန်ရှိသောကွက်များကို ဖန်တီးရန်ဖြစ်သည်။
linear regression ၏ အဓိက ယူဆချက် တစ်ခုမှာ regression model တစ်ခု၏ အကြွင်းအကျန်များသည် ခန့်မှန်းခြေအားဖြင့် ပုံမှန်အတိုင်း ဖြန့်ဝေထားပြီး ရှင်းပြနိုင်သော variable အဆင့်တစ်ခုစီတွင် homoscedastic ဖြစ်ကြပါသည်။ ဤယူဆချက်များနှင့် မကိုက်ညီပါက၊ ကျွန်ုပ်တို့၏ ဆုတ်ယုတ်မှုပုံစံ၏ ရလဒ်များသည် လွဲမှားနိုင်သည် သို့မဟုတ် ယုံကြည်စိတ်ချရခြင်းမရှိပေ။
ဤယူဆချက်များနှင့် ကိုက်ညီကြောင်း အတည်ပြုရန်၊ အောက်ဖော်ပြပါ အကြွင်းအကျန်များကို ကျွန်ုပ်တို့ ဖန်တီးနိုင်သည်-
အကြွင်းအကျန်များ၏ ကွက်ကွက်များနှင့် တပ်ဆင်ထားသော တန်ဖိုးများ- ဤကွက်ကွက်သည် မျိုးတူရိုးကျဖြစ်ခြင်းကို အတည်ပြုရန်အတွက် အသုံးဝင်သည်။ x-axis သည် တပ်ဆင်ထားသောတန်ဖိုးများကိုပြသပြီး y-axis သည် အကြွင်းအကျန်များကိုပြသသည်။ အကြွင်းအကျန်များသည် သုညတန်ဖိုးဝန်းကျင်ရှိ ဂရပ်တစ်လျှောက်လုံး ကျပန်းနှင့် တစ်ပြေးညီ ဖြန့်ဝေနေသရွေ့၊ မျိုးတူရိုးကျဖြစ်ခြင်းကို ချိုးဖောက်ခြင်းမဟုတ်ဟု ကျွန်ုပ်တို့ ယူဆနိုင်သည်-
#define residuals res <- resid(model) #produce residual vs. fitted plot plot(fitted(model), res) #add a horizontal line at 0 abline(0,0)

အကြွင်းအကျန်များသည် သုညဝန်းကျင်တွင် ကျပန်းကျပန်း ပြန့်ကျဲနေပုံရပြီး သိသာထင်ရှားသည့်ပုံစံမပြသောကြောင့် ဤယူဆချက်နှင့် ကိုက်ညီပါသည်။
QQ ကြံစည်မှု- ဤကွက်ကွက်သည် ကျန်အကြွင်းအကျန်များသည် ပုံမှန်ဖြန့်ဝေမှုအတိုင်း လိုက်နာခြင်းရှိမရှိ ဆုံးဖြတ်ရန်အတွက် အသုံးဝင်သည်။ ကွက်လပ်ရှိ ဒေတာတန်ဖိုးများသည် 45 ဒီဂရီထောင့်တွင် အကြမ်းဖျင်းဖြောင့်မျဉ်းအတိုင်း လိုက်နာပါက၊ ဒေတာကို ပုံမှန်အားဖြင့် ဖြန့်ဝေသည်-
#create QQ plot for residuals qqnorm(res) #add a straight diagonal line to the plot qqline(res)

အကြွင်းအကျန်များသည် 45 ဒီဂရီမျဉ်းမှ အနည်းငယ်သွေဖည်သွားသော်လည်း ပြင်းထန်သောစိုးရိမ်မှုဖြစ်စေရန် မလုံလောက်ပါ။ ပုံမှန်ဖြစ်ရိုးဖြစ်စဉ် ယူဆချက်နှင့် ကိုက်ညီသည်ဟု ကျွန်ုပ်တို့ ယူဆနိုင်သည်။
အကြွင်းအကျန်များကို ပုံမှန်အတိုင်း ဖြန့်ဝေပြီး homoscedastic ဖြစ်သောကြောင့်၊ ရိုးရှင်းသော မျဉ်းဖြောင့်ဆုတ်ယုတ်မှုပုံစံ၏ ယူဆချက်များနှင့် ကိုက်ညီကြောင်း စစ်ဆေးတွေ့ရှိပါသည်။ ထို့ကြောင့် ကျွန်ုပ်တို့၏ မော်ဒယ်၏ထွက်ရှိမှုသည် ယုံကြည်စိတ်ချရသည်။
ဤသင်ခန်းစာတွင်အသုံးပြုသည့် R ကုဒ်အပြည့်အစုံကို ဤနေရာတွင် တွေ့နိုင်ပါသည်။