ПочатиПочніть безкоштовно

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