НачатьНачать бесплатно

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