python 编写ADF 检验 ,代码结果参数所表示的含义

mac2022-06-30  21

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)第一种显示方式如图所示:

具体的参数含义如下所示:

Test  Statistic :  T值,表示T统计量

p-value: p值,表示T统计量对应的概率值

Lags Used:表示延迟

Number of Observations Used: 表示测试的次数

Critical Value 1% :  表示t值下小于 - 4.938690 , 则原假设发生的概率小于1%, 其它的数值以此类推。

其中t值和p值是最重要的,其实这两个值是等效的,既可以看t值也可以看p值。

p值越小越好,要求小于给定的显著水平,p值小于0.05,等于0最好。

t值,ADF值要小于t值,1%, 5%, 10% 的三个level,都是一个临界值,如果小于这个临界值,说明拒绝原假设。

其中,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

查阅了资料,简单的做的总结经验。 

转载于:https://www.cnblogs.com/shirely-2014/p/10512924.html

相关资源:ADF单位根检验
最新回复(0)