from statsmodels.tsa.stattools import adfuller

可以看到里面的參數(shù)
x:array_like,1維,時(shí)間序列
maxlag:int型,最大延遲階數(shù)
regression:Constant and trend order to include in regression,回歸中包含的常數(shù)和趨勢階數(shù)。解釋一下:ADF檢驗(yàn)和DF檢驗(yàn)一樣可以用于三種類型的單位根檢驗(yàn)。(王燕,應(yīng)用時(shí)間序列分析,6.3.2ADF檢驗(yàn),分了三種類型,代碼里給了四種類型)
* 'c' : constant only (default),默認(rèn),僅有常數(shù)均值。
* 'ct' : constant and trend,有常數(shù)均值,有趨勢。
* 'ctt' : constant, and linear and quadratic trend,有常數(shù)均值有線性和二次趨勢。
* 'nc' : no constant, no trend,無常數(shù)均值,無趨勢。
當(dāng)選擇的回歸類型不同時(shí),檢驗(yàn)結(jié)果也會不同。我在這里深深地踩了一個(gè)坑??梢钥匆幌聲r(shí)序圖,你的數(shù)據(jù)是否有趨勢,是否有常數(shù)均值。
autolag : {'AIC', 'BIC', 't-stat', None},自動選擇延遲階數(shù)
* if None, then maxlag lags are used,如果選擇none,則使用最大延遲階數(shù)
* if 'AIC' (default) or 'BIC', then the number of lags is chosen
to minimize the corresponding information criterion,如果選擇AIC或者BIC,則延遲階數(shù)是根據(jù)相應(yīng)的最小信息準(zhǔn)則決定的。(BIC就是SBC準(zhǔn)則)(王燕,應(yīng)用時(shí)間序列分析,3.3.6模型優(yōu)化)
* 't-stat' based choice of maxlag. Starts with maxlag and drops a
lag until the t-statistic on the last lag length is significant
using a 5%-sized test,這個(gè)選擇要基于最大延遲maxlag,從最大延遲階數(shù)開始,每次減少一個(gè)延遲,直到某一階延遲的t統(tǒng)計(jì)量對5%來說是顯著的。(也就是說p_value值小于0.05,顯著拒絕原假設(shè),證明無單位根,也就是說序列是平穩(wěn)的)

這是我的數(shù)據(jù)的檢測結(jié)果。
第一部分是τ(tao)統(tǒng)計(jì)量的值。
第二部分是p_value的值。
第三部分是結(jié)果使用的延遲階數(shù)。
第四部分是ADF回歸和計(jì)算臨界值所使用的觀察次數(shù)。
第五部分是臨界值。
第六部分是最大的信息準(zhǔn)則的值(如果autolag 非空),也就是AIC或者BIC的值。
當(dāng)我們看序列是否平穩(wěn)的結(jié)果時(shí),一般首先看第二部分的p_value值。如果p_value值比0.05小,證明有單位根,也就是說序列平穩(wěn)。如果p_value比0.05大則證明非平穩(wěn)。
源碼里有一句note,如果p_value接近于0.05時(shí),則要通過臨界值進(jìn)行判斷。也就是說如果p_value接近于0.05就要通過第一部分τ(tao)統(tǒng)計(jì)量的值和第五部分的臨界值進(jìn)行對比。τ(tao)統(tǒng)計(jì)量的值比臨界值小,就證明平穩(wěn),反之就是非平穩(wěn)。我的檢測結(jié)果τ(tao)統(tǒng)計(jì)量的值再臨界值5%-10%之間。比5%的臨界值大。這里的1%,5%,10%對應(yīng)的是99%,95%,90%置信區(qū)間。
ADF檢驗(yàn)只適合AR(P)模型。
且對方差齊性效果好,對異方差性效果不佳。異方差可用PP檢驗(yàn)。