R ဖြင့် glm အတွက် r-squared တွက်ချက်နည်း


မကြာခဏ ကျွန်ုပ်တို့သည် linear regression model ကို အံကိုက်သောအခါ၊ data နှင့် model မည်မျှ ကိုက်ညီကြောင်း အကဲဖြတ်ရန် R-squared ကို အသုံးပြုပါသည်။

R နှစ်ထပ်ကိန်းသည် ဆုတ်ယုတ်မှုပုံစံတွင် ခန့်မှန်းသူကိန်းရှင်များဖြင့် ရှင်းပြနိုင်သည့် တုံ့ပြန်မှု ကိန်း ရှင်ရှိ ကွဲလွဲမှု၏အချိုးအစားကို ကိုယ်စားပြုသည်။

ဤနံပါတ်သည် 0 မှ 1 အထိဖြစ်ပြီး ပိုမိုကောင်းမွန်သောမော်ဒယ်ကိုက်ညီမှုကို ညွှန်ပြသော ပိုမြင့်သောတန်ဖိုးများရှိသည်။

သို့သော်လည်း၊ ထောက်ပံ့ပို့ဆောင်ရေး ဆုတ်ယုတ်မှု မော်ဒယ်များနှင့် Poisson ဆုတ်ယုတ်မှု မော်ဒယ်များ ကဲ့သို့သော အထွေထွေ မျဉ်းကြောင်း မော်ဒယ်များအတွက် R-squared တန်ဖိုး မရှိပါ။

ယင်းအစား၊ 0 မှ 1 အောက်သာရှိသော McFadden’s R-Squared ဟုခေါ်သော မက်ထရစ်ကို တွက်ချက်နိုင်ပြီး ပိုမိုကောင်းမွန်သောမော်ဒယ်နှင့်ကိုက်ညီမှုရှိကြောင်း ညွှန်ပြသောတန်ဖိုးများ ပိုမိုမြင့်မားသည်။

McFadden ၏ R နှစ်ထပ်ကိန်းကို တွက်ချက်ရန် အောက်ပါဖော်မြူလာကို အသုံးပြုပါသည်။

McFadden ၏ R-Squared = 1 – (မှတ်တမ်းဖြစ်နိုင်ခြေ ပုံစံ / သုည မှတ်တမ်းဖြစ်နိုင်ခြေ)

ရွှေ-

  • မှတ်တမ်းဖြစ်နိုင်ခြေ မော်ဒယ် – လက်ရှိတပ်ဆင်ထားသောမော်ဒယ်၏ မှတ်တမ်းဖြစ်နိုင်ခြေတန်ဖိုး
  • သုည မှတ်တမ်းဖြစ်နိုင်ခြေ : null မော်ဒယ်၏ မှတ်တမ်းဖြစ်နိုင်ခြေတန်ဖိုး (ကြားဖြတ်ပါရှိသော မော်ဒယ်သာ)

လက်တွေ့တွင်၊ 0.40 အထက်တန်ဖိုးများသည် မော်ဒယ်တစ်ခုသည် ဒေတာနှင့် အလွန်ကိုက်ညီကြောင်း ဖော်ပြသည်။

အောက်ဖော်ပြပါ ဥပမာသည် R တွင် ထောက်ပံ့ပို့ဆောင်ရေး ဆုတ်ယုတ်မှုပုံစံအတွက် McFadden ၏ R-squared တွက်ချက်နည်းကို ပြသထားသည်။

ဥပမာ- McFadden ၏ R-squared ကို R ဖြင့် တွက်ချက်ခြင်း။

ဤဥပမာအတွက်၊ ကျွန်ုပ်တို့သည် ISLR ပက်ကေ့ခ်ျမှ မူရင်း ဒေတာအတွဲကို အသုံးပြုပါမည်။ ဒေတာအတွဲ၏ အကျဉ်းချုပ်ကို တင်ရန်နှင့် ပြသရန် အောက်ပါကုဒ်ကို ကျွန်ုပ်တို့ အသုံးပြုနိုင်ပါသည်။

 #install and load ISLR package
install. packages (' ISLR ')
library (ISLR)

#define dataset
data <- ISLR::Default

