ပန်ဒါရှိ ဆက်စပ်ကိန်း၏ p တန်ဖိုးကို မည်သို့ရှာရမည်နည်း။


Pearson ၏ ဆက်စပ်ကိန်းကို ကိန်းရှင်နှစ်ခုကြားရှိ မျဉ်းကြောင်းဆက်စပ်မှုကို တိုင်းတာရန် အသုံးပြုနိုင်သည်။

ဤဆက်စပ်ဆက်နွယ်မှုကိန်းဂဏန်းသည် -1 နှင့် 1 ကြားရှိတန်ဖိုးကို အမြဲယူဆောင်သည်-

  • -1 : ကိန်းရှင်နှစ်ခုကြားတွင် လုံးဝအနုတ်လက္ခဏာမျဉ်းကြောင်းဆက်စပ်မှု။
  • 0 : variable နှစ်ခုကြားတွင် linear ဆက်စပ်မှုမရှိပါ။
  • 1- ကိန်းရှင်နှစ်ခုကြားတွင် ပြီးပြည့်စုံသော အပြုသဘောဆောင်သော linear ဆက်စပ်မှု။

ဆက်စပ်ကိန်းဂဏန်းတစ်ခုသည် ကိန်းဂဏန်းအရ သိသာထင်ရှားမှုရှိမရှိ ဆုံးဖြတ်ရန်၊ သက်ဆိုင်ရာ t-score နှင့် p-value ကို တွက်ချက်နိုင်သည်။

ဆက်စပ်ပေါင်းကိန်း (r) ၏ t-score ကို တွက်ချက်ရန် ဖော်မြူလာမှာ-

t = r√ n-2 / √ 1-r

p-တန်ဖိုးကို လွတ်လပ်မှု n-2 ဒီဂရီဖြင့် t-ဖြန့်ဝေမှုအတွက် သက်ဆိုင်သော အမြီးနှစ်စင်း p-တန်ဖိုးအဖြစ် တွက်ချက်သည်။

ပန်ဒါများရှိ Pearson ဆက်စပ်ကိန်း၏ p-တန်ဖိုးကို တွက်ချက်ရန်၊ SciPy စာကြည့်တိုက်မှ pearsonr() လုပ်ဆောင်ချက်ကို သင်အသုံးပြုနိုင်သည်-

 from scipy. stats import pearsonr

pearsonr(df[' column1 '], df[' column2 '])

ဤလုပ်ဆောင်ချက်သည် ကော်လံ ကော်လံ ၁ နှင့် ကော်လံ 2 ကြားရှိ Pearson ဆက်စပ်ကိန်းကို ပြန်ပေးမည်ဖြစ်ပြီး ဆက်စပ်ဆက်နွယ်မှုကိန်းဂဏန်းသည် ကိန်းဂဏာန်းအရ သိသာမှုရှိမရှိကို ပြောပြပေးသည့် သက်ဆိုင်ရာ p-တန်ဖိုးနှင့်အတူ ပြန်ပေးမည်ဖြစ်သည်။

DataFrame တစ်ခုရှိ ကော်လံတစ်ခုစီရှိ ဖြစ်နိုင်သည့် အတွဲလိုက်ပေါင်းစပ်မှုတစ်ခုစီ၏ Pearson ဆက်စပ်ဆက်စပ်ကိန်းအတွက် p-တန်ဖိုးကို တွက်ချက်လိုပါက၊ ထိုသို့ပြုလုပ်ရန် အောက်ပါစိတ်ကြိုက်လုပ်ဆောင်ချက်ကို သင်အသုံးပြုနိုင်သည်-

 def r_pvalues(df):
    cols = pd. DataFrame (columns= df.columns )
    p = cols. transpose (). join (cols, how=' outer ')
    for r in df. columns :
        for c in df. columns :
            tmp = df[df[r]. notnull () & df[c]. notnull ()]
            p[r][c] = round(pearsonr(tmp[r], tmp[c])[1], 4)
    return p

အောက်ဖော်ပြပါနမူနာများသည် အောက်ပါ pandas DataFrame ဖြင့် လက်တွေ့တွင် ဆက်စပ်ကိန်းများကို p-values များ တွက်ချက်နည်းကို ပြသသည်-

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' x ': [4, 5, 5, 7, 8, 10, 12, 13, 14, 15],
                   ' y ': [10, 12, 14, 18, np.nan, 19, 13, 20, 14, np.nan],
                   ' z ': [20, 24, 24, 23, 19, 15, 18, 14, 10, 12]})

#view DataFrame
print (df)

    X Y Z
0 4 10.0 20
1 5 12.0 24
2 5 14.0 24
3 7 18.0 23
4 8 NaN 19
5 10 19.0 15
6 12 13.0 18
7 13 20.0 14
8 14 14.0 10
9 15 NaN 12

ဥပမာ 1- Pandas ရှိ ကော်လံနှစ်ခုကြားရှိ ဆက်စပ်ကိန်းဂဏန်းအတွက် P တန်ဖိုးကို တွက်ချက်ပါ။

