7 votos

Estimación por máxima verosimilitud y filtro de Kalman

Conozco las recursiones del filtro de Kalman y puedo derivarlas, pero lo que no entiendo realmente es cómo estimar los hiperparámetros utilizando la máxima verosimilitud.

Entiendo que al ejecutar el filtro de Kalman obtenemos el error de predicción y su varianza, que se puede utilizar para construir la función de verosimilitud.

Lo que no entiendo muy bien es el orden en que se hacen estos pasos. ¿Se supone que debo:

Método 1

1) Ejecutar el filtro de Kalman dados unos valores iniciales arbitrarios y obtener la función de verosimilitud.

2) Maximizar la función de verosimilitud con respecto a los hiperparámetros del modelo.

O

Método 2

1) Estimar los hiperparámetros del modelo de espacio de estados utilizando la máxima verosimilitud.

2) Ejecute el filtro Kalman con los hiperparámetros fijados en estas estimaciones.

He encontrado esta pregunta que responde a lo que necesito: Estimación de los parámetros de LogLikelihood para el filtro de Kalman lineal gaussiano . Aquí los hiperparámetros se estiman a partir de la función de verosimilitud y eso es lo mismo que el algoritmo de la p. 8 superior en estos notas de clase especifica. Sin embargo, en las mismas notas está escrito (p. 10 medio) "Dado un conjunto de valores óptimos de los parámetros, $\theta_{ML}$ Ahora vale la pena explorar las trayectorias de los componentes no observados...".

¿La forma correcta de realizar el análisis es la siguiente?

Método 3

1) Ejecutar el filtro de Kalman dados unos valores iniciales arbitrarios y obtener la función de verosimilitud.

2) Maximizar la función de verosimilitud con respecto a los hiperparámetros del modelo.

3) Ejecute de nuevo el filtro Kalman utilizando las estimaciones ML obtenidas en el paso 2) . ¿Utiliza estas estimaciones estatales en el siguiente análisis?

3voto

Xincify Puntos 13

Primero hay que aclarar las cosas. La derivación original del filtro de Kalman es óptima para las predicciones causales. Esto significa que se predice en el tiempo $t$ observaciones dadas hasta el momento $t$ .

Ahora, para la inferencia de máxima verosimilitud (ML) de los parámetros, asumiendo que estos parámetros son compartidos a través del tiempo, durante la inferencia de las variables de estado ocultas es necesario utilizar la versión no causal del filtro de Kalman, es decir, el filtro de Kalman adelante-atrás (suavizado RTS).

Después de esto, se lleva a cabo la estimación de ML como de costumbre. Se trata de un ejemplo del conocido algoritmo de maximización de expectativas, aplicado en el contexto del filtrado de Kalman ya en 1982. Por lo tanto, es iterativo, y no se llega necesariamente a un óptimo global. Como es habitual en estos modelos, si se parte primero de unos valores razonables de los hiperparámetros y se ejecuta el algoritmo hacia delante y hacia atrás, se obtendrán mejores resultados. Este es el caso de la mayoría de los modelos bayesianos que dan lugar a funciones objetivo no convexas (EM, Inferencia Variacional, ...).

Para más referencias, consulte el Apéndice A.3 del documento de revisión de Roweis y Ghahramani: https://authors.library.caltech.edu/13697/1/ROWnc99.pdf

2voto

AutoCiudad Puntos 21

Podría estar equivocado, pero lo que tiene sentido para mí es esto:

  1. definir una función para el filtrado y la predicción de kalman. Haz que esa salida sea la log verosimilitud (usando v y la matriz de covarianza de v). La probabilidad logarítmica en este caso se describe en el post de intercambio de pilas al que te refieres. Asegúrese de que Q, R, mu_0 y A son parámetros libres
  2. Optimice la función con respecto a esos parámetros maximizando la probabilidad logarítmica.

Esencialmente sí, el procedimiento de optimización subyacente comenzará con valores de parámetros aleatorios, pero a partir de ahí optimizará los parámetros para ajustarse a los observables. No veo cómo se pueden estimar estos parámetros primero y luego hacer el filtro de Kalman.

Fuente: https://faculty.washington.edu/eeholmes/Files/Intro_to_kalman.pdf

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X