我有以下代码片段,可以对我的时间序列执行adfuller测试
def dickey_fuller(series):
X = series
result = adfuller(X, regression='ct')
print('ADF Statistic: %f' % result[0])
print('p-value: %f' % result[1])
print('Lags used: %d' % result[2])
print('Critical Values:')
for key, value in result[4].items():
print('%s: %.3f' % (key, value))
print('-----------------------------------------------')
默认情况下,这些是更充分的值:
statsmodels.tsa.stattools.adfuller(x, maxlag=None, regression='c', autolag='AIC', store=False, regresults=False)
如statsmodels文档中所述,当我们拥有autolag='AIC'
时,它将选择使信息标准最小化的滞后次数。
以下是我对数据进行此测试的示例输出:
ADF Statistic: -7.359845
p-value: 0.000000
Lags used: 7
Critical Values:
1%: -4.021
5%: -3.441
10%: -3.145
我感兴趣的是在数据中包含适当的滞后次数作为列,此处使用的滞后次数为7。在这种情况下,我应将所有滞后从1升至7还是仅取第七滞后?
换句话说,返回的滞后数是滞后长度还是获得的最佳滞后?
答案 0 :(得分:0)
每docs返回使用的滞后数 S 。但是通常,在谈论此类模型时,诸如:AR(2)指的是使用两个滞后的自激模型。如果您像其他每七分之一或十二分之一一样使用一些滞后,则这是季节性因素。