Verwenden von Kalman-Filtern, um fehlende Werte in Zeitreihen zu unterstellen

11

Ich bin daran interessiert, wie Kalman-Filter verwendet werden können, um fehlende Werte in Zeitreihendaten zu unterstellen. Ist es auch anwendbar, wenn einige aufeinanderfolgende Zeitpunkte fehlen? Ich kann zu diesem Thema nicht viel finden. Alle Erklärungen, Kommentare und Links sind willkommen und geschätzt!

GS9
quelle
Dieser Beitrag könnte Sie interessieren . Es gibt ein Beispiel, das auf der Zustandsraumdarstellung eines ARIMA-Modells basiert, um fehlende Werte mithilfe des Kalman-Filters zu unterstellen.
Javlacalle
@javlacalle danke, ich kannte diesen Beitrag bereits und er ist ein großartiges Beispiel für eine konkrete Implementierung. Der theoretische Hintergrund interessiert mich aber eher.
GS9

Antworten:

8

Vorbereitungen: Kalman-Filterung :

Kalman-Filter arbeiten mit Zustandsraummodellen der Form (es gibt verschiedene Möglichkeiten, sie zu schreiben; dies ist eine einfache, die auf Durbin und Koopman (2012) basiert; alle folgenden basieren auf diesem Buch, das ausgezeichnet ist):

yt=Zαt+εtεtN(0,H)αt1=Tαt+ηtηtN(0,Q)α1N(a1,P1)

Dabei ist die beobachtete Reihe (möglicherweise mit fehlenden Werten), aber α t ist vollständig unbeobachtet. Die erste Gleichung (die "Mess" -Gleichung) besagt, dass die beobachteten Daten in besonderer Weise mit den nicht beobachteten Zuständen zusammenhängen. Die zweite Gleichung (die "Übergangs" -Gleichung) besagt, dass sich die unbeobachteten Zustände im Laufe der Zeit auf eine bestimmte Weise entwickeln.ytαt

Das Kalman-Filter arbeitet, um optimale Schätzungen von ( α t wird als normal angenommen: α tN ( a t , P t ) . Das Kalman-Filter berechnet also tatsächlich den bedingten Mittelwert und die Varianz der Verteilung für α t abhängig von Beobachtungen bis zum Zeitpunkt tαtαtαtN(at,Pt)αtt ).

Im typischen Fall (wenn Beobachtungen verfügbar sind) verwendet der Kalman-Filter die Schätzung des aktuellen Zustands und der aktuellen Beobachtung , um das Beste zu tun, um den nächsten Zustand α t + 1 wie folgt zu schätzen :ytαt+1

at+1=Tat+Kt(ytZαt)Pt+1=TPt(TKtZ)+Q

wobei der "Kalman-Gewinn" ist.Kt

Wenn es nicht eine Beobachtung ist, wollen die Kalman - Filter noch berechnen und P t + 1 in der bestmöglichen Art und Weise. Da y t nicht verfügbar ist, kann es die Messgleichung nicht verwenden, aber es kann immer noch die Übergangsgleichung verwenden . Wenn also y t fehlt, berechnet der Kalman-Filter stattdessen:at+1Pt+1ytyt

at+1=TatPt+1=TPtT+Q

Im Wesentlichen heißt es, dass bei meine beste Vermutung für α t + 1 ohne Daten nur die in der Übergangsgleichung angegebene Entwicklung ist. Dies kann für eine beliebige Anzahl von Zeiträumen mit fehlenden Daten durchgeführt werden.αtαt+1

Wenn es ist Daten , dann der erste Satz von Filtern Gleichungen , um die beste Schätzung , ohne dass Daten, und fügen Sie in eine „Korrektur“, je nachdem , wie gut die vorherige Schätzung war.yt


Daten unterstellen :

at,Ptt=1,2,,T

y^t=Zat

Als Referenz sind Durbin und Koopman (2012) ausgezeichnet; In Abschnitt 4.10 werden fehlende Beobachtungen erörtert.

  • Durbin, J. & Koopman, SJ (2012). Zeitreihenanalyse mit Zustandsraummethoden (Nr. 38). Oxford University Press.
cfulton
quelle
Die Verwendung der reibungsloseren Lösung wäre für die Eingabe sinnvoller (da bereits alle (nicht fehlenden) Daten
Juho Kokkala
0

Das Beispiel in der Veröffentlichung, auf das javlacalle in seinem Kommentar verweist, enthält aufeinanderfolgende fehlende Zeitpunkte. Möglicherweise interessieren Sie sich auch für Intervalle um die unterstellten (in der Stichprobe prognostizierten) Werte, deren Berechnung in diesem State Space-Dokument in Abschnitt 2.1 aufgeführt ist.

Ein weiteres interessantes Papier ist dieses .

Wayne
quelle