ÎncepețiÎncepe gratuit

Prognoze cu un model AR

Pe lângă estimarea parametrilor unui model, așa cum ai făcut în exercițiul anterior, poți realiza și prognoze – atât în eșantion, cât și în afara eșantionului – folosind statsmodels. Prognoza în eșantion estimează următorul punct de date pe baza datelor disponibile până la acel moment, iar prognoza în afara eșantionului poate acoperi oricâte puncte de date din viitor. Poți reprezenta grafic datele prognozate cu ajutorul funcției plot_predict(), specificând punctul de start și cel de final al prognozei – acesta din urmă poate depăși sfârșitul setului de date cu oricâte puncte dorești.

Pentru datele simulate din DataFrame-ul simulated_data_1, cu \(\small \phi=0.9\), vei reprezenta grafic prognozele în afara eșantionului, împreună cu intervalele de încredere corespunzătoare.

Acest exercițiu face parte din cursul

Analiza seriilor de timp în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă clasa ARIMA și funcția plot_predict
  • Creează o instanță a clasei ARIMA numită mod, folosind datele simulate din DataFrame-ul simulated_data_1 și ordinul (p,d,q) al modelului (în acest caz, pentru un AR(1)), order=(1,0,0)
  • Antrenează modelul mod folosind metoda .fit() și salvează rezultatele într-un obiect numit res
  • Reprezintă grafic datele în eșantion începând cu punctul de date 950
  • Reprezintă grafic prognozele în afara eșantionului și intervalele de încredere folosind funcția plot_predict(), pornind de la sfârșitul datelor, adică de la punctul 1000, și terminând prognoza la punctul 1010

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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()
Editează și rulează codul