#view summary of dataset
summary(data)

 default student balance income     
 No:9667 No:7056 Min. : 0.0 Min. : 772  
 Yes: 333 Yes:2944 1st Qu.: 481.7 1st Qu.:21340  
                       Median: 823.6 Median: 34553  
                       Mean: 835.4 Mean: 33517  
                       3rd Qu.:1166.3 3rd Qu.:43808  
                       Max. :2654.3 Max. :73554  

#find total observations in dataset
nrow(data)

[1] 10000

ဤဒေတာအတွဲတွင် လူ 10,000 ဦးအတွက် အောက်ပါအချက်အလက်များပါရှိသည်။

  • ပုံသေ- တစ်ဦးတစ်ယောက်သည် ပုံသေသတ်မှတ်ထားခြင်း ရှိ၊ မရှိကို ဖော်ပြသည်။
  • ကျောင်းသား- တစ်ဦးတစ်ယောက်သည် ကျောင်းသားဟုတ်မဟုတ် ညွှန်ပြသည်။
  • လက်ကျန်- တစ်ဦးချင်းစီမှ ပျမ်းမျှလက်ကျန်ငွေ။
  • ဝင်ငွေ- တစ်ဦးချင်း၏ ၀င်ငွေ။

ကျွန်ုပ်တို့သည် ကျောင်းသားအခြေအနေ၊ ဘဏ်လက်ကျန်နှင့် ၀င်ငွေကို အသုံးပြုပြီး ထောက်ပံ့ပို့ဆောင်သူတစ်ဦးသည် ပုံသေဖြစ်နိုင်ခြေကို ခန့်မှန်းပေးသည့် ထောက်ပံ့ပို့ဆောင်ရေး ဆုတ်ယုတ်မှုပုံစံကို တည်ဆောက်မည်-

 #fit logistic regression model
model <- glm(default~student+balance+income, family=' binomial ', data=data)

#view model summary
summary(model)

Call:
glm(formula = default ~ balance + student + income, family = "binomial", 
    data = data)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-2.4691 -0.1418 -0.0557 -0.0203 3.7383  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.087e+01 4.923e-01 -22.080 < 2e-16 ***
balance 5.737e-03 2.319e-04 24.738 < 2e-16 ***
studentYes -6.468e-01 2.363e-01 -2.738 0.00619 ** 
income 3.033e-06 8.203e-06 0.370 0.71152    
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 2920.6 on 9999 degrees of freedom
Residual deviance: 1571.5 on 9996 degrees of freedom
AIC: 1579.5

Number of Fisher Scoring iterations: 8

ထို့နောက်၊ ဤမော်ဒယ်အတွက် McFadden ၏ R-squared တန်ဖိုးကို တွက်ချက်ရန် အောက်ပါဖော်မြူလာကို အသုံးပြုပါမည်။

 #calculate McFadden's R-squared for model
with(summary(model), 1 - deviance/null. deviance )

[1] 0.4619194

McFadden ၏ R-squared တန်ဖိုးသည် 0.4619194 ဖြစ်လာသည်။ ဤတန်ဖိုးသည် အလွန်မြင့်မားသောကြောင့် ကျွန်ုပ်တို့၏မော်ဒယ်သည် ဒေတာနှင့် ကိုက်ညီပြီး ကြိုတင်ခန့်မှန်းနိုင်စွမ်းအား မြင့်မားကြောင်း ညွှန်ပြပါသည်။

မော်ဒယ်အတွက် McFadden R-squared တန်ဖိုးကို တွက်ချက်ရန် pscl ပက်ကေ့ခ်ျမှ pR2() လုပ်ဆောင်ချက်ကိုလည်း အသုံးပြုနိုင်ကြောင်း သတိပြုပါ။

 #install and load pscl package
install. packages (' pscl ')
library (pscl)

#calculate McFadden's R-squared for model
pR2(model)[' McFadden ']

 McFadden 
0.4619194

ဤတန်ဖိုးသည် ယခင်က တွက်ချက်ထားသော တန်ဖိုးနှင့် ကိုက်ညီကြောင်း သတိပြုပါ။

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

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

R ဖြင့် R-squared တွက်နည်း
R ဖြင့် ချိန်ညှိထားသော R-squared တွက်ချက်နည်း
ကောင်းသော R-squared တန်ဖိုးဆိုသည်မှာ အဘယ်နည်း။

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

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