6

时间序列的 ARMA 预测摘要 ( print arma_mod.summary()) 显示了一些关于置信区间的数字。是否可以在显示预测值的图中使用这些数字作为预测区间?

ax = indexed_df.ix[:].plot(figsize=(12,8))
ax = predict_price.plot(ax=ax, style='rx', label='Dynamic Prediction');
ax.legend(); 

我猜代码:

from statsmodels.sandbox.regression.predstd import wls_prediction_std
prstd, iv_l, iv_u = wls_prediction_std(results)

在这里找到:模型预测的置信区间

...不适用于此处,因为它是为 OLS 而不是 ARMA 预测而设计的。我还检查了 github,但没有发现任何可能与时间序列预测有关的新内容。

(我想进行预测需要预测间隔,尤其是在样本外预测时。)

帮助表示赞赏。

4

1 回答 1

9

我想,对于样本外 ARMA 预测,您可以使用statsmodels.tsa中的 ARMA.forecast

它返回三个数组:预测值、标准误差和预测的置信区间。

ARMA(1,1)、时间序列 y 和预测提前 1 步的示例:

import statsmodels as sm
arma_res = sm.tsa.ARMA(y, order=(1,1)).fit()
preds, stderr, ci = arma_res.forecast(1)
于 2015-05-19T14:29:29.620 回答