Gute Praktiken bei der Vorhersage von Zeitreihen

10

Ich arbeite seit Monaten an kurzfristigen Lastprognosen und der Verwendung von Klima- / Wetterdaten, um die Genauigkeit zu verbessern. Ich habe einen Informatik-Hintergrund und aus diesem Grund versuche ich, keine großen Fehler und unfairen Vergleiche mit Statistik-Tools wie ARIMA-Modellen zu machen. Ich würde gerne Ihre Meinung zu ein paar Dingen erfahren:

  1. Ich verwende sowohl (S) ARIMA- als auch (S) ARIMAX-Modelle, um die Auswirkung von Wetterdaten auf die Vorhersage zu untersuchen. Glauben Sie, dass es notwendig wäre, auch Exponential Smoothing-Methoden zu verwenden?

  2. Mit einer Zeitreihe von 300 täglichen Stichproben beginne ich in den ersten zwei Wochen und führe eine 5-Tage-Vorausprognose mit Modellen durch, die mit der Funktion auto.arima R (Prognosepaket) erstellt wurden. Dann füge ich meinem Datensatz ein weiteres Beispiel hinzu, kalibriere die Modelle erneut und führe eine weitere 5-Tage-Vorhersage usw. bis zum Ende der verfügbaren Daten durch. Halten Sie diese Arbeitsweise für richtig?

Vielen Dank für Ihre Vorschläge. Obwohl das Ziel unserer Arbeit ein Artikel in einem Fachjournal ist, möchte ich eine Arbeit aus statistischer Sicht so streng wie möglich durchführen.

Matteo De Felice
quelle
1
Diese Frage scheint eng miteinander verbunden zu sein: stats.stackexchange.com/questions/16915/…
whuber
1
Hier ist eine alte Antwort stats.stackexchange.com/questions/6513/…
bill_080

Antworten:

9
  1. Ich denke, es lohnt sich auch, exponentielle Glättungsmodelle zu untersuchen. Exponentielle Glättungsmodelle sind eine grundlegend andere Klasse von Modellen als ARIMA-Modelle und können zu unterschiedlichen Ergebnissen für Ihre Daten führen.

  2. Dies klingt nach einem gültigen Ansatz und ist der von Rob Hyndman vorgeschlagenen Methode zur Kreuzvalidierung von Zeitreihen sehr ähnlich .

Ich würde den Kreuzvalidierungsfehler aus jeder Prognose (exponentielle Glättung, ARIMA, ARMAX) aggregieren und dann den Gesamtfehler verwenden, um die 3 Methoden zu vergleichen.

Möglicherweise möchten Sie auch eine "Rastersuche" nach ARIMA-Parametern in Betracht ziehen, anstatt auto.arima zu verwenden. Bei einer Rastersuche würden Sie jeden möglichen Parameter für ein Arima-Modell untersuchen und dann die "besten" mithilfe der Prognosegenauigkeit auswählen.

Zach
quelle
Vielen Dank für die Antwort. Ich verwende auto.arima mit deaktivierter STEPWISE-Suche und denke, dass auf diese Weise alle Parameter zwischen dem Min-Max-Bereich untersucht werden (ich habe das Papier von Hyndman & Kandahar 2008 noch nicht gelesen).
Matteo De Felice
@Matteo De Felice: Die Sache ist, es optimiert diese Parameter basierend auf AIC. Ich schlug vor, dass es sich lohnen könnte, diese Parameter anhand ihrer Leistung außerhalb der Stichprobe zu optimieren, die Sie durch Kreuzvalidierung bewerten könnten. Wenn Sie andere Modelle (z. B. ETS) vergleichen möchten, benötigen Sie außerdem eine Leistungsmetrik außerhalb der Stichprobe, da Sie AIC nicht zwischen verschiedenen Modelltypen (z. B. auto.arima und ets) vergleichen können.
Zach
In diesem Moment habe ich eine Rastersuche durchgeführt (mit auto.arima mit stepwise = FALSE) und dann die häufigsten Modelle ausprobiert, um deren Leistung zu bewerten.
Matteo De Felice
@ Matto De Felice: Wenn Sie Probleme bei der Implementierung der Kreuzvalidierung von Zeitreihen haben, kann dieser Blog-Beitrag hilfreich sein: robjhyndman.com/researchtips/tscvexample
Zach
Es ist zu beachten, dass sich ARIMA- und ETS-Modelle nicht grundlegend unterscheiden. Tatsächlich sind lineare exponentielle Glättungsmodelle Spezialfälle von ARIMA-Modellen. Siehe hier: otexts.org/fpp/8/10 .
Wart