Prognoser med MA-modell
Precis som med AR-modeller använder du MA-modeller för att prognostisera data inom och utanför urvalet med funktionen plot_predict() i statsmodels.
För den simulerade serien simulated_data_1 med \(\small \theta=-0.9\) plottar du prognoser både inom och utanför urvalet. En viktig skillnad du kommer att märka mellan prognoser utanför urvalet med en MA(1)-modell och en AR(1)-modell är att MA(1)-prognoser för mer än en period framåt helt enkelt är medelvärdet av urvalet.
Den här övningen är en del av kursen
Tidsserieanalys i Python
Övningsinstruktioner
- Importera klassen
ARIMAoch funktionenplot_predict - Skapa en instans av klassen
ARIMAkalladmodmed hjälp av simulerad datasimulated_data_1och modellordningen (p,d,q) – för en MA(1) är detorder=(0,0,1) - Anpassa modellen
modmed metoden.fit()och spara resultatet i ett resultatobjekt kallatres - Plotta data inom urvalet med start vid datapunkt 950
- Plotta prognoser utanför urvalet samt konfidensintervall med funktionen
plot_predict(), med start vid datapunkt 950 och slut vid datapunkt 1010
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()