Prognosen mit MA-Modell
Wie bei den AR-Modellen nutzt du auch bei MA-Modellen die Funktion plot_predict() aus statsmodels, um Prognosen innerhalb und außerhalb des Stichprobenbereichs zu erstellen.
Für die simulierte Zeitreihe simulated_data_1 mit \(\small \theta=-0.9\) erstellst du In-Sample- und Out-of-Sample-Prognosen. Ein großer Unterschied zwischen Out-of-Sample-Prognosen eines MA(1)-Modells und eines AR(1)-Modells ist, dass MA(1)-Prognosen für mehr als einen Schritt in die Zukunft einfach dem Mittelwert der Stichprobe entsprechen.
Diese Übung ist Teil des Kurses
Zeitreihenanalyse in Python
Anleitung zur Übung
- Importiere die Klasse
ARIMAund die Funktionplot_predict. - Erzeuge eine Instanz der Klasse
ARIMAnamensmodmit den simulierten Datensimulated_data_1und der (p,d,q)-Ordnung des Modells (hier für ein MA(1))order=(0,0,1). - Schätze das Modell
modmit der Methode.fit()und speichere es in einem Ergebnisobjektres. - Zeichne die In-Sample-Daten beginnend bei Datenpunkt 950.
- Zeichne Out-of-Sample-Prognosen und Konfidenzintervalle mit der Funktion
plot_predict(), beginnend bei Datenpunkt 950 und mit einem Prognoseende bei Punkt 1010.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()