ПочатиПочніть безкоштовно

Прогнозування за моделлю 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()
Редагувати та запускати код