Statistical models များကို အသုံးပြု၍ logistic regression ကို မည်သို့လုပ်ဆောင်မည်နည်း။


Python ၏ statsmodels module သည် သင့်အား အမျိုးမျိုးသော ကိန်းဂဏန်းဆိုင်ရာ မော်ဒယ်များကို လိုက်လျောညီထွေဖြစ်အောင် လုပ်ဆောင်နိုင်သည့် လုပ်ဆောင်ချက်များနှင့် အတန်းများကို ပံ့ပိုးပေးပါသည်။

အောက်ဖော်ပြပါ အဆင့်ဆင့် ဥပမာသည် statsmodels လုပ်ဆောင်ချက်များကို အသုံးပြု၍ ထောက်ပံ့ပို့ဆောင်ရေးဆုတ်ယုတ်မှုကို မည်သို့လုပ်ဆောင်ရမည်ကို ပြသထားသည်။

အဆင့် 1: ဒေတာကိုဖန်တီးပါ။

ပထမဦးစွာ၊ variable သုံးခုပါရှိသော pandas DataFrame ကိုဖန်တီးကြပါစို့။

  • လေ့လာထားသော နာရီများ (တန်ဖိုးတစ်ခုလုံး)
  • လေ့လာမှုနည်းလမ်း (နည်းလမ်း A သို့မဟုတ် B)
  • စာမေးပွဲရလဒ် (အောင်သည်ဖြစ်စေ ကျရှုံးသည်)

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

အောက်ပါကုဒ်သည် pandas DataFrame ဖန်တီးနည်းကို ပြသသည် ။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' result ': [0, 1, 0, 0, 0, 0, 0, 1, 1, 0,
                              0, 1, 1, 1, 0, 1, 1, 1, 1, 1],
                   ' hours ': [1, 2, 2, 2, 3, 2, 5, 4, 3, 6,
                            5, 8, 8, 7, 6, 7, 5, 4, 8, 9],
                   ' method ': ['A', 'A', 'A', 'B', 'B', 'B', 'B',
                             'B', 'B', 'A', 'B', 'A', 'B', 'B',
                             'A', 'A', 'B', 'A', 'B', 'A']})

#view first five rows of DataFrame
df. head ()

	result hours method
0 0 1 A
1 1 2 A
2 0 2 A
3 0 2 B
4 0 3 B

အဆင့် 2- ထောက်ပံ့ပို့ဆောင်ရေး ဆုတ်ယုတ်မှုပုံစံကို အံကိုက်လုပ်ပါ။

ထို့နောက်၊ ကျွန်ုပ်တို့သည် logit() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ထောက်ပံ့ပို့ဆောင်ရေးဆိုင်ရာ ဆုတ်ယုတ်မှုပုံစံနှင့် ကိုက်ညီပါမည်-

 import statsmodels. formula . api as smf

#fit logistic regression model
model = smf. logit (' result~hours+method ', data=df). fit ()

#view model summary
print ( model.summary ())

Optimization completed successfully.
         Current function value: 0.557786
         Iterations 5
                           Logit Regression Results                           
==================================================== ============================
Dept. Variable: result No. Observations: 20
Model: Logit Df Residuals: 17
Method: MLE Df Model: 2
Date: Mon, 22 Aug 2022 Pseudo R-squ.: 0.1894
Time: 09:53:35 Log-Likelihood: -11.156
converged: True LL-Null: -13.763
Covariance Type: nonrobust LLR p-value: 0.07375
==================================================== ============================
                  coef std err z P>|z| [0.025 0.975]
-------------------------------------------------- -----------------------------
Intercept -2.1569 1.416 -1.523 0.128 -4.932 0.618
method[TB] 0.0875 1.051 0.083 0.934 -1.973 2.148
hours 0.4909 0.245 2.002 0.045 0.010 0.972
==================================================== ============================

output ၏ coef ကော်လံရှိ တန်ဖိုးများသည် စာမေးပွဲအောင်သည့် မှတ်တမ်း၏ ပျမ်းမျှပြောင်းလဲမှုကို ပြောပြသည်။

ဥပမာအားဖြင့်:

  • လေ့လာမှုနည်းလမ်း B ကိုအသုံးပြုခြင်းသည် လေ့လာမှုနည်းလမ်း A ကိုအသုံးပြုခြင်းနှင့် နှိုင်းယှဉ်ပါက စာမေးပွဲဖြေဆိုမှုမှတ်တမ်းတွင် ပျမ်းမျှ 0.0875 တိုးခြင်းနှင့် ဆက်စပ်နေသည်။
  • အပိုဆောင်းလေ့လာထားသောနာရီတိုင်းသည် စာမေးပွဲဖြေဆိုမှုမှတ်တမ်းတွင် ပျမ်းမျှ 0.4909 တိုးခြင်းနှင့် ဆက်စပ်နေသည်။

P>|z| ရှိ တန်ဖိုးများ ကော်လံသည် coefficient တစ်ခုစီအတွက် p-တန်ဖိုးများကို ကိုယ်စားပြုသည်။

ဥပမာအားဖြင့်:

  • လေ့လာမှုနည်းလမ်းတွင် p-value သည် 0.934 ရှိသည်။ ဤတန်ဖိုးသည် 0.05 ထက်မနည်းသောကြောင့်၊ ကျောင်းသားသည် စာမေးပွဲအောင်သည်ဖြစ်စေ ကျောင်းသားသည် စာမေးပွဲအောင်သည်ဖြစ်စေ မလေ့လာသည့်နာရီများကြားတွင် ကိန်းဂဏန်းဆိုင်ရာ သိသာထင်ရှားသော ဆက်နွယ်မှု မရှိဟု ဆိုလိုသည်။
  • လေ့လာသောနာရီများသည် p-value 0.045 ရှိသည်။ ဤတန်ဖိုးသည် 0.05 ထက်နည်းသောကြောင့်၊ ကျောင်းသားသည် စာမေးပွဲအောင်သည်ဖြစ်စေ ကျောင်းသားသည် စာမေးပွဲအောင်သည်ဖြစ်စေ မလေ့လာသည့်နာရီကြားတွင် ကိန်းဂဏန်းဆိုင်ရာ သိသာထင်ရှားသော ဆက်နွယ်မှုရှိကြောင်း ဆိုလိုသည်။

အဆင့် 3- မော်ဒယ်စွမ်းဆောင်ရည်ကို အကဲဖြတ်ပါ။

logistic regression model ၏ အရည်အသွေးကို အကဲဖြတ်ရန်၊ output တွင် metrics နှစ်ခုကို ကြည့်နိုင်သည်-

1. နာမည်ပြောင် R-squared

ဤတန်ဖိုးသည် မျဉ်းကြောင်းဆုတ်ယုတ်မှုပုံစံအတွက် R-squared တန်ဖိုးကို အစားထိုးသည်ဟု ယူဆနိုင်သည်။

၎င်းကို null model မှ full model သို့ maximized log-likelihood function ၏အချိုးအဖြစ် တွက်ချက်သည်။

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

ဤဥပမာတွင်၊ pseudo R-squared တန်ဖိုးသည် 0.1894 ဖြစ်ပြီး၊ အလွန်နိမ့်ပါသည်။ ၎င်းသည် မော်ဒယ်၏ ကြိုတင်ခန့်မှန်းကိန်းရှင်များသည် တုံ့ပြန်မှုကိန်းရှင်၏တန်ဖိုးကို ခန့်မှန်းခြင်းအတွက် အလွန်ကောင်းမွန်သောအလုပ်မဟုတ်ကြောင်း ကျွန်ုပ်တို့ကိုပြောပြသည်။

2. LLR p-တန်ဖိုး

ဤတန်ဖိုးသည် မျဉ်းကြောင်းဆုတ်ယုတ်မှုပုံစံ၏ အလုံးစုံ F-တန်ဖိုး အတွက် p-တန်ဖိုးကို အစားထိုးသည်ဟု ယူဆနိုင်သည်။

အကယ်၍ ဤတန်ဖိုးသည် သတ်မှတ်ထားသော အတိုင်းအတာတစ်ခုအောက်၌ ရှိနေပါက (ဥပမာ α = 0.05)၊ ထို့နောက် မော်ဒယ်တစ်ခုလုံးသည် “ အသုံးဝင်သည်” ဟု ကောက်ချက်ချနိုင်ပြီး ကြိုတင်ခန့်မှန်းကိန်းရှင်များမပါဘဲ မော်ဒယ်နှင့် နှိုင်းယှဉ်ပါက တုံ့ပြန်မှုကိန်းရှင်၏ တန်ဖိုးများကို ပိုမိုကောင်းမွန်စွာ ခန့်မှန်းနိုင်မည်ဖြစ်သည်။

ဤဥပမာတွင်၊ LLR ၏ p-value သည် 0.07375 ဖြစ်သည်။ ကျွန်ုပ်တို့ရွေးချယ်သော အရေးပါမှုအဆင့်ပေါ် မူတည်၍ (ဥပမာ 0.01၊ 0.05၊ 0.1)၊ မော်ဒယ်တစ်ခုလုံးသည် အသုံးဝင်သည်ဟု ကျွန်ုပ်တို့ ကောက်ချက်ချနိုင်သည် သို့မဟုတ် မပြုလုပ်နိုင်ပါ။

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

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

Python တွင် linear regression လုပ်နည်း
Python တွင် logarithmic regression ကို မည်သို့လုပ်ဆောင်ရမည်နည်း
Python တွင် quantile regression လုပ်နည်း

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

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