Estoy interesado en cómo se pueden usar los filtros Kalman para imputar valores faltantes en los datos de series temporales. ¿También es aplicable si faltan algunos puntos de tiempo consecutivos? No puedo encontrar mucho sobre este tema. Cualquier explicación, comentario y enlace son bienvenidos y apreciados.
12
Respuestas:
Preliminares: filtrado de Kalman :
Los filtros Kalman operan en modelos de espacio de estado de la forma (hay varias formas de escribirlo; esta es fácil basada en Durbin y Koopman (2012) ; todo lo siguiente se basa en ese libro, que es excelente):
donde es la serie observada (posiblemente con valores faltantes) pero se completo. La primera ecuación (la ecuación de "medición") dice que los datos observados están relacionados con los estados no observados de una manera particular. La segunda ecuación (la ecuación de "transición") dice que los estados no observados evolucionan con el tiempo de una manera particular.yt αt
El filtro de Kalman funciona para encontrar estimaciones óptimas de ( se supone que es Normal: , por lo que lo que realmente hace el filtro de Kalman es calcular la media condicional y la varianza de la distribución para condicional en observaciones hasta el tiempo ).αt αt αt∼N(at,Pt) αt t
En el caso típico (cuando hay observaciones disponibles), el filtro de Kalman usa la estimación del estado actual y la observación actual para hacer lo mejor posible para estimar el siguiente estado , de la siguiente manera:yt αt+1
donde es la "ganancia de Kalman".Kt
Cuando no hay una observación, el filtro de Kalman todavía quiere calcular y de la mejor manera posible. Como no está disponible, no puede hacer uso de la ecuación de medición, pero aún puede usar la ecuación de transición . Por lo tanto, cuando falta , el filtro de Kalman calcula en su lugar:at+1 Pt+1 yt yt
Esencialmente, dice que dado , mi mejor suposición en cuanto a sin datos es solo la evolución especificada en la ecuación de transición. Esto se puede realizar para cualquier cantidad de períodos de tiempo con datos faltantes.αt αt+1
Si no es de datos , a continuación, el primer conjunto de ecuaciones de filtrado tomar la mejor conjetura sin datos, y añadir una "corrección" en, sobre la base de lo buena que era la estimación anterior.yt
Datos de imputación :
Una vez que el filtro de Kalman se ha aplicado a toda la gama de tiempo, usted tiene estimaciones óptimas de los estados para . Imputar datos es simple a través de la ecuación de medición. En particular, solo calcula:at,Pt t=1,2,…,T
En cuanto a una referencia, Durbin y Koopman (2012) son excelentes; la sección 4.10 discute las observaciones faltantes.
fuente
El ejemplo en la publicación que señala javlacalle en su comentario presenta puntos de tiempo perdidos consecutivos. También podría estar interesado en intervalos alrededor de los valores imputados (pronosticados en la muestra), cuyo cálculo aparece en este documento del Espacio de Estado , en la sección 2.1.
Otro artículo que podría ser interesante es este .
fuente