【发布时间】:2019-12-28 02:22:45
【问题描述】:
我有以下代码 sn-p 用于对我的时间序列执行 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 取还是只取第 7 个滞后?
或者换句话说,返回的滞后数是滞后长度还是采取的最佳滞后?
【问题讨论】:
标签: python-3.x time-series statsmodels