La mayoría de las veces, el ajuste de las matrices de ruido de filtro de Kalman se realiza mediante prueba y error o conocimiento del dominio. ¿Hay formas más basadas en principios para ajustar todos los parámetros de filtro de Kalman?
La mayoría de las veces, el ajuste de las matrices de ruido de filtro de Kalman se realiza mediante prueba y error o conocimiento del dominio. ¿Hay formas más basadas en principios para ajustar todos los parámetros de filtro de Kalman?
Respuestas:
Puede obtener datos experimentales y realizar un análisis estadístico para determinar el ruido del proceso (ruido entre los pasos de tiempo) y el ruido del sensor (en comparación con una verdad del terreno).
Para obtener la verdad fundamental sobre el ruido del sensor, necesita un sensor más preciso o realizar una prueba experimental mientras mantiene el estado de interés en un valor conocido (generalmente fijo).
Si no tiene datos experimentales, puede usar las hojas de datos o las especificaciones de cada sensor para determinar su ruido. El ruido del proceso sería más difícil en este caso, pero es posible que pueda adivinar su valor asumiendo una cierta cantidad de ruido debido, por ejemplo, a un actuador, si el actuador es la fuente principal de ruido del proceso.
Otra forma es considerar el tiempo máximo de establecimiento permitido para la estimación. Esto determinará la relación entre el ruido del proceso y el ruido del sensor. Esto le permite tener el máximo efecto de filtrado mientras cumple con los requisitos de tiempo de establecimiento.
Tenga en cuenta que esto no proporciona una buena manera de ajustar la relación entre diferentes sensores, o entre diferentes estados, por lo que no es perfecto.
Básicamente, si tiene datos experimentales, puede obtener un rendimiento óptimo. De lo contrario, solo puede calcular el ruido del proceso basándose en el supuesto ruido probable del contribuyente dominante al ruido del proceso, o determinando qué rendimiento mínimo se requiere (que no es óptimo, pero al menos obtiene lo que se necesita).
En el campo del aprendizaje automático, vemos un filtro de Kalman como un algoritmo de inferencia en un modelo de variable latente. Las medidas son visibles, pero el verdadero estado está oculto. Ahora quiere inferir los estados verdaderos.
Como de costumbre, este método se basa en un conjunto de parámetros y, en principio, la forma de obtener la mejor estimación puntual de los parámetros es observar la probabilidad de los datos (dados los parámetros) y optimizar sus parámetros para obtener El valor máximo. Esto le da la estimación de máxima probabilidad.
Desafortunadamente, en el caso del filtro de Kalman, este enfoque no es tan fácil e intratable de hacer en forma cerrada. Esto se debe a que no observamos los estados ocultos. Por lo tanto, uno tiene que aplicar algunos trucos. Una de ellas es utilizar el algoritmo de maximización de la expedición (EM), que es un enfoque iterativo: en el primer paso, calcula el valor más probable para sus estados ocultos (el valor esperado) bajo sus parámetros actuales. En el segundo paso, mantiene los estados ocultos fijos y optimiza los parámetros para obtener la solución con la mayor probabilidad. Estos pasos se repiten hasta la convergencia.
Puede leer sobre el concepto general de EM en un montón de libros de texto sobre aprendizaje automático (solo un ejemplo: "Razonamiento bayesiano y aprendizaje automático" de David Barber). El proceso de inferir los parámetros para sistemas dinámicos lineales (que le proporciona el tipo de modelo de filtro de Kalman) está bien descrito en un informe técnico de Zoubin Ghahramani y Geoffrey Hinton .
Es posible que desee leer "Una herramienta para el ajuste del filtro de Kalman" por Bernt M. Åkesson, et. Alabama. Describe el método de mínimos cuadrados de autocovarianza (ALS).