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

Прогнозирование с помощью AR-модели

Помимо оценки параметров модели, которую вы выполняли в предыдущем упражнении, можно также строить прогнозы — как внутривыборочные, так и внешневыборочные — с помощью statsmodels. Внутривыборочный прогноз предсказывает следующую точку данных на основе всех предшествующих значений, а внешневыборочный позволяет прогнозировать любое количество точек за пределами набора данных. Для визуализации прогнозов используйте функцию plot_predict(). Вы задаёте начальную и конечную точки прогноза — при этом конечная точка может выходить за пределы имеющихся данных.

Для смоделированных данных из DataFrame simulated_data_1 с параметром \(\small \phi=0.9\) вы построите внешневыборочные прогнозы и доверительные интервалы вокруг них.

Это упражнение является частью курса

Анализ временных рядов на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте класс ARIMA, а также функцию plot_predict
  • Создайте экземпляр класса ARIMA с именем mod, используя смоделированные данные из DataFrame simulated_data_1 и порядок (p,d,q) модели (в данном случае для AR(1)): order=(1,0,0)
  • Подберите параметры модели mod с помощью метода .fit() и сохраните результат в объект res
  • Постройте график внутривыборочных данных, начиная с точки 950
  • Постройте внешневыборочные прогнозы и доверительные интервалы с помощью функции plot_predict(), начиная с точки 1000 (где заканчиваются данные) и заканчивая точкой 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 AR(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()
Редактировать и запускать код