Прогнозування за допомогою моделі AR
Окрім оцінювання параметрів моделі, яке ви виконували у попередній вправі, у statsmodels можна будувати прогнози як у межах вибірки (in-sample), так і поза вибіркою (out-of-sample). Прогноз у межах вибірки — це прогноз наступної точки, використовуючи наявні на той момент дані. Поза вибіркою — це прогноз будь-якої кількості майбутніх точок. Ви можете побудувати графік прогнозованих значень за допомогою функції plot_predict(). Вкажіть початкову та кінцеву точки прогнозування; кінцева може виходити за межі кінця набору даних на будь-яку кількість точок.
Для змодельованих даних у датафреймі simulated_data_1 з \(\small \phi=0.9\) ви побудуєте прогнози поза вибіркою та довірчі інтервали навколо цих прогнозів.
Ця вправа є частиною курсу
Аналіз часових рядів у Python
Інструкції до вправи
- Імпортуйте клас
ARIMA, а також функціюplot_predict. - Створіть екземпляр класу
ARIMAз назвоюmod, використовуючи змодельовані дані з датафрейму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()