使用python實現(xiàn)時間序列白噪聲檢驗方式
白噪聲檢驗也稱為純隨機(jī)性檢驗, 當(dāng)數(shù)據(jù)是純隨機(jī)數(shù)據(jù)時,再對數(shù)據(jù)進(jìn)行分析就沒有任何意義了, 所以拿到數(shù)據(jù)后最好對數(shù)據(jù)進(jìn)行一個純隨機(jī)性檢驗
acorr_ljungbox(x, lags=None, boxpierce=False) # 數(shù)據(jù)的純隨機(jī)性檢驗函數(shù)
lags為延遲期數(shù),如果為整數(shù),則是包含在內(nèi)的延遲期數(shù),如果是一個列表或數(shù)組,那么所有時滯都包含在列表中最大的時滯中
boxpierce為True時表示除開返回LB統(tǒng)計量還會返回Box和Pierce的Q統(tǒng)計量
返回值:
lbvalue:測試的統(tǒng)計量
pvalue:基于卡方分布的p統(tǒng)計量
bpvalue:((optionsal), float or array) ? 基于 Box-Pierce 的檢驗的p統(tǒng)計量
bppvalue:((optional), float or array) ? 基于卡方分布下的Box-Pierce檢驗的p統(tǒng)計量
代碼實現(xiàn):
from statsmodels.stats.diagnostic import acorr_ljungboxacorr_ljungbox(b.salesVolume, lags = [6, 12],boxpierce=True)
由輸出結(jié)果可以看到,不管是使用哪個統(tǒng)計量,p值都很大,所以該數(shù)據(jù)無法拒絕原假設(shè),即認(rèn)為該數(shù)據(jù)是純隨機(jī)數(shù)據(jù)
補(bǔ)充知識:用python實現(xiàn)時間序列單位根檢驗
在時間序列的建模中,需要先對數(shù)據(jù)進(jìn)行平穩(wěn)性檢驗,常用的有DF檢驗、ADF檢驗和PP檢驗,文章實例ADF檢驗
注:檢驗的P值是只在一個假設(shè)檢驗問題中,利用樣本觀測值能夠作出拒絕原假設(shè)的最小顯著性水平。
如果a >= p, 則在顯著性水平a 下拒絕H0
如果a < p,則在顯著性水平a下接受H0
實現(xiàn)方法一:
from arch.unitroot import ADFADF(data)
ADF檢驗的原假設(shè)是不平穩(wěn),這里P值近似為0 , 所以拒絕原假設(shè),認(rèn)為序列平穩(wěn)。
from statsmodels.stats.diagnostic import unitroot_adfunitroot_adf(b.salesVolume)
這里包含了檢驗值、p-value、滯后階數(shù)、自由度等信息。我們看到了檢驗統(tǒng)計量為?5.954367776923936,小于1%的臨界值-4.01203360058309,,即p值遠(yuǎn)小于0.01,因此我們拒絕原假設(shè),認(rèn)為該時間序列是平穩(wěn)的。(這里原假設(shè)是存在單位根,即時間序列為非平穩(wěn)的。)
以上這篇使用python實現(xiàn)時間序列白噪聲檢驗方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. JavaScript Reduce使用詳解2. 深入了解JAVA 軟引用3. Python TestSuite生成測試報告過程解析4. 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法5. 解決AJAX返回狀態(tài)200沒有調(diào)用success的問題6. SpringBoot集成Redisson實現(xiàn)延遲隊列的場景分析7. Android自定義View實現(xiàn)圓環(huán)進(jìn)度條8. python之cur.fetchall與cur.fetchone提取數(shù)據(jù)并統(tǒng)計處理操作9. python基于tkinter點擊按鈕實現(xiàn)圖片的切換10. python實現(xiàn)讀取類別頻數(shù)數(shù)據(jù)畫水平條形圖案例
