from statsmodels.tsa.stattools import adfuller import numpy as np import pandas as pd adf_seq = np.array([1,2,3,4,5,7,5,1,54,3,6,87,45,14,24]) dftest = adfuller(adf_seq,autolag='AIC') dfoutput = pd.Series(dftest[0:4],index=['Test Statistic','p-value','#Lags Used','Number of Observations Used']) # 第一種顯示方式 for key,value in dftest[4].items(): dfoutput['Critical Value (%s)' % key] = value print(dfoutput) # 第二種顯示方式 print(dftest)
(1)第一種顯示方式如圖所示:測試
具體的參數含義以下所示:spa
Test Statistic : T值,表示T統計量code
p-value: p值,表示T統計量對應的機率值blog
Lags Used:表示延遲pandas
Number of Observations Used: 表示測試的次數it
Critical Value 1% : 表示t值下小於 - 4.938690 , 則原假設發生的機率小於1%, 其它的數值以此類推。io
其中t值和p值是最重要的,其實這兩個值是等效的,既能夠看t值也能夠看p值。class
p值越小越好,要求小於給定的顯著水平,p值小於0.05,等於0最好。test
t值,ADF值要小於t值,1%, 5%, 10% 的三個level,都是一個臨界值,若是小於這個臨界值,說明拒絕原假設。import
其中,1% : 嚴格拒絕原假設; 5%: 拒絕原假設; 10% 以此類推,程度愈來愈低。若是,ADF小於1% level, 說明嚴格拒絕原假設。
(2) 第二種表示方式,以下圖所示:
第一個值(0.0): 表示Test Statistic , 即T值,表示T統計量
第二個值(0.958532086060056):p-value,即p值,表示T統計量對應的機率值
第三個值(7):Lags Used,即表示延遲
第四個值(7):Number of Observations Used,即表示測試的次數
大括號中的值,分別表示1%, 5%, 10% 的三個level
查閱了資料,簡單的作的總結經驗。