在statsmodels adfuller()中使用的回归方法?

2024-05-18 23:43:10 发布

您现在位置:Python中文网/ 问答频道 /正文

adfuller()中使用的回归方法是什么?我正在对时间序列进行增强dickey-fuller测试,我尝试两种不同的方法。在

首先,我使用pandas.diff()得到价格的变化dy。然后我将原始的时间序列作为自变量y与{}作为相依变量传递到statsmodels.OLS(dy,y)中,得到结果。然后,提取斜率参数model.params[1]和斜率参数model.bse[1]的标准误差。这些项的商是我称之为DF = model.params[1]/model.bse[1]的Dickey-Fuller检验统计量。在

其次,我将单数时间价格序列传递到adfuller()中:

adfstat, pvalue, critvalues, resstore = ts.adfuller(y.y,regression='c',store=True,regresults=True)

现在,为了得到Dickey-Fuller检验的统计数据,我简单地通过了 DF = resstore.tvalues[1]

使用OLS我得到:

^{pr2}$

使用adfuller():

DF = -1.56386414181

我想知道这两种方法有什么区别?adfuller()是否在内部执行与OLS不同的线性回归?我已经注意到,根据我从中得到的一本书,OLS的结果是不可否认的正确的。但是我更喜欢使用adfuller(),因为它提供了测试统计的临界值作为输出的一部分。此外,adfuller()结果似乎有许多回归系数:

print resstore.resols.params ==> 
[-0.00491391  0.02366782 -0.00295179  0.01354619  0.06399901 -0.06018851
 -0.00328142 -0.03876784  0.02934003 -0.10224276  0.00227549  0.01042279
 -0.04627873  0.05503934 -0.02707106  0.02664511 -0.02428741  0.04894767
 -0.06206492  0.00508655]

我通过得到回归线的斜率来确定均值回归的半衰期。这里看起来adfuller()正在计算一个20阶回归?这似乎不对。也许我做错了?有人能解释一下adfuller()吗?在


Tags: 方法df参数model时间序列价格params

热门问题