Прогнозування за моделлю MA
Як і для моделей AR, ви використаєте моделі MA для прогнозування всередині вибірки та поза вибіркою за допомогою функції plot_predict() зі statsmodels.
Для змодельованого ряду simulated_data_1 з \(\small \theta=-0.9\) ви побудуєте прогнози у вибірці та поза вибіркою. Одну велику відмінність, яку ви побачите між позавибірковими прогнозами за моделлю MA(1) та AR(1), полягає в тому, що прогнози MA(1) більш ніж на один крок уперед — це просто середнє значення вибірки.
Ця вправа є частиною курсу
Аналіз часових рядів у Python
Інструкції до вправи
- Імпортуйте клас
ARIMA, а також функціюplot_predict. - Створіть екземпляр класу
ARIMAпід назвоюmod, використавши змодельовані даніsimulated_data_1і порядок (p,d,q) моделі (у цьому разі для MA(1)) —order=(0,0,1). - Навчіть модель
modметодом.fit()і збережіть результат в об'єкті результатів під назвоюres. - Побудуйте графік даних у вибірці, починаючи з точки 950.
- Побудуйте позавибіркові прогнози даних і довірчі інтервали за допомогою функції
plot_predict(), починаючи з точки 950 і завершуючи прогноз у точці 1010.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Import the ARIMA and plot_predict from statsmodels
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.graphics.tsaplots import plot_predict
# Forecast the first MA(1) model
mod = ARIMA(___, order=___)
res = mod.fit()
# Plot the data and the forecast
fig, ax = plt.subplots()
simulated_data_1.loc[950:].plot(ax=ax)
plot_predict(res, start=___, end=___, ax=ax)
plt.show()