R တွင် အမျိုးအစားအလိုက် ကိန်းရှင်များ ဖြင့် linear regression လုပ်နည်း


Linear regression သည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကြိုတင်ခန့်မှန်းကိန်းရှင်များနှင့် တုံ့ပြန်မှု variable အကြား ဆက်နွယ်မှုကို တွက်ချက်ရန် ကျွန်ုပ်တို့ အသုံးပြုနိုင်သည့် နည်းလမ်းတစ်ခုဖြစ်သည်။

မကြာခဏဆိုသလို၊ ကြိုတင်ခန့်မှန်းကိန်းရှင်များအဖြစ် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော အမျိုးအစားခွဲကွဲပြားသောကိန်းရှင်များကို အသုံးပြု၍ ဆုတ်ယုတ်မှုပုံစံတစ်ခုကို အံကိုက်ပြုလုပ်လိုပေမည်။

ဤသင်ခန်းစာသည် R တွင် အမျိုးအစားအလိုက် ပြောင်းလွဲမှုများဖြင့် မျဉ်းကြောင်းပြန်ဆုတ်ခြင်းကို မည်သို့လုပ်ဆောင်ရမည်ကို အဆင့်ဆင့် ဥပမာပေးထားသည်။

ဥပမာ- R တွင် အမျိုးအစားအလိုက် ပြောင်းလွဲမှုများဖြင့် မျဉ်းကြောင်းပြန်ဆုတ်ခြင်း။

မတူညီသော ဘတ်စကက်ဘောကစားသမား 12 ဦးအတွက် ကိန်းရှင်သုံးမျိုးပါသော အချက်အလက်ပါဝင်သည့် R တွင် အောက်ပါဒေတာဘောင်တစ်ခုရှိသည် ဆိုပါစို့။

  • ရမှတ်များ
  • နာရီပေါင်းများစွာ လေ့ကျင့်ခဲ့ရပါတယ်။
  • လေ့ကျင့်ရေးအစီအစဉ်ကို အသုံးပြုခဲ့သည်။
 #create data frame
df <- data. frame (points=c(7, 7, 9, 10, 13, 14, 12, 10, 16, 19, 22, 18),
                 hours=c(1, 2, 2, 3, 2, 6, 4, 3, 4, 5, 8, 6),
                 program=c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3))

#view data frame
df

   points hours program
1 7 1 1
2 7 2 1
3 9 2 1
4 10 3 1
5 13 2 2
6 14 6 2
7 12 4 2
8 10 3 2
9 16 4 3
10 19 5 3
11 22 8 3
12 18 6 3

ကျွန်ုပ်တို့သည် အောက်ပါမျဉ်းကြောင်းအတိုင်း ဆုတ်ယုတ်မှုပုံစံကို ကိုက်ညီလိုသည်ဆိုပါစို့။

အမှတ် = β 0 + β 1 နာရီ + β 2 ပရိုဂရမ်

ဤဥပမာတွင် နာရီများသည် စဉ်ဆက်မပြတ်ပြောင်းလဲနိုင်သောကိန်းရှင်တစ်ခုဖြစ်သော်လည်း ပရိုဂရမ်သည် ဖြစ်နိုင်ချေအမျိုးအစားသုံးမျိုးယူနိုင်သော အမျိုးအစားခွဲ တစ်ခုဖြစ်သည်- ပရိုဂရမ် 1၊ ပရိုဂရမ် 2 သို့မဟုတ် ပရိုဂရမ် 3။

ဤဆုတ်ယုတ်မှုပုံစံနှင့် ကိုက်ညီစေရန် “ ပရိုဂရမ်” variable သည် categorical variable တစ်ခုဖြစ်ကြောင်း R ကိုပြောပြရန်၊ ၎င်းကို factor အဖြစ်ပြောင်းရန် as.factor() ကို အသုံးပြု၍ မော်ဒယ်နှင့် ကိုက်ညီရန် လိုအပ်သည်-

 #convert 'program' to factor
df$program <- as. factor (df$program)

#fit linear regression model
fit <- lm(points ~ hours + program, data = df)

#view model summary
summary(fit)

Call:
lm(formula = points ~ hours + program, data = df)

Residuals:
    Min 1Q Median 3Q Max 
-1.5192 -1.0064 -0.3590 0.8269 2.4551 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 6.3013 0.9462 6.660 0.000159 ***
hours 0.9744 0.3176 3.068 0.015401 *  
program2 2.2949 1.1369 2.019 0.078234 .  
program3 6.8462 1.5499 4.417 0.002235 ** 
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.403 on 8 degrees of freedom
Multiple R-squared: 0.9392, Adjusted R-squared: 0.9164 
F-statistic: 41.21 on 3 and 8 DF, p-value: 3.276e-05

Estimate ကော်လံရှိ တန်ဖိုးများမှ တပ်ဆင်ထားသော ဆုတ်ယုတ်မှုပုံစံကို ရေးနိုင်သည်-

ရမှတ် = 6.3013 + 0.9744 (နာရီ) + 2.2949 (အစီအစဉ် 2) + 6.8462 (အစီအစဉ် 3)

