11 votos

¿Cómo ajustar los parámetros del filtro de Kalman?<html>

Planeo usar Filtro de Kalman para estimar el monto de la cuenta de ahorros.

Sin embargo, estoy un poco perdido en cómo ajustar los parámetros del filtro.

Tomando como ejemplo la página de Wikipedia, básicamente hay tres parámetros.

P(0) puede ser establecido como (L, 0; 0, L), donde L es un número grande. Esto está bien, de todos modos P(k) debe converger.

R supuestamente es una constante; se sugiere que se tome como la covarianza de z. Bien, aunque Z está compuesto por x y v.

¿Qué tal Q? Según Una introducción al Filtro de Kalman por Greg Welch y Gary Bishop, diferentes valores de Q parecen afectar seriamente la convergencia de la estimación.

¿Alguna sugerencia sobre cómo ajustar Q?

8voto

Markus Olsson Puntos 12651

La estimación de los estados iniciales de R y particularmente de Q es en realidad más un arte que una ciencia. La tarea es estimar las covarianzas. Básicamente, tienes dos opciones principales:

  • Vivir con el hecho de que nunca podrás pinpoint exactamente la covarianza del ruido en series temporales financieras. El enfoque más utilizado es plantear la estimación de covarianza como un problema de mínimos cuadrados, como por ejemplo usando ALS. Más abajo ALS y algunas soluciones relacionadas al problema. Sin embargo, lo que hace que tu problema sea mucho más fácil es que aplicas filtros de Kalman a una cuenta de ahorros. No sé qué método exacto usas para modelar una cuenta de ahorros o qué propiedades distributivas tiene. Sin embargo, parece y suena mucho más fácil que aplicar filtros de Kalman a series temporales financieras con potencialmente varios componentes de movimiento Browniano. Un "proceso" de cuenta de ahorros puede tener covarianzas mucho más directas con las que puedes equipar a Q.

Paquete de Mínimos Cuadrados Autocovarianza (ALS)

Un nuevo método de mínimos cuadrados de autocovarianza para estimar covarianzas de ruido

Un método generalizado de mínimos cuadrados de autocovarianza para ajuste de filtro de Kalman

  • Otra solución es relajar las suposiciones distribucionales que subyacen a los filtros de Kalman y centrar tus esfuerzos en técnicas como Partículas. He tenido gran éxito implementando Filtros de Partículas en el seguimiento así como pronóstico de series temporales financieras. Sin embargo, un aviso es que los algoritmos de filtro de partículas son extremadamente costosos computacionalmente y por lo tanto pueden no ser aplicables a aplicaciones en tiempo real.

0 votos

¡Apreciamos tus sugerencias!

0 votos

+1 ¿Estás trabajando con filtros de Kalman tú mismo, Matt?

0 votos

Lo hice pero actualmente no. Estoy trabajando en algo similar a los filtros de partículas pero los algoritmos son muy costosos computacionalmente. Profundizando en la programación de GPU de Cuda para facilitar algunos cálculos de matrices. ¿Y tú?

3voto

Mo. Puntos 6747

Si tienes un modelo de espacio de estados lineal/gaussiano y estás usando un Filtro de Kalman, puedes usar la estimación de máxima verosimilitud o el algoritmo EM. Personalmente prefiero lo primero ya que no necesitas saber nada sobre suavizado. Si usas el EM, sí necesitas saber.

Si tus observaciones son $z_1, \ldots, z_n$, entonces puedes escribir una verosimilitud de innovaciones $$L(\theta) = \prod_{t=1}^n p(\epsilon_t; \theta)$$ donde $\epsilon_t = z_t - E(z_t|z_1, \ldots z_{t-1})$. Cada $p(\epsilon_t;\theta)$ es Gaussiano, y puedes obtenerlos de una iteración del filtro de Kalman. Sin embargo, suelen ser muy no lineales en $\theta$.

Aprender/ajustar con filtros de partículas es muy difícil, ya que no se puede evaluar $L(\theta)$. Afortunadamente para ti, parece ser irrelevante. No los necesitas en el caso gaussiano lineal.

2voto

Tom Eastham Puntos 6

Un buen artículo sobre la afinación adaptativa del filtro de Kalman es:

Introducción al filtro de Kalman y ajuste de sus estadísticas para estimaciones casi óptimas y límite de Cramér-Rao

Los autores presentan un enfoque adaptativo, lo que significa que se hacen estimaciones iniciales de las covarianzas del ruido, y se itera el filtro de Kalman y las estimaciones de covarianza de ruido hasta que todos los parámetros convergen a valores fijos.

Algo a tener en cuenta es si sus datos son estacionarios o no estacionarios. Si son estacionarios, debe usar una ecuación de estado diferente que en el caso no estacionario, y esto afecta al cálculo de las covarianzas de ruido y al estado inicial y la covarianza del estado.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X