¿Cómo manejar datos incompletos en Kalman Filter?

8

¿Cuáles son algunos enfoques típicos para manejar datos incompletos en el filtro de Kalman? Estoy hablando de la situación en la que faltan algunos elementos del vector observado , distinto del caso en el que se pierde un vector completo observado . Otra forma de pensar sobre esto sería que la dimensión del vector observado es diferente para cada punto de tiempo.ytytp

Para explicar un poco más mi contexto, las observaciones son parámetros estimados a partir de una regresión logística realizada en cada punto de tiempo. Si bien cada regresión logística incluye las mismas covariables, a veces las estimaciones no están definidas debido a colinealidades en los datos para ese punto de tiempo.

M. Berk
fuente

Respuestas:

7

Lo que se necesita es simplemente tener una matriz de observación variable, es decir, en la ecuación de observación: matrix (y ) deben omitir en el tiempo las filas correspondientes a las entradas en . La mayoría de los paquetes en R, por ejemplo, se encargarán de eso: puede tener las series temporales multivariadas observadas con valores sin problemas.

Yt=UNAtθt+Rtmit
UNAtRttNAYtNA
F. Tusell
fuente
Me gustaría aumentar esta mejor respuesta para llamar la atención. Leí el libro Análisis de series temporales y sus aplicaciones: con ejemplos R de Robert Shumway, y en el capítulo 6, el autor describió la forma de manejar las observaciones faltantes en es rellenando con ceros. ¿Cómo se compara su método de eliminación de fila / columna con este método? Yt
Will Gu
Creo que ambos métodos son equivalentes. Sin embargo, tenga en cuenta que lo que Shumway & Stoffer proponen (y afirman que es computacionalmente más simple; supongo que depende del software que esté utilizando) requiere llenar con ceros no solo sino también otras matrices (consulte su página 347, justo arriba ( 6.79) de la tercera edición). Yt
F. Tusell
1

La solución más simple es usar cualquier valor de medición (el último bueno es el mejor), pero establecer la variación de ruido de medición correspondiente en un número extremadamente grande. En efecto, la medición falsa será ignorada. El filtro de Kalman está equilibrando la incertidumbre de medición con la incertidumbre del modelo, y en este caso, solo está calculando en función de lo que predice el modelo de estado más otras correcciones de medición. Mientras la medición no esté disponible, cualquier estado que se volvería inobservable sin esa medición aumentaría su incertidumbre con el tiempo debido al ruido del proceso. Eso es muy realista: su confianza en las proyecciones basadas en mediciones antiguas disminuye continuamente con el tiempo. (Esto es cierto para esta solución o para el caso de cambiar temporalmente la estructura del filtro para eliminar la medición).

Esta formulación asume que está utilizando un filtro de Kalman que actualiza el estado y la matriz de covarianza en cada paso, no la versión de estado estacionario. Este es el enfoque más simple si su software aún no tiene un manejo especial para los valores no disponibles. (Y el software que tiene un manejo de valor perdido bien podría manejarlo de esta manera). Este enfoque en teoría debería lograr exactamente lo mismo que modificar el tamaño de la matriz de medición y el tamaño de la matriz de covarianza de medición. Una medición con una variación casi infinita aporta la misma información que ninguna medición. Pero de esta manera, no es necesario cambiar la estructura del filtro o almacenar todas las posibilidades: es solo un cambio de parámetro (suponiendo que el caso típico de cada error de ruido de medición sea independiente,

gms
fuente