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()
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()
ခေါင်းစဉ်နှင့် အရောင် အငြင်းအခုံများဖြင့် ကွက်ကွက်တွင်အသုံးပြုသည့် စက်ဝိုင်းများ၏ ခေါင်းစဉ် နှင့် အရောင်ကိုလည်း သင်ပြောင်းလဲနိုင်သည်-
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 သင်ခန်းစာများကို ဤစာမျက်နှာတွင် သင်တွေ့နိုင်ပါသည်။