SES vs. Naive
In dieser Übung wendest du dein Wissen über Trainings- und Testsätze, die Funktion subset() und die Funktion accuracy() an, die du in Kapitel 2 gelernt hast, um SES- und naive Prognosen für die marathon-Daten zu vergleichen.
Etwas sehr Ähnliches hast du bereits getan, als du in einer früheren Übung „Bewertung der Prognosegüte nicht-saisonaler Methoden“ naive und Mittelwert-Prognosen verglichen hast.
Hier ist der Ablauf zur Wiederholung:
- Importiere und lade zuerst deine Daten. Lege fest, wie viel deiner Daten du für Training und wie viel für Testing einplanst; die Sätze dürfen sich nicht überschneiden.
- Erzeuge mittels Subsetting einen Trainingssatz, den du als Argument in deiner(n) Prognosefunktion(en) verwendest. Optional kannst du auch schon einen Testsatz für später erstellen.
- Berechne Prognosen für den Trainingssatz mit der/den von dir gewählten Prognosefunktion(en) und setze
hgleich der Anzahl der Werte, die du prognostizieren willst – das entspricht auch der Länge des Testsatzes. - Um die Ergebnisse anzusehen, verwende die Funktion
accuracy()mit der Prognose als erstem Argument und den Originaldaten (oder dem Testsatz) als zweitem Argument. - Wähle ein Maß in der Ausgabe, z. B. RMSE oder MAE, um die Prognose(n) zu beurteilen; ein kleinerer Fehler bedeutet eine höhere Genauigkeit.
Die marathon-Daten sind in deinem Arbeitsbereich geladen.
Diese Übung ist Teil des Kurses
Prognosen mit R
Anleitung zur Übung
- Erstelle mit
subset()einen Trainingssatz fürmarathon, der alle bis auf die letzten 20 Jahre der Daten umfasst; diese reservierst du für das Testing. - Berechne die SES- und die naive Prognose für diesen Trainingssatz und speichere sie in
fcsesbzw.fcnaive. - Berechne in der Konsole die Prognosegüte der beiden Prognosesätze mit der Funktion
accuracy(). - Weise die besten Prognosen (entweder
fcsesoderfcnaive) basierend auf dem RMSEfcbestzu.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Create a training set using subset()
train <- ___(___, end = length(marathon) - ___)
# Compute SES and naive forecasts, save to fcses and fcnaive
fcses <- ses(___, h = ___)
fcnaive <- naive(___, h = ___)
# Calculate forecast accuracy measures
accuracy(___, ___)
accuracy(___, ___)
# Save the best forecasts as fcbest
fcbest <- ___