Интервалы прогнозирования для ARMA.predict

Краткое изложение прогноза 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, но не нашел ничего нового, которое могло бы иметь отношение к прогнозированию временных рядов.

(Для прогнозов требуются интервалы прогнозирования, особенно когда речь идет о прогнозном прогнозе вне выборки.)

Помощь приветствуется.

1 ответ

Полагаю, для прогнозирования ARMA вне выборки вы можете использовать ARMA.forecast из statsmodels.tsa

Он возвращает три массива: прогнозируемые значения, стандартная ошибка и доверительный интервал для прогнозирования.

Пример с 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)
Другие вопросы по тегам