白噪声检验python_使用python实现时间序列白噪声检验方式
白噪聲檢驗(yàn)也稱為純隨機(jī)性檢驗(yàn), 當(dāng)數(shù)據(jù)是純隨機(jī)數(shù)據(jù)時(shí),再對(duì)數(shù)據(jù)進(jìn)行分析就沒(méi)有任何意義了, 所以拿到數(shù)據(jù)后最好對(duì)數(shù)據(jù)進(jìn)行一個(gè)純隨機(jī)性檢驗(yàn)
acorr_ljungbox(x, lags=None, boxpierce=False) # 數(shù)據(jù)的純隨機(jī)性檢驗(yàn)函數(shù)
lags為延遲期數(shù),如果為整數(shù),則是包含在內(nèi)的延遲期數(shù),如果是一個(gè)列表或數(shù)組,那么所有時(shí)滯都包含在列表中最大的時(shí)滯中
boxpierce為True時(shí)表示除開(kāi)返回LB統(tǒng)計(jì)量還會(huì)返回Box和Pierce的Q統(tǒng)計(jì)量
返回值:
lbvalue:測(cè)試的統(tǒng)計(jì)量
pvalue:基于卡方分布的p統(tǒng)計(jì)量
bpvalue:((optionsal), float or array) ? 基于 Box-Pierce 的檢驗(yàn)的p統(tǒng)計(jì)量
bppvalue:((optional), float or array) ? 基于卡方分布下的Box-Pierce檢驗(yàn)的p統(tǒng)計(jì)量
代碼實(shí)現(xiàn):
from statsmodels.stats.diagnostic import acorr_ljungbox
acorr_ljungbox(b.salesVolume, lags = [6, 12],boxpierce=True)
由輸出結(jié)果可以看到,不管是使用哪個(gè)統(tǒng)計(jì)量,p值都很大,所以該數(shù)據(jù)無(wú)法拒絕原假設(shè),即認(rèn)為該數(shù)據(jù)是純隨機(jī)數(shù)據(jù)
補(bǔ)充知識(shí):用python實(shí)現(xiàn)時(shí)間序列單位根檢驗(yàn)
在時(shí)間序列的建模中,需要先對(duì)數(shù)據(jù)進(jìn)行平穩(wěn)性檢驗(yàn),常用的有DF檢驗(yàn)、ADF檢驗(yàn)和PP檢驗(yàn),文章實(shí)例ADF檢驗(yàn)
注:檢驗(yàn)的P值是只在一個(gè)假設(shè)檢驗(yàn)問(wèn)題中,利用樣本觀測(cè)值能夠作出拒絕原假設(shè)的最小顯著性水平。
如果a >= p, 則在顯著性水平a 下拒絕H0
如果a < p,則在顯著性水平a下接受H0
實(shí)現(xiàn)方法一:
from arch.unitroot import ADF
ADF(data)
ADF檢驗(yàn)的原假設(shè)是不平穩(wěn),這里P值近似為0 , 所以拒絕原假設(shè),認(rèn)為序列平穩(wěn)。
from statsmodels.stats.diagnostic import unitroot_adf
unitroot_adf(b.salesVolume)
這里包含了檢驗(yàn)值、p-value、滯后階數(shù)、自由度等信息。我們看到了檢驗(yàn)統(tǒng)計(jì)量為?5.954367776923936,小于1%的臨界值-4.01203360058309,,即p值遠(yuǎn)小于0.01,因此我們拒絕原假設(shè),認(rèn)為該時(shí)間序列是平穩(wěn)的。(這里原假設(shè)是存在單位根,即時(shí)間序列為非平穩(wěn)的。)
以上這篇使用python實(shí)現(xiàn)時(shí)間序列白噪聲檢驗(yàn)方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持自學(xué)編程網(wǎng)。
總結(jié)
以上是生活随笔為你收集整理的白噪声检验python_使用python实现时间序列白噪声检验方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 用头插法和尾插法建立单链表(带头结点)
- 下一篇: docopt——好用的Python命令行