LoslegenKostenlos loslegen

Einfache Prognosen aus einem geschätzten AR-Modell

Nachdem du deine Daten mit dem Befehl arima() modelliert hast, kannst du einfache Prognosen auf Basis deines Modells erstellen. Die Funktion predict() kann verwendet werden, um Prognosen aus einem geschätzten AR-Modell zu erzeugen. Im durch deinen predict()-Befehl erzeugten Objekt ist der Wert $pred die Prognose und der Wert $se der Standardfehler der Prognose.

Um Vorhersagen für mehrere Perioden über die letzten Beobachtungen hinaus zu machen, kannst du das Argument n.ahead in deinem predict()-Befehl verwenden. Dieses Argument legt den Prognosehorizont (h) fest, also die Anzahl der vorhergesagten Perioden. Die Prognosen werden rekursiv von 1 bis h Schritte in die Zukunft ab dem Ende der beobachteten Zeitreihe berechnet.

In dieser Übung erstellst du einfache Prognosen mit einem AR-Modell für die Nile-Daten, die jährliche Beobachtungen der Wasserführung des Nils von 1871 bis 1970 enthalten.

Diese Übung ist Teil des Kurses

Zeitreihenanalyse in R

Kurs anzeigen

Anleitung zur Übung

  • Verwende arima(), um ein AR-Modell an die Zeitreihe Nile anzupassen. Speichere es als AR_fit.
  • Verwende predict(), um die Wasserführung des Nils im Jahr 1971 vorherzusagen.
  • Verwende predict_AR zusammen mit $pred[1], um die 1-Schritt-Prognose zu erhalten.
  • Verwende einen weiteren Aufruf von predict(), um Prognosen von 1 Schritt bis 10 Schritte voraus (1971 bis 1980) zu erstellen. Setze dazu das Argument n.ahead auf 10.
  • Führe den vorbereiteten Code aus, um deine Nile-Daten plus die Prognosen und ein 95-%-Prognoseintervall zu plotten.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Fit an AR model to Nile
AR_fit <- arima(___, order  = ___)
print(AR_fit)

# Use predict() to make a 1-step forecast
predict_AR <- predict(___)

# Obtain the 1-step forecast using $pred[1]


# Use predict to make 1-step through 10-step forecasts
predict(___, n.ahead = ___)

# Run to plot the Nile series plus the forecast and 95% prediction intervals
ts.plot(Nile, xlim = c(1871, 1980))
AR_forecast <- predict(AR_fit, n.ahead = 10)$pred
AR_forecast_se <- predict(AR_fit, n.ahead = 10)$se
points(AR_forecast, type = "l", col = 2)
points(AR_forecast - 2*AR_forecast_se, type = "l", col = 2, lty = 2)
points(AR_forecast + 2*AR_forecast_se, type = "l", col = 2, lty = 2)
Code bearbeiten und ausführen