python 編寫ADF 檢驗 ,代碼結果參數所表示的含義

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

查閱了資料,簡單的作的總結經驗。 

相關文章
相關標籤/搜索