LoslegenKostenlos loslegen

ETS vs. saisonal-naiv

Hier vergleichst du ETS-Vorhersagen mit saisonal-naiven Vorhersagen für 20 Jahre cement, das die vierteljährliche Zementproduktion enthält, mithilfe von Zeitreihen-Cross-Validation für 4 Schritte voraus. Da die Ausführung eine Weile dauert, steht in deinem Workspace eine verkürzte Version der cement-Reihe bereit.

Das zweite Argument für tsCV() muss ein Forecast-Objekt zurückgeben. Daher brauchst du eine Funktion, die ein Modell anpasst und Vorhersagen zurückgibt. Zur Erinnerung:

> args(tsCV)
function (y, forecastfunction, h = 1, ...)

In dieser Übung verwendest du eine vorhandene Forecasting-Funktion sowie eine, die für dich erstellt wurde. Denk daran: Manchmal funktionieren einfache Methoden besser als ausgefeiltere!

Diese Übung ist Teil des Kurses

Prognosen mit R

Kurs anzeigen

Anleitung zur Übung

  • Eine Funktion, die ETS-Vorhersagen zurückgibt, fets(), wurde für dich geschrieben.
  • Wende tsCV() sowohl für ETS als auch für die saisonal-naive Methode auf die cement-Daten mit einem Vorhersagehorizont von 4 an. Nutze die neu erstellte Funktion fets und die bestehende Funktion snaive als Forecast-Funktionsargument für e1 bzw. e2.
  • Berechne das MSE der resultierenden 4-Schritt-Fehler und entferne fehlende Werte. Die Ausdrücke zur Berechnung des MSE wurden dir bereitgestellt, aber die zweiten optionalen Argumente nicht (du hast sie schon einmal verwendet).
  • Speichere das beste MSE als bestmse. Du kannst einfach die gesamte Codezeile aus der vorherigen Anweisung kopieren, die das beste MSE erzeugt.

Interaktive Übung

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

# Function to return ETS forecasts
fets <- function(y, h) {
  forecast(ets(y), h = h)
}

# Apply tsCV() for both methods
e1 <- tsCV(___, ___, h = ___)
e2 <- tsCV(___, ___, h = ___)

# Compute MSE of resulting errors (watch out for missing values)
mean(e1^2, ___)
mean(e2^2, ___)

# Copy the best forecast MSE
bestmse <- ___
Code bearbeiten und ausführen