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