အောက်ပါကုဒ်သည် DataFrame ၏ x နှင့် y ကော်လံများအတွက် Pearson ဆက်စပ်ကိန်းကို တွက်ချက်ပုံနှင့် သက်ဆိုင်သော p-value ကို ဖော်ပြသည်-

 from scipy. stats import pearsonr

#drop all rows with NaN values
df_new = df. dropna ()

#calculation correlation coefficient and p-value between x and y
pearsonr(df_new[' x '], df_new[' y '])

PearsonRResult(statistic=0.4791621985883838, pvalue=0.22961622926360523)

ရလဒ်မှ ကျွန်ုပ်တို့ မြင်နိုင်သည်-

  • Pearson ဆက်စပ်ကိန်းသည် 0.4792 ဖြစ်သည်။
  • သက်ဆိုင်ရာ p-value သည် 0.2296 ဖြစ်သည်။

ဆက်စပ်ဆက်စပ်ကိန်းသည် အပြုသဘောဖြစ်သောကြောင့်၊ ၎င်းသည် ကိန်းရှင်နှစ်ခုကြားတွင် အပြုသဘောဆောင်သော linear ဆက်နွယ်မှုရှိကြောင်း ညွှန်ပြသည်။

သို့သော်၊ ဆက်စပ်ကိန်း၏ p-value သည် 0.05 ထက်မနည်းသောကြောင့်၊ ဆက်စပ်မှုမှာ ကိန်းဂဏန်းအရ သိသာထင်ရှားခြင်းမရှိပါ။

p-value ကို ဆက်စပ်ဖော်ကိန်းမှ ထုတ်ယူရန် အောက်ပါ syntax ကို အသုံးပြုနိုင်ကြောင်း သတိပြုပါ။

 #extract p-value of correlation coefficient
pearsonr(df_new[' x '], df_new[' y '])[1]

0.22961622926360523

ဆက်စပ်ကိန်းအတွက် p-တန်ဖိုးသည် 0.2296 ဖြစ်သည်။

၎င်းသည် ယခင်ထွက်ရှိထားသည့် p-value နှင့် ကိုက်ညီသည်။

ဥပမာ 2- Pandas ရှိ ကော်လံများအားလုံးကြား ဆက်စပ်ကိန်းအတွက် P တန်ဖိုးကို တွက်ချက်ပါ။

အောက်ပါကုဒ်သည် pandas DataFrame ရှိ ကော်လံတစ်ခုစီအတွက် Pearson ဆက်စပ်ဆက်စပ်ကိန်းနှင့် သက်ဆိုင်သော p-တန်ဖိုးကို တွက်ချက်နည်းကို ပြသသည်-

 #create function to calculate p-values for each pairwise correlation coefficient
def r_pvalues(df):
    cols = pd. DataFrame (columns= df.columns )
    p = cols. transpose (). join (cols, how=' outer ')
    for r in df. columns :
        for c in df. columns :
            tmp = df[df[r]. notnull () & df[c]. notnull ()]
            p[r][c] = round(pearsonr(tmp[r], tmp[c])[1], 4)
    return p

#use custom function to calculate p-values
r_pvalues(df)

             X Y Z
x 0.0 0.2296 0.0005
y 0.2296 0.0 0.4238
z 0.0005 0.4238 0.0

ရလဒ်မှ ကျွန်ုပ်တို့ မြင်နိုင်သည်-

  • x နှင့် y အကြား ဆက်စပ်ကိန်းအတွက် p-value သည် 0.2296 ဖြစ်သည်။
  • x နှင့် z ကြားရှိ ဆက်စပ်ကိန်းအတွက် p-တန်ဖိုးသည် 0.0005 ဖြစ်သည်။
  • y နှင့် z ကြားရှိ ဆက်စပ်ကိန်းအတွက် p-တန်ဖိုးသည် 0.4238 ဖြစ်သည်။

ကျွန်ုပ်တို့၏ စိတ်ကြိုက်လုပ်ဆောင်မှုတွင် p-တန်ဖိုးများကို ဒဿမ လေးနေရာသို့ ဝိုင်းစက်ထားကြောင်း သတိပြုပါ။

လုပ်ဆောင်ချက်၏ နောက်ဆုံးစာကြောင်းတွင် 4 ကို မတူသောနံပါတ်ဖြင့် ကွဲပြားခြားနားသော ဒဿမနေရာများသို့ လှည့်ရန် အားမနာပါ။

မှတ်ချက် – SciPy pearsonr() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။

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

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

Pandas ရှိ အုပ်စုအလိုက် ဆက်စပ်မှုကို တွက်ချက်နည်း
ပန်ဒါများတွင် လျှောကျဆက်စပ်မှုကို တွက်ချက်နည်း
ပန်ဒါများတွင် Spearman အဆင့်ဆက်စပ်မှုကို တွက်ချက်နည်း

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

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