Prognoze cu modelul MA
La fel ca în cazul modelelor AR, vei folosi modele MA pentru a realiza prognoze în eșantion și în afara eșantionului, utilizând funcția plot_predict() din statsmodels.
Pentru seria simulată simulated_data_1 cu \(\small \theta=-0.9\), vei reprezenta grafic prognoze în eșantion și în afara eșantionului. O diferență importantă față de modelele AR(1) este că, pentru un model MA(1), prognozele cu mai mult de o perioadă în viitor sunt pur și simplu media eșantionului.
Acest exercițiu face parte din cursul
Analiza seriilor de timp în Python
Instrucțiuni pentru exercițiu
- Importă clasa
ARIMAși funcțiaplot_predict - Creează o instanță a clasei
ARIMAnumitămod, folosind datele simulatesimulated_data_1și ordinul (p,d,q) al modelului (în acest caz, pentru un MA(1)),order=(0,0,1) - Antrenează modelul
modfolosind metoda.fit()și salvează rezultatele într-un obiect numitres - 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(), începând cu punctul de date 950 ș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 MA(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()