Python တွင် ljung-box စမ်းသပ်နည်း


Ljung-Box စမ်းသပ်မှု သည် အချိန်စီးရီးတစ်ခုအတွင်း အလိုအလျောက်ဆက်စပ်မှုရှိမရှိ စစ်ဆေးသည့် ကိန်းဂဏန်းစမ်းသပ်မှုတစ်ခုဖြစ်သည်။

၎င်းသည် အောက်ပါယူဆချက်များကို အသုံးပြုသည်။

H 0 : အကြွင်းအကျန်များကို လွတ်လပ်စွာ ဖြန့်ဝေသည်။

H A : အကြွင်းအကျန်များကို သီးခြားခွဲဝေခြင်းမပြုပါ။ ၎င်းတို့သည် အမှတ်စဉ်ဆက်နွယ်မှုကို ပြသသည်။

အကောင်းဆုံးအားဖြင့်၊ ကျွန်ုပ်တို့သည် null hypothesis ကို ငြင်းပယ်လိုပါသည်။ ဆိုလိုသည်မှာ၊ ကျွန်ုပ်တို့သည် စမ်းသပ်မှု၏ p-value ကို 0.05 ထက် ကြီးစေလိုသည်၊ ဆိုလိုသည်မှာ ကျွန်ုပ်တို့၏ time series model ၏ အကြွင်းအကျန်များသည် သီးခြားဖြစ်သည်၊ ဆိုလိုသည်မှာ မော်ဒယ်ဖန်တီးသည့်အခါတွင် ကျွန်ုပ်တို့ ယူဆလေ့ရှိသော ယူဆချက်တစ်ခုဖြစ်သည်။

ဤသင်ခန်းစာတွင် Python ရှိ Ljung-Box စမ်းသပ်နည်းကို ရှင်းပြထားသည်။

ဥပမာ- Python ရှိ Ljung-Box စမ်းသပ်မှု

Python ရှိ ဒေတာစီးရီးတစ်ခုတွင် Ljung-Box စမ်းသပ်မှုကို လုပ်ဆောင်ရန် အောက်ပါ syntax ကိုအသုံးပြုသည့် statsmodels စာကြည့်တိုက်မှ acorr_ljungbox() လုပ်ဆောင်ချက်ကို သင်အသုံးပြုနိုင်သည်-

acorr_ljungbox(x၊ offsets=မရှိ)

ရွှေ-

  • x: ဒေတာစီးရီး
  • lags- စမ်းသပ်ရန် နောက်ကျမှုများ အရေအတွက်

ဤလုပ်ဆောင်ချက်သည် စမ်းသပ်မှုစာရင်းအင်းနှင့် သက်ဆိုင်ရာ p-တန်ဖိုးကို ပြန်ပေးသည်။ p-value သည် သတ်မှတ်ထားသော အတိုင်းအတာတစ်ခုအောက် ရောက်နေပါက (ဥပမာ α = 0.05)၊ သင်သည် null hypothesis ကို ငြင်းပယ်နိုင်ပြီး ကျန်ရှိသော အရာများကို လွတ်လပ်စွာ ဖြန့်ဝေမည်မဟုတ်ကြောင်း ကောက်ချက်ချနိုင်သည်။

“ SUNACTIVITY” ဟုခေါ်သော built-in statsmodels ဒေတာအတွဲတွင် Ljung-Box စမ်းသပ်မှုကို လုပ်ဆောင်ရန် အောက်ပါကုဒ်သည် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုနည်းကို ပြသသည်-

 import statsmodels.api as sm

#load data series
data = sm.datasets.sunspots.load_pandas().data

#view first ten rows of data series 
data[:5]

YEAR SUNACTIVITY
0 1700.0 5.0
1 1701.0 11.0
2 1702.0 16.0
3 1703.0 23.0
4 1704.0 36.0

#fit ARMA model to dataset
res = sm. tsa . ARMA (data[" SUNACTIVITY "],(1,1)). fit (disp=-1)

#perform Ljung-Box test on residuals with lag=5
sm. stats . acorr_ljungbox (res. resid , lags=[5], return_df= True )

          lb_stat lb_pvalue
5 107.86488 1.157710e-21

စမ်းသပ်မှုစာရင်းအင်းသည် 107.86488 ဖြစ်ပြီး စမ်းသပ်မှု p-value သည် 1.157710e-21 ဖြစ်ပြီး 0.05 ထက် များစွာလျော့နည်းသည်။ ထို့ကြောင့်၊ ကျွန်ုပ်တို့သည် စမ်းသပ်မှု၏ null hypothesis ကို ငြင်းပယ်ပြီး ကျန်အကြွင်းအကျန်များသည် သီးခြားလွတ်လပ်မှုမရှိဟု ကောက်ချက်ချပါသည်။

ဤဥပမာတွင် အော့ဖ်ဆက်တန်ဖိုး 5 ကိုအသုံးပြုရန် ကျွန်ုပ်တို့ရွေးချယ်ထားကြောင်း သတိပြုပါ၊ သို့သော် အော့ဖ်ဆက်အတွက် သင်အသုံးပြုလိုသည့်တန်ဖိုးကို သင်ရွေးချယ်နိုင်သည်။ ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့သည် 20 ၏တန်ဖိုးကို အစားထိုးအသုံးပြုနိုင်သည်-

 #perform Ljung-Box test on residuals with lag=20
sm. stats . acorr_ljungbox (res. resid , lags=[20], return_df= True )

           lb_stat lb_pvalue
20 343.634016 9.117477e-61

စစ်ဆေးမှု၏ စစ်ဆေးမှုစာရင်းအင်းသည် 343.634016 ဖြစ်ပြီး စစ်ဆေးမှု၏ p-value သည် 9.117477e-61 ဖြစ်ပြီး 0.05 ထက် များစွာနည်းပါသည်။ ထို့ကြောင့်၊ ကျွန်ုပ်တို့သည် စမ်းသပ်မှု၏ null hypothesis ကို တစ်ဖန် ငြင်းပယ်ပြီး ကျန်ရှိသော အရာများသည် သီးခြားမဟုတ်ကြောင်း ကောက်ချက်ချပါသည်။

သင်၏ သီးခြားအခြေအနေပေါ် မူတည်၍ အော့ဖ်ဆက်အတွက် အသုံးပြုရန် အနိမ့် သို့မဟုတ် ပိုမြင့်သော တန်ဖိုးကို သင်ရွေးချယ်နိုင်သည်။

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

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