如何使用 statsmodel 的 AutoRegression 预测样本外?

How to forecast out of sample with AutoRegression from statsmodel?

我有时间序列的销售数据。首先,我按年对销售额进行分组。我想预测 2021、2022 和 2023 年的销售额。我有 2000 年的数据。

我的问题与此类似,但是我想知道如何在训练索引之外进行预测。

model = AutoReg(grp, lags=5)
model_fit = model.fit()
predictions = model_fit.predict(start=len(grp), end=len(grp)+3, dynamic=False)

如果我这样做,结果是:

2021-12-31   NaN
2022-12-31   NaN
2023-12-31   NaN
2024-12-31   NaN

如果我将结束变量设置为 len(grp)-1,我可以让它工作,但这意味着我正在对样本中的数据进行预测我想对未来进行预测。

属性 dynamic 似乎很重要,正如它在文档中所说的那样,它表示预测使用动态计算的滞后值的索引。

时间序列的索引没有 freq 集,即使索引是年度的。

grp.index.freq="Y" 

帮我完成了工作。当你有时间序列的数字索引时,似乎也没有任何问题。