Vorhersagen mit einem AR-Modell
Zusätzlich zur Parameterschätzung, die du in der letzten Übung gemacht hast, kannst du mit statsmodels auch Prognosen erstellen – sowohl innerhalb des Stichprobenbereichs (in-sample) als auch außerhalb (out-of-sample). In-sample bedeutet, den nächsten Datenpunkt auf Basis der bis dahin verfügbaren Daten vorherzusagen; out-of-sample prognostiziert eine beliebige Anzahl zukünftiger Datenpunkte. Mit der Funktion plot_predict() kannst du die Vorhersagen visualisieren. Du gibst dafür den Start- und Endpunkt der Prognose an; der Endpunkt kann beliebig viele Datenpunkte nach dem Ende des Datensatzes liegen.
Für die simulierten Daten im DataFrame simulated_data_1 mit \(\small \phi=0.9\) wirst du out-of-sample-Prognosen und Konfidenzintervalle um diese Prognosen herum darstellen.
Diese Übung ist Teil des Kurses
Zeitreihenanalyse in Python
Anleitung zur Übung
- Importiere die Klasse
ARIMAund zusätzlich die Funktionplot_predict. - Erzeuge eine Instanz der Klasse
ARIMAnamensmodmit den simulierten Daten im DataFramesimulated_data_1und der Modellordnung (p,d,q) (hier für ein AR(1))order=(1,0,0). - Schätze das Modell
modmit der Methode.fit()und speichere das Ergebnis in einem Objekt namensres. - Plotte die In-sample-Daten beginnend bei Datenpunkt 950.
- Plotte Out-of-sample-Prognosen der Daten und Konfidenzintervalle mit der Funktion
plot_predict(), beginnend dort, wo die Daten bei Punkt 1000 enden, und beende die Prognose 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 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()