R-Code für die Vorhersage von Zeitreihen mithilfe des Kalman-Filters

23

Hat jemand ein gutes Beispiel für die Vorhersage / Glättung von Zeitreihen mit Kalman-Filter in R?

Aaron
quelle

Antworten:

27

Haben Sie sich Time Series Task View bei CRAN angesehen?

Es werden mehrere Einträge für Pakete aufgelistet, die die Kalman-Filterung abdecken:

und mehr noch, dies ist eine ziemlich verbreitete Technik für die Schätzung von Zeitreihen.

Dirk Eddelbüttel
quelle
15

Zusätzlich zu den in anderen Antworten genannten Pakete, können Sie im Paket suchen Prognose , die sie mit einer bestimmten Klasse von Modellen in Zustandsraumform gegossen und verpacken MARSS mit Beispielen und Anwendungen in der Biologie (siehe insbesondere die gut writen Handbuch , Kap. 5).

Für allgemeine Anwendungen stimme ich jedoch mit den vorherigen Antworten überein , wobei dlm aus meiner Sicht ein vielseitiges und leistungsfähiges Paket ist (gut beschrieben im Buch Dynamische lineare Modelle in R von Petris et al.). KFAS bietet Routinen an, die die meisten implementieren der in der exzellenten Zeitreihenanalyse durch State Space Methods und FKF beschriebenen Algorithmen mit begrenzten Möglichkeiten und ohne Beispiele, aber am schnellsten.

F. Tusell
quelle
2
Das Buch Dynamic Linear Models in R von Petris et al. Weist einen hohen Rauschabstand auf.
Aaron
8

Schauen Sie sich für gute Beispiele die dlm-Vignette an. Ich würde alle anderen Pakete vermeiden, wenn Sie keine klare Vorstellung davon haben, was Sie tun möchten und wie.

Dr. G
quelle
3
+1 empfehle ich immer dlmund seine Vignette. Das Fazit ist, dass DLMs der Programmierung viel ähnlicher sind als die meisten anderen Methoden. Wenn Sie etwas anderes als das grundlegende Modellieren und Prognostizieren vorhaben, müssen Sie die Matrizen (in gewissem Sinne Zustandsraumprogramme) und Methoden verstehen, die dlmfür Sie generiert werden. Die meisten anderen Pakete übernehmen die Verarbeitung Ihrer Matrizen, aber Sie müssen verstehen, wie sie erstellt werden.
Wayne
7

Das Paket stsm ist jetzt auf CRAN verfügbar. Das Paket bietet einige Hilfsprogramme für das grundlegende strukturelle Zeitreihenmodell.

Die in anderen Antworten erwähnten Pakete bieten flexible Schnittstellen, um eine breite Palette von Zeitreihenmodellen in Zustandsraumform umzuwandeln und fundierte Implementierungen des Kalman-Filters zu ermöglichen. Meiner Ansicht nach wird dem Verfahren zur Optimierung der Wahrscheinlichkeitsfunktion jedoch wenig Aufmerksamkeit geschenkt. Typischerweise wird ein Allzweckalgorithmus - der L-BFGS-B-Algorithmus - verwendet. Das stsmPaket erweitert die Standardprozedur und bietet spezifische Algorithmen, die an das grundlegende Strukturmodell angepasst sind.

Weitere Einzelheiten entnehmen Sie bitte dem Dokument, das der Packung beiliegt. Für ein kurzes Beispiel können Sie auch diesen Beitrag sehen .

javlacalle
quelle