Python တွင် ဆက်စပ်မှုကို တွက်ချက်နည်း
variable နှစ်ခုကြားရှိ ဆက်နွယ်မှုကို တိုင်းတာရန် နည်းလမ်းတစ်ခုမှာ Pearson correlation coefficient ကို အသုံးပြုခြင်းဖြစ်ပြီး ကိန်းရှင်နှစ်ခုကြားရှိ မျဉ်းကြောင်းဆက်စပ်မှုကို တိုင်းတာခြင်းဖြစ်ပါသည် ။ ၎င်းသည် အမြဲတမ်း -1 နှင့် 1 အကြား တန်ဖိုးတစ်ခုကို အမြဲယူပါသည်။
- -1 သည် ကိန်းရှင်နှစ်ခုကြားတွင် လုံးဝအပျက်သဘောဆောင်သော ဆက်စပ်ဆက်နွယ်မှုကို ညွှန်ပြသည်။
- 0 သည် variable နှစ်ခုကြားတွင် linear ဆက်စပ်မှုမရှိဟု ညွှန်ပြသည်။
- 1 သည် ကိန်းရှင်နှစ်ခုကြားတွင် လုံးဝအပြုသဘောဆောင်သောမျဉ်းကြောင်းဆက်စပ်မှုကို ညွှန်ပြသည်။
ဆက်စပ်ဆက်နွယ်မှုကိန်းဂဏန်းသည် သုညမှဖြစ်ပြီး၊ ကိန်းရှင်နှစ်ခုကြားရှိ ဆက်နွယ်မှုအားကောင်းလေဖြစ်သည်။
ဤသင်ခန်းစာတွင် Python ရှိ variable များကြားဆက်စပ်မှုကို တွက်ချက်နည်းကို ရှင်းပြထားသည်။
Python တွင် ဆက်စပ်မှုကို တွက်ချက်နည်း
Python ရှိ variable နှစ်ခုကြား ဆက်စပ်မှုကို တွက်ချက်ရန်၊ Numpy corrcoef() လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ အသုံးပြုနိုင်ပါသည်။
import numpy as np np.random.seed(100) #create array of 50 random integers between 0 and 10 var1 = np.random.randint(0, 10, 50) #create a positively correlated array with some random noise var2 = var1 + np.random.normal(0, 10, 50) #calculate the correlation between the two arrays np.corrcoef(var1, var2) [[ 1. 0.335] [ 0.335 1. ]]
ဤကိန်းရှင်နှစ်ခုကြားရှိ ဆက်စပ်ဆက်စပ်ကိန်းသည် 0.335 ဖြစ်ပြီး အပြုသဘောဆက်စပ်မှုဖြစ်သည့် 0.335 ဖြစ်သည်ကို တွေ့မြင်နိုင်သည်။
ပုံမှန်အားဖြင့်၊ ဤလုပ်ဆောင်ချက်သည် ဆက်စပ်ကိန်းများကို မက်ထရစ်ကိုထုတ်ပေးသည်။ ကိန်းရှင်နှစ်ခုကြားရှိ ဆက်စပ်ကိန်းများကိုသာ ပြန်ပေးလိုပါက၊ အောက်ပါ syntax ကို အသုံးပြုနိုင်ပါသည်။
np.corrcoef(var1, var2)[0,1] 0.335
ဤဆက်စပ်ဆက်နွယ်မှုသည် ကိန်းဂဏန်းအရ သိသာမှုရှိမရှိ စမ်းသပ်ရန်၊ Pearson ဆက်စပ်ကိန်းကို အသုံးပြု၍ p-value ကို တွက်ချက်နိုင်သည်၊ ၎င်းသည် Pearson ဆက်စပ်ကိန်းကို ပြန်ပေးသည့် Scipy pearsonr() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ တွက်ချက်နိုင်သည်။
from scipy.stats.stats import pearsonr pearsonr(var1, var2) (0.335, 0.017398)
ဆက်စပ်ဆက်စပ်ကိန်းသည် 0.335 ဖြစ်ပြီး အမြီးနှစ်ခု p-value သည် 0.017 ဖြစ်သည်။ ဤ p-value သည် 0.05 ထက်နည်းသောကြောင့်၊ ကိန်းရှင်နှစ်ခုကြားတွင် စာရင်းအင်းဆိုင်ရာ သိသာထင်ရှားသောဆက်စပ်ဆက်နွယ်မှုရှိကြောင်း ကျွန်ုပ်တို့ကောက်ချက်ချနိုင်မည်ဖြစ်ပါသည်။
Pandas DataFrame တစ်ခုရှိ ကိန်းရှင်များစွာကြား ဆက်စပ်မှုကို တွက်ချက်လိုပါက .corr() လုပ်ဆောင်ချက်ကို ရိုးရိုးရှင်းရှင်း အသုံးပြုနိုင်ပါသည်။
import pandas as pd data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C']) data ABC 0 8 0 9 1 4 0 7 2 9 6 8 3 1 8 1 4 8 0 8 #calculate correlation coefficients for all pairwise combinations data.corr() ABC A 1.000000 -0.775567 -0.493769 B -0.775567 1.000000 0.000000 C -0.493769 0.000000 1.000000
အကယ်၍ သင်သည် DataFrame ရှိ သတ်မှတ်ထားသော ကိန်းရှင်နှစ်ခုကြား ဆက်စပ်မှုကိုသာ တွက်ချက်လိုပါက၊ သင်သည် ကိန်းရှင်များကို သတ်မှတ်နိုင်သည်-
data['A'].corr(data['B']) -0.775567
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ပါ သင်ခန်းစာများသည် Python တွင် အခြားသော အသုံးများသော အလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
Python တွင် Correlation Matrix ကိုဖန်တီးနည်း
Python တွင် Spearman Rank Correlation ကို တွက်နည်း
Python တွင် Autocorrelation တွက်ချက်နည်း