ဤသည်မှာ ရလဒ်တွင် ဖော်ကိန်းတန်ဖိုးများကို အဓိပ္ပာယ်ဖွင့်ဆိုပုံဖြစ်သည် ။

  • အလုပ်ချိန် – လေ့ကျင့်ချိန်သုံးသည့်နောက်ထပ်နာရီတစ်ခုစီအတွက်၊ ပရိုဂရမ်သည် စဉ်ဆက်မပြတ်ရှိနေသောကြောင့် ရမှတ်များ ပျမ်းမျှ 0.9744 တိုးလာသည်။
    • p-value သည် 0.015 ဖြစ်ပြီး၊ လေ့ကျင့်ချိန်နာရီများသည် α = 0.05 အဆင့်တွင် ရမှတ်များ၏ ကိန်းဂဏန်းအချက်အချာကျသော ခန့်မှန်းချက်ဖြစ်ကြောင်း ညွှန်ပြပါသည်။
  • အချိန်ဇယား 2 : အချိန်ဇယား 2 ကို အသုံးပြုသော ကစားသမားများသည် ဇယား 1 ကို အသုံးပြုသည့် ကစားသမားများထက် ပျမ်းမျှ 2.2949 မှတ် ပိုမိုရရှိကြပြီး နာရီများ ဆက်တိုက်ရှိနေသည်ဟု ယူဆပါသည်။
    • p-value သည် 0.078 ဖြစ်ပြီး၊ အဆင့် α = 0.05 တွင် ပရိုဂရမ် 2 ကိုအသုံးပြုသည့် ကစားသမားများနှင့် နှိုင်းယှဉ်ပါက ပရိုဂရမ် 2 ကို အသုံးပြုသည့် ကစားသမားများမှ ရမှတ်များတွင် ကိန်းဂဏန်းသိသိသာသာ ကွာခြားမှုမရှိကြောင်း ညွှန်ပြပါသည်။
  • အချိန်ဇယား 3 : အချိန်ဇယား 3 ကို အသုံးပြုသော ကစားသမားများသည် ဇယား 1 ကို အသုံးပြုသည့် ကစားသမားများထက် ပျမ်းမျှ 2.2949 မှတ် ပိုမိုရရှိကြပြီး နာရီများ ဆက်တိုက်ရှိနေသည်ဟု ယူဆပါသည်။
    • p-value သည် 0.002 ဖြစ်ပြီး၊ α = 0.05 အဆင့်ရှိ ဇယား 3 ကိုအသုံးပြုသော ကစားသမားများနှင့် နှိုင်းယှဉ်ပါက အချိန်ဇယား 3 ကိုအသုံးပြုသော ကစားသမားများမှ ရမှတ်များတွင် ကိန်းဂဏန်းသိသိသာသာ ကွာခြားမှုရှိသည်ကို ညွှန်ပြပါသည်။

တပ်ဆင်ထားသော ဆုတ်ယုတ်မှုပုံစံကို အသုံးပြုခြင်းဖြင့် ကစားသမားတစ်ဦးသည် လေ့ကျင့်သင်ကြားခဲ့သည့် စုစုပေါင်းနာရီအရေအတွက်နှင့် ၎င်းတို့အသုံးပြုခဲ့သည့် ပရိုဂရမ်အပေါ်အခြေခံ၍ ကစားသမားက ရမှတ်အရေအတွက်ကို ခန့်မှန်းနိုင်ပါသည်။

ဥပမာအားဖြင့်၊ 5 နာရီလေ့ကျင့်သင်ကြားပြီးလေ့ကျင့်ရေးအချိန်ဇယား 3 ကိုအသုံးပြုထားသောကစားသမားမှရမှတ်များခန့်မှန်းရန်အောက်ပါကုဒ်ကိုကျွန်ုပ်တို့အသုံးပြုနိုင်သည်-

 #define new player
new <- data. frame (hours=c(5), program=as. factor (c(3)))

#use the fitted model to predict the points for the new player
predict(fit, newdata=new)

       1 
18.01923 

ဤကစားသမားသစ်သည် ရမှတ် 18,01923 မှတ်ရမည်ဟု မော်ဒယ်က ခန့်မှန်းသည်။

တပ်ဆင်ထားသော ဆုတ်ယုတ်မှုညီမျှခြင်းတွင် ကစားသမားအသစ်၏တန်ဖိုးများကို ထည့်သွင်းခြင်းဖြင့် ၎င်းသည် မှန်ကန်ကြောင်း ကျွန်ုပ်တို့ အတည်ပြုနိုင်သည်-

  • ရမှတ် = 6.3013 + 0.9744 (နာရီ) + 2.2949 (အစီအစဉ် 2) + 6.8462 (အစီအစဉ် 3)
  • အမှတ် = 6.3013 + 0.9744(5) + 2.2949(0) + 6.8462(1)
  • အမှတ် = 18,019

၎င်းသည် R တွင် ခန့်မှန်းချက်() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကျွန်ုပ်တို့တွက်ချက်ထားသော တန်ဖိုးနှင့် ကိုက်ညီပါသည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် R တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

R တွင် ရိုးရှင်းသော linear regression လုပ်နည်း
R တွင် linear regression အများအပြားလုပ်ဆောင်နည်း
R တွင်ကျန်ရှိသောကွက်ကွက်ဖန်တီးနည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်