Ich möchte (in R) das folgende sehr einfache dynamische lineare Modell implementieren, für das ich 2 unbekannte zeitvariable Parameter habe (die Varianz des Beobachtungsfehlers und die Varianz des Zustandsfehlers ). ϵ 2 t
Ich möchte diese Parameter zu jedem Zeitpunkt schätzen, ohne einen Blick nach vorne zu werfen . Soweit ich weiß, kann ich entweder eine MCMC (in einem rollenden Fenster, um die Vorausschau zu vermeiden) oder einen Partikelfilter (oder Sequential Monte Carlo - SMC) verwenden.
Welche Methode würden Sie verwenden und
welche Vor- und Nachteile haben diese beiden Methoden?
Bonusfrage: Wie wählen Sie bei diesen Methoden die Änderungsgeschwindigkeit der Parameter aus? Ich denke, wir müssen hier eine Information eingeben, weil es ein Schnäppchen zwischen der Verwendung vieler Daten zur Schätzung der Parameter und der Verwendung weniger Daten zur schnelleren Reaktion auf eine Änderung des Parameters gibt.
quelle
Antworten:
Wenn Sie zeitlich variierende Parameter haben und die Dinge nacheinander ausführen möchten (Filtern), ist SMC am sinnvollsten. MCMC ist besser, wenn Sie alle Daten konditionieren möchten oder wenn Sie unbekannte statische Parameter haben, die Sie schätzen möchten. Partikelfilter haben Probleme mit statischen Parametern (Entartung).
quelle
Schauen Sie sich das dlm- Paket und seine Vignette an . Ich denke, Sie finden vielleicht in der Vignette, wonach Sie suchen. Die Paketautoren haben auch ein Buch Dynamic Linear Models with R geschrieben .
quelle
Ich habe Dynamic Linear Models with R (gutes Buch) gelesen. Das letzte Kapitel befasst sich mit der sequentiellen Monte-Carlo / Partikelfilterung. Es enthält auchT Perioden. Vielleicht habe ich ihre Warnungen falsch verstanden, aber dies scheint zu bedeuten, dass Sie mit dem Rolling Window MCMC besser dran sind. Ich würde jedoch denken, dass es bei dieser Methode erhebliche Einschränkungen bei der Computerverarbeitung gibt. Angenommen, Sie hatten 1.000 verschiedene univariate Zeitreihen mit jeweils 50 Beobachtungen und es dauerte 10 Minuten, bis ein vollständiger MCMC Gibbs-Sampler ausgeführt wurde. Dann würden Sie 340 Tage ( ) der kontinuierlichen Verarbeitung , um die Parameter ohne Vorausschau-Verzerrung zu schätzen. Vielleicht ist meine Schätzung der Zeit, die zum Ausführen des MCMC benötigt wird, völlig falsch, aber ich denke, es ist eine konservative, aber vernünftige Schätzung.(1000×(50−1)×10)÷60÷24
R
Code; In den abschließenden Bemerkungen zu Kapitel 5 warnen sie jedoch ausdrücklich davor, dass SMC mit der Zeit immer unzuverlässiger wird, da sich die Fehler ansammeln. Daher empfehlen sie, den Partikelfilter mit der posterioren Verteilung aus einer vollständigen MCMC-Probe alle "aktualisieren"( 1000 × ( 50 - 1 ) × 10 ) ÷ 60 ÷ 24Es ist einige Jahre her, seit Sie die Frage gestellt haben. Ich wäre gespannt, ob Sie jetzt selbst eine Antwort haben.
quelle