Прогнозирование с помощью AR-модели
Помимо оценки параметров модели, которую вы выполняли в предыдущем упражнении, можно также строить прогнозы — как внутривыборочные, так и внешневыборочные — с помощью statsmodels. Внутривыборочный прогноз предсказывает следующую точку данных на основе всех предшествующих значений, а внешневыборочный позволяет прогнозировать любое количество точек за пределами набора данных. Для визуализации прогнозов используйте функцию plot_predict(). Вы задаёте начальную и конечную точки прогноза — при этом конечная точка может выходить за пределы имеющихся данных.
Для смоделированных данных из DataFrame simulated_data_1 с параметром \(\small \phi=0.9\) вы построите внешневыборочные прогнозы и доверительные интервалы вокруг них.
Это упражнение является частью курса
Анализ временных рядов на Python
Инструкции к упражнению
- Импортируйте класс
ARIMA, а также функциюplot_predict - Создайте экземпляр класса
ARIMAс именемmod, используя смоделированные данные из DataFramesimulated_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()