LoslegenKostenlos loslegen

Prognosegenauigkeit saisonaler Methoden bewerten

Wie du im ersten Kapitel gelernt hast, legt die Funktion window() den start und das end einer Zeitreihe anhand der zugehörigen Zeitangaben fest und nicht über Indexwerte. Beide Argumente können als Vektor im Format c(year, period) übergeben werden, den du auch schon als Argument für ts() verwendet hast. Auch hier bezieht sich period auf das Quartal.

Hier nutzt du die vierteljährlichen Besucherzahlen für Melbourne (visnights[, "VICMetro"]), um drei verschiedene Trainingssätze zu erstellen, bei denen die letzten 1, 2 bzw. 3 Jahre weggelassen werden. Sieh dir vor Beginn der Übung die vorab geladenen visnights-Daten in deiner Konsole an; das hilft dir, den richtigen Wert für das Schlüsselwort h (die Anzahl der vorherzusagenden Werte) in deinen Prognosemethoden zu bestimmen.

Berechne anschließend für jeden Trainingssatz die Daten des nächsten Jahres und vergleiche schließlich den Mean Absolute Percentage Error (MAPE) der Prognosen mit accuracy(). Warum, glaubst du, schwankt der MAPE so stark?

Diese Übung ist Teil des Kurses

Prognosen mit R

Kurs anzeigen

Anleitung zur Übung

  • Verwende window(), um aus visnights[,"VICMetro"] drei Trainingssätze zu erstellen, bei denen die letzten 1, 2 bzw. 3 Jahre weggelassen werden; nenne sie entsprechend train1, train2 und train3. Setze das Schlüsselwort end passend.
  • Berechne für jeden Trainingssatz Ein-Jahres-Prognosen mit der Methode snaive(). Nenne sie entsprechend fc1, fc2 und fc3.
  • Vergleiche – analog zum Beispielcode – den MAPE der drei Prognosesätze mit der Funktion accuracy() unter Verwendung deines Testsatzes.

Interaktive Übung

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

# Create three training series omitting the last 1, 2, and 3 years
train1 <- window(visnights[, "VICMetro"], end = c(2015, 4))
train2 <- ___
train3 <- ___

# Produce forecasts using snaive()
fc1 <- snaive(___, h = ___)
fc2 <- ___
fc3 <- ___

# Use accuracy() to compare the MAPE of each series
accuracy(fc1, visnights[, "VICMetro"])["Test set", "MAPE"]
___
___
Code bearbeiten und ausführen