R တွင် dummy variable များကိုဖန်တီးနည်း (အဆင့်ဆင့်)
dummy variable သည် regression ခွဲခြမ်းစိတ်ဖြာမှုတွင် ကျွန်ုပ်တို့ဖန်တီးထားသော variable အမျိုးအစားတစ်ခုဖြစ်ပြီး တန်ဖိုးနှစ်ခုမှ တစ်ခုဖြစ်သော သုည သို့မဟုတ် တစ်ခုအား ကိန်းဂဏာန်းကိန်းရှင်အဖြစ် categorical variable အဖြစ် ကိုယ်စားပြုနိုင်စေရန်။
ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့တွင် အောက်ပါဒေတာအစုံရှိပြီး ဝင်ငွေကို ခန့်မှန်းရန် အသက်အရွယ် နှင့် အိမ်ထောင်ရေးအဆင့်အတန်းကို အသုံးပြုလိုသည်ဆိုပါစို့။
ဆုတ်ယုတ်မှုပုံစံတစ်ခုရှိ အိမ်ထောင်ရေးအခြေအနေအား ကြိုတင်ခန့်မှန်းနိုင်သောကိန်းရှင်အဖြစ် အသုံးပြုရန်၊ ၎င်းကို အတုမဲ့ကိန်းရှင်အဖြစ် ပြောင်းလဲရန် လိုအပ်သည်။
၎င်းသည် လောလောဆယ်တွင် မတူညီသောတန်ဖိုး (“ လူပျို” ၊ “ အိမ်ထောင်သည်” သို့မဟုတ် “ ကွာရှင်းသည်” ) တွင် မတူညီသောတန်ဖိုးသုံးခုကိုယူဆောင်နိုင်သည့် အမျိုးအစားခွဲကွဲပြားသည့်ကိန်းရှင်ဖြစ်သောကြောင့်၊ ကျွန်ုပ်တို့သည် k -1 = 3-1 = 2 dummy ကိန်းရှင်များကို ဖန်တီးရန်လိုအပ်ပါသည်။
ဤကိန်းဂဏန်းမပြောင်းလဲနိုင်သောကိန်းရှင်ကို ဖန်တီးရန်အတွက်၊ ကျွန်ုပ်တို့သည် မကြာခဏဆိုသလိုပေါ်လာသောကြောင့် အခြေခံတန်ဖိုးအဖြစ် “ Single” ကို ချန်ထားနိုင်သည်။ ထို့ကြောင့်၊ ဤတွင်၊ ကျွန်ုပ်တို့သည် အိမ်ထောင်ရေးအခြေနေကို dummy variable အဖြစ်သို့ မည်သို့ပြောင်းလဲနိုင်မည်နည်း။
ဤသင်ခန်းစာသည် R တွင် ဤအတိအကျဒေတာအတွဲအတွက် dummy variable များကို ဖန်တီးနည်းအဆင့်ဆင့် ဥပမာကို ပေးဆောင်ပြီး ထို dummy variable များကို ကြိုတင်ခန့်မှန်းသူများအဖြစ် အသုံးပြုကာ ဆုတ်ယုတ်မှုခွဲခြမ်းစိတ်ဖြာမှုကို လုပ်ဆောင်ပေးပါသည်။
အဆင့် 1: ဒေတာကိုဖန်တီးပါ။
အရင်ဆုံး R မှာ dataset ကိုဖန်တီးကြည့်ရအောင်။
#create data frame df <- data. frame (income=c(45000, 48000, 54000, 57000, 65000, 69000, 78000, 83000, 98000, 104000, 107000), age=c(23, 25, 24, 29, 38, 36, 40, 59, 56, 64, 53), status=c('Single', 'Single', 'Single', 'Single', 'Married', 'Single', 'Married', 'Divorced', 'Divorced', 'Married', 'Married')) #view data frame df income age status 1 45000 23 Single 2 48000 25 Single 3 54000 24 Single 4 57000 29 Single 5 65000 38 Married 6 69000 36 Single 7 78000 40 Married 8 83000 59 Divorced 9 98000 56 Divorced 10 104000 64 Married 11 107000 53 Married
အဆင့် 2: Dummy Variables ကိုဖန်တီးပါ။
ထို့နောက်၊ ကျွန်ုပ်တို့သည် အတုမဲ့ကိန်းရှင်များကို သတ်မှတ်ရန် R ရှိ ifelse() လုပ်ဆောင်ချက်ကို သုံးနိုင်ပြီး၊ ထို့နောက် ကျွန်ုပ်တို့အသုံးပြုလိုသော နောက်ဆုံးဒေတာဘောင်ကို သတ်မှတ်ရန်-
#create dummy variables married <- ifelse (df$status == ' Married ', 1, 0) divorced <- ifelse (df$status == ' Divorced ', 1, 0) #create data frame to use for regression df_reg <- data. frame (income = df$income, age = df$age, married = married, divorced = divorced) #view data frame df_reg income age married divorced 1 45000 23 0 0 2 48000 25 0 0 3 54000 24 0 0 4 57000 29 0 0 5 65000 38 1 0 6 69000 36 0 0 7 78000 40 1 0 8 83000 59 0 1 9 98000 56 0 1 10 104000 64 1 0 11 107000 53 1 0
အဆင့် 3- Linear Regression လုပ်ဆောင်ပါ။
နောက်ဆုံးတွင်၊ များစွာသော linear regression model နှင့်ကိုက်ညီရန် lm() function ကိုသုံးနိုင်သည်။
#create regression model model <- lm (income ~ age + married + divorced, data=df_reg) #view regression model output summary(model) Call: lm(formula = income ~ age + married + divorced, data = df_reg) Residuals: Min 1Q Median 3Q Max -9707.5 -5033.8 45.3 3390.4 12245.4 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 14276.1 10411.5 1.371 0.21266 age 1471.7 354.4 4.152 0.00428 ** married 2479.7 9431.3 0.263 0.80018 divorced -8397.4 12771.4 -0.658 0.53187 --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 8391 on 7 degrees of freedom Multiple R-squared: 0.9008, Adjusted R-squared: 0.8584 F-statistic: 21.2 on 3 and 7 DF, p-value: 0.0006865
တပ်ဆင်ထားသော ဆုတ်ယုတ်မှုမျဉ်းသည်-
ဝင်ငွေ = 14,276.1 + 1,471.7*(အသက်) + 2,479.7*(လက်ထပ်) – 8,397.4*(ကွာရှင်း)
လူတစ်ဦးချင်းစီ၏ အသက်အရွယ်နှင့် အိမ်ထောင်ရေးအခြေအနေပေါ်မူတည်၍ လူတစ်ဦးချင်းစီ၏ ခန့်မှန်းဝင်ငွေကို ရှာဖွေရန် ဤညီမျှခြင်းကို အသုံးပြုနိုင်သည်။ ဥပမာအားဖြင့်၊ အသက် 35 နှစ်နှင့် အိမ်ထောင်သည်တစ်ဦးသည် ခန့်မှန်းခြေဝင်ငွေ $68,264 ရှိလိမ့်မည်-
ဝင်ငွေ = 14,276.2 + 1,471.7*(35) + 2,479.7*(1) – 8,397.4*(0) = $68,264
ဤသည်မှာ ဇယားရှိ ဆုတ်ယုတ်မှုကိန်းများကို အဓိပ္ပာယ်ဖွင့်ဆိုပုံဖြစ်သည် ။
- ကြားဖြတ်- ကြားဖြတ်သည် အသက် သုည လူတစ်ဦး၏ ပျမ်းမျှဝင်ငွေကို ကိုယ်စားပြုသည်။ သေချာသည်မှာ သင့်တွင် သုညနှစ်မရှိနိုင်သောကြောင့် ဤအထူးဆုတ်ယုတ်မှုပုံစံတွင် ကြားဖြတ်ကို သူ့ဘာသာသူ အဓိပ္ပာယ်ပြန်ဆိုရန် အဓိပ္ပါယ်မရှိပေ။
- အသက်အရွယ်- အသက်အရွယ် တိုးလာခြင်းသည် တစ်နှစ်လျှင် ပျမ်းမျှဝင်ငွေ $1,471.70 တိုးလာခြင်းနှင့် ဆက်စပ်နေသည်။ p-value (0.004) သည် 0.05 ထက်နည်းသောကြောင့်၊ အသက်သည် ဝင်ငွေ၏ ကိန်းဂဏန်းအရ သိသာထင်ရှားသော ခန့်မှန်းပေးသူဖြစ်သည်။
- အိမ်ထောင်သည်- အိမ်ထောင်သည်တစ်ဦးသည် တစ်ဦးတစ်ယောက်တည်းထက် ပျမ်းမျှ $2,479.70 ရရှိသည်။ p-value (0.800) သည် 0.05 ထက်မနည်းသောကြောင့်၊ ဤကွာခြားချက်မှာ ကိန်းဂဏန်းအရ သိသာထင်ရှားသည်မဟုတ်ပါ။
- ကွာရှင်းပြတ်စဲခြင်း- ကွာရှင်းပြတ်စဲသူတစ်ဦးသည် တစ်ဦးတစ်ယောက်ထက် ပျမ်းမျှ $8,397.40 ရရှိသည်။ p-value (0.532) သည် 0.05 ထက်မနည်းသောကြောင့်၊ ဤကွာခြားချက်မှာ ကိန်းဂဏန်းအရ သိသာထင်ရှားသည်မဟုတ်ပါ။
ကိန်းဂဏန်းနှစ်ခုလုံးသည် ကိန်းဂဏန်းအရ သိသာထင်ရှားမှုမရှိသောကြောင့်၊ ဝင်ငွေအတွက် ခန့်မှန်းတန်ဖိုးကို ထည့်မထားသည့်ပုံပေါ်သောကြောင့် ကျွန်ုပ်တို့သည် အိမ်ထောင်ရေးအခြေအနေအား ခန့်မှန်းသူအဖြစ် မော်ဒယ်မှ ဖယ်ရှားနိုင်ပါသည်။