LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Klasse ARIMA und zusätzlich die Funktion plot_predict.
  • Erzeuge eine Instanz der Klasse ARIMA namens mod mit den simulierten Daten im DataFrame simulated_data_1 und der Modellordnung (p,d,q) (hier für ein AR(1)) order=(1,0,0).
  • Schätze das Modell mod mit der Methode .fit() und speichere das Ergebnis in einem Objekt namens res.
  • 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()
Code bearbeiten und ausführen