ARMA.predict的预测区间

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(); 

I guess the code:

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

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

...不适用于ARMA预测,因为它是针对OLS而非ARMA预测制定的。我也检查了Github,但没有找到任何与时间序列预测相关的新资料。

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

希望能得到帮助。

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)

看起来这个方法也适用于ARIMA模型。http://statsmodels.sourceforge.net/devel/generated/statsmodels.tsa.arima_model.ARIMAResults.forecast.html#statsmodels.tsa.arima_model.ARMAResults.forecast - hlin117
有人有如何计算置信区间的资源吗?仅仅使用数据的标准差就可以了吗? - hlin117
import statsmodels.api as sm instead of import statsmodels as sm - Michael D

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接