Ich habe einen unerfahrenen Hintergrund in Zeitreihen (einige ARIMA-Schätzungen / Prognosen) und stehe vor einem Problem, das ich nicht vollständig verstehe. Jede Hilfe wäre sehr dankbar.
Ich analysiere mehrere Zeitreihen, alle über das gleiche Zeitintervall und alle mit der gleichen Häufigkeit, und beschreibe alle einen ähnlichen Datentyp. Jede Serie ist nur eine Variable, es gibt keine anderen entsprechenden Prädiktoren, die ich betrachte.
Ich wurde gebeten, ein einzelnes Modell zu schätzen, das ALLE Reihen beschreibt. Stellen Sie sich beispielsweise vor, ich könnte eine ARIMA (p, d, q) mit den gleichen Ordnungen, Koeffizienten usw. finden, die für alle Reihen geeignet sind. Mein Vorgesetzter möchte nicht, dass ich jede Serie separat schätze, und er möchte auch nicht, dass ich eine Art VAR-Modell mit Abhängigkeiten zwischen den Serien mache.
Meine Frage ist: Wie würde ich ein solches Modell überhaupt nennen und wie könnte ich es schätzen / prognostizieren? Wenn es für Sie einfacher ist, Codebeispiele zu verwenden, spreche ich sowohl SAS als auch R.
quelle
Eine Möglichkeit, dies zu tun, besteht darin, eine lange Zeitreihe mit all Ihren Daten und Sequenzen fehlender Werte zwischen den Reihen zu erstellen, um sie zu trennen. Zum Beispiel in R, wenn Sie drei Serien haben (
x
,y
undz
) , die jeweils mit einer Länge von 100 und Frequenz 12, können Sie sie kommen wie folgtBeachten Sie, dass die Anzahl der fehlenden Werte ausgewählt wird, um sicherzustellen, dass die Saisonperiode beibehalten wird. Ich habe das letzte Jahr mit 8 fehlenden Werten aufgefüllt und dann vier fehlende Jahre (48 Werte) vor der nächsten Serie hinzugefügt. Dies sollte ausreichen, um sicherzustellen, dass alle seriellen Korrelationen zwischen den Serien verschwinden.
Dann können
auto.arima()
Sie das beste Modell finden:Schließlich können Sie das kombinierte Modell für jede Serie separat anwenden, um Vorhersagen zu erhalten:
quelle
Die Schätzung eines einzelnen Modells für mehrere Zeitreihen ist Teil der Panel- Datenökonometrie. In Ihrem Fall ist @Rob Hyndman jedoch ohne erklärende Variable die wahrscheinlich beste Antwort. Wenn sich jedoch herausstellt, dass die Mittelwerte der Zeitreihen unterschiedlich sind (testen Sie es, da in diesem Fall die Methode von @Rob Hyndman fehlschlagen sollte!), Aber die ARMA-Struktur dieselbe ist, müssen Sie Arellano-Bond verwenden (sorry, Wikipedia hat) Keine Seite darauf, also suchen Sie auf Google) Typ Estimator. Das Modell in diesem Fall wäre:
quelle
Eine Alternative zu Rob Hyndmans Ansatz, eine einzelne Datenreihe zu erstellen, ist das Zusammenführen der Daten. Dies kann sinnvoll sein, wenn Ihre mehreren Zeitreihen verrauschte Messwerte von einer Reihe von Maschinen darstellen, die dasselbe Ereignis aufzeichnen. (Wenn sich jede Zeitreihe in einem anderen Maßstab befindet, müssen Sie zuerst die Daten normalisieren.)
HINWEIS: Sie haben immer noch nur 28 Messwerte, nur weniger Rauschen. Dies ist möglicherweise nicht für Ihre Situation geeignet.
quelle
Ich würde mir versteckte Markov-Modelle und dynamische Bayes'sche Netzwerke ansehen. Sie modellieren Zeitreihendaten. Sie werden auch unter Verwendung mehrerer Zeitreihen-Instanzen, z. B. mehrerer Blutdruck-Zeitreihen von verschiedenen Personen, trainiert. Sie sollten Pakete in Python und R finden, um diese zu erstellen. Möglicherweise müssen Sie für diese Modelle eine Struktur definieren.
quelle
Ich versuche das Gleiche zu tun. Anscheinend gibt es da draußen ein so genanntes "multivariates AutoRegressiv" -Modell. Ich habe einen Hinweis darauf gefunden, aber nicht, wie man es benutzt. Aufgrund des verlinkten Papiers gehe ich davon aus, dass es in R implementiert wurde.
http://journal.r-project.org/archive/2012-1/RJournal_2012-1_Holmes~et~al.pdf
quelle