Wie rufe ich die posterioren (verfeinerten) Zustandsschätzungen aus einer Kalman-Filter-Simulation in R mit dem DSE-Paket?Wie simuliert man die nachgeschalteten gefilterten Schätzungen eines Kalman-Filters mit dem DSE-Paket in R
Ich habe ein Beispiel unten hinzugefügt. Angenommen, ich habe einen einfachen Random-Walk-State-Space erstellt, wobei der Fehler eine Standardnormalverteilung ist. Das Modell wird unter Verwendung der SS-Funktion mit initialisierten Zustands- und Kovarianzschätzungen von Null erstellt. Die theoretische Modellform ist somit: X (t) = X (t-1) + e (t) ~ N (0,1) für die Zustandsentwicklung Y (t) = X (t) + w (t) ~ N (0,1)
Wir implementieren dies nun in R, indem wir die Anweisungen auf Seite 6 und 7 des Artikels "Kalman Filtering in R" im Journal of Statistical Software befolgen. Zuerst erstellen wir das Zustandsraummodell der SS() Funktion und speichern sie in der Variable namens kalman.filter mit:
kalman.filter=dse::SS(F = matrix(1,1,1),
Q = matrix(1,1,1),
H = matrix(1,1,1),
R = matrix(1,1,1),
z0 = matrix(0,1,1),
P0 = matrix(0,1,1)
)
Dann simulieren wir eine 100 Beobachtungen aus der Modellform simulieren() verwenden und sie in einem setzen Variable namens simulate.kalman.filter:
simulate.kalman.filter=simulate(kalman.filter, start = 1, freq = 1, sampleT = 100)
Dann führen wir die Kalman-Filter gegen die Messungen l() verwendet und speichern sie unter der Variable namens Test:
test=l(kalman.filter, simulate.kalman.filter)
Von welchen Ausgaben sind meine gefilterten Schätzungen?