Python တွင် တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှုကို တွက်ချက်နည်း
စာရင်းဇယားများတွင်၊ ကျွန်ုပ်တို့သည် ကိန်းရှင်နှစ်ခုကြားရှိ မျဉ်းကြောင်းဆက်နွယ်မှုကိုတိုင်းတာရန် Pearson ဆက်စပ်ကိန်းကို မကြာခဏအသုံးပြုသည်။ သို့သော်၊ တစ်ခါတစ်ရံတွင် ကျွန်ုပ်တို့သည် တတိယကိန်းရှင်တစ်ခုကို ထိန်းချုပ်နေစဉ်တွင် ကိန်းရှင်နှစ်ခုကြား ဆက်စပ်မှုကို နားလည်လိုပါသည်။
ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့သည် အတန်းထဲတွင် ကျောင်းသား၏ လက်ရှိအတန်းကို ထိန်းချုပ်နေစဉ် ကျောင်းသားတစ်ဦး၏ စာကျက်ချိန်နာရီနှင့် နောက်ဆုံးစာမေးပွဲအဆင့်ကြား ဆက်စပ်မှုကို တိုင်းတာလိုသည်ဆိုပါစို့။ ဤကိစ္စတွင်၊ လေ့လာခဲ့သည့် နာရီနှင့် နောက်ဆုံးစာမေးပွဲအဆင့်ကြား ဆက်နွယ်မှုကို တိုင်းတာရန် တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှုကို ကျွန်ုပ်တို့ အသုံးပြုနိုင်သည်။
ဤသင်ခန်းစာတွင် Python တွင် တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှုကို တွက်ချက်နည်းကို ရှင်းပြထားသည်။
ဥပမာ- Python တွင် တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှု
ကျောင်းသား 10 ယောက်အတွက် လက်ရှိ အတန်း၊ စုစုပေါင်း နာရီနှင့် နောက်ဆုံးစာမေးပွဲ အဆင့်ကို ပြသပေးသည့် အောက်ပါ Pandas DataFrame ရှိသည် ဆိုကြပါစို့။
import numpy as np import panda as pd data = {'currentGrade': [82, 88, 75, 74, 93, 97, 83, 90, 90, 80], 'hours': [4, 3, 6, 5, 4, 5, 8, 7, 4, 6], 'examScore': [88, 85, 76, 70, 92, 94, 89, 85, 90, 93], } df = pd.DataFrame(data, columns = ['currentGrade','hours', 'examScore']) df currentGrade hours examScore 0 82 4 88 1 88 3 85 2 75 6 76 3 74 5 70 4 93 4 92 5 97 5 94 6 83 8 89 7 90 7 85 8 90 4 90 9 80 6 93
လက်ရှိGrade ကို ထိန်းချုပ်နေစဉ် နာရီ နှင့် examScore အကြား တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှုကို တွက်ချက်ရန်၊ အောက်ပါ syntax ကိုအသုံးပြုသည့် penguin package မှ partial_corr() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။
partial_corr(ဒေတာ၊ x၊ y၊ covar)
ရွှေ-
- data- ဒေ တာဘောင်အမည်
- x၊ y- ဒေတာဘောင်ရှိ ကော်လံအမည်များ
- covar- ဒေ တာဘောင်ရှိ covariate ကော်လံ၏ အမည် (ဥပမာ- သင်ထိန်းချုပ်နေသော ကိန်းရှင်)
ဤထူးခြားသောဥပမာတွင် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုနည်းမှာ အောက်ပါအတိုင်းဖြစ်သည်-
#install and import penguin package pip install penguin import penguin as pg #find partial correlation between hours and exam score while controlling for grade pg.partial_corr(data=df, x='hours', y='examScore', covar='currentGrade') n r CI95% r2 adj_r2 p-val BF10 power pearson 10 0.191 [-0.5, 0.73] 0.036 -0.238 0.598 0.438 0.082
လေ့လာသည့်နာရီနှင့် နောက်ဆုံးစာမေးပွဲအဆင့်ကြား တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှုမှာ 0.191 ဖြစ်ပြီး အပြုသဘောဆောင်သော ဆက်စပ်ဆက်စပ်မှုလေးတစ်ခုဖြစ်ကြောင်း ကျွန်ုပ်တို့တွေ့နိုင်ပါသည်။ စာသင်ချိန် အရေအတွက်များလာသည်နှင့်အမျှ စာမေးပွဲရမှတ်များလည်း တိုးလာတတ်သည်၊ လက်ရှိ အတန်းသည် မမြဲပါ။
ကိန်းရှင်များစွာကြား တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှုကို တစ်ကြိမ်တည်းတွက်ချက်ရန်၊ ကျွန်ုပ်တို့သည် .pcorr() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။
#calculate all pairwise partial correlations, rounded to three decimal places
df.pcorr().round(3)
currentGrade hours examScore
currentGrade 1.000 -0.311 0.736
hours -0.311 1.000 0.191
examScore 0.736 0.191 1.000
ရလဒ်ကို အဓိပ္ပာယ်ဖွင့်ဆိုရန် နည်းလမ်းမှာ အောက်ပါအတိုင်းဖြစ်သည်။
- လက်ရှိအတန်းနှင့် သင်ကြားသည့်နာရီကြား တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှုသည် -0.311 ဖြစ်သည်။
- လက်ရှိအဆင့်နှင့် စာမေးပွဲအဆင့် 0.736 အကြား တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှု။
- စာသင်ချိန်နှင့် စာမေးပွဲရမှတ် 0.191 ကြား တစ်စိတ်တစ်ပိုင်းဆက်စပ်မှု။