Python တွင် autocorrelation တွက်ချက်နည်း


Autocorrelation သည် အချိန်အပိုင်းအခြားတစ်ခုနှင့် တစ်ခုအကြား ကွာဟနေသော ဗားရှင်းတစ်ခုကြား တူညီမှုအတိုင်းအတာကို တိုင်းတာသည်။

ကိန်းရှင်တစ်ခု၏ လက်ရှိတန်ဖိုးများနှင့် ၎င်း၏သမိုင်းတန်ဖိုးများကြား ဆက်နွယ်မှုကို တိုင်းတာသောကြောင့် ၎င်းကို တစ်ခါတစ်ရံတွင် “ serial correlation” သို့မဟုတ် “ lagged correlation” ဟုခေါ်သည်။

အချိန်စီးရီးတစ်ခုရှိ autocorrelation မြင့်မားသောအခါ၊ အတိတ်တန်ဖိုးများကို ရည်ညွှန်းရုံဖြင့် အနာဂတ်တန်ဖိုးများကို ခန့်မှန်းရန် လွယ်ကူလာပါသည်။

Python တွင် Autocorrelation တွက်ချက်နည်း

Python တွင် အောက်ပါ time series ရှိသည်ဆိုပါစို့။

 #define data
x = [22, 24, 25, 25, 28, 29, 34, 37, 40, 44, 51, 48, 47, 50, 51]

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

 import statsmodels.api as sm

#calculate autocorrelations
sm.tsa.acf(x)

array([ 1. , 0.83174224, 0.65632458, 0.49105012, 0.27863962,
        0.03102625, -0.16527446, -0.30369928, -0.40095465, -0.45823389,
       -0.45047733])

ရလဒ်ကို အဓိပ္ပာယ်ဖွင့်ဆိုရန် နည်းလမ်းမှာ အောက်ပါအတိုင်းဖြစ်သည်။

  • lag 0 တွင် autocorrelation သည် 1 ဖြစ်သည်။
  • lag 1 တွင် autocorrelation သည် 0.8317 ဖြစ်သည်။
  • lag 2 တွင် autocorrelation သည် 0.6563 ဖြစ်သည်။
  • lag 3 တွင် autocorrelation သည် 0.4910 ဖြစ်သည်။

နောက် … ပြီးတော့။

nlags အငြင်းအခုံများဖြင့် အသုံးပြုရန် နောက်ကျမှုများ အရေအတွက်ကိုလည်း သတ်မှတ်နိုင်သည်။

 sm.tsa.acf(x, nlags= 5 )

array([1.0, 0.83174224, 0.65632458, 0.49105012, 0.27863962, 0.03102625])

Python တွင် autocorrelation function ကိုဘယ်လိုဆွဲမလဲ။

statsmodels စာကြည့်တိုက်မှ tsaplots.plot_acf() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ Python တွင် အချိန်စီးရီးတစ်ခုအတွက် autocorrelation လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့ စီစဉ်နိုင်သည်-

 from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt

#plot autocorrelation function
fig = tsaplots.plot_acf(x, lags=10)
plt.show() 

Python တွင် Autocorrelation လုပ်ဆောင်ချက်

x-axis သည် lags အရေအတွက်ကိုပြသပြီး y-axis သည် အဆိုပါ lags အရေအတွက်တွင် autocorrelation ကိုပြသသည်။ ပုံသေအားဖြင့်၊ ကွက်ကွက်သည် lag = 0 တွင်စတင်ပြီး autocorrelation သည် lag = 0 တွင် အမြဲတမ်း 1 ဖြစ်လိမ့်မည်။

နှေးကွေးသော အငြင်းအခုံများဖြင့် နှေးကွေးသော ပြတ်တောက်မှုများကို ရွေးချယ်ခြင်းဖြင့် ပထမ ပြတ်တောက်မှုများကို ချဲ့ထွင်နိုင်သည်-

 from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt

#plot autocorrelation function
fig = tsaplots.plot_acf(x, lags= 5 )
plt.show() 

Python တွင် Autocorrelation Function ကို ပုံဖော်ခြင်း။

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

 from statsmodels.graphics import tsaplots
import matplotlib.pyplot as plt

#plot autocorrelation function
fig = tsaplots.plot_acf(x, lags= 5, color='g', title='Autocorrelation function' )
plt.show() 

စိတ်ကြိုက်ခေါင်းစဉ်ဖြင့် Python တွင် Autocorrelation လုပ်ဆောင်ချက်

နောက်ထပ် Python သင်ခန်းစာများကို ဤစာမျက်နှာတွင် သင်တွေ့နိုင်ပါသည်။

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

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