O ajuste mais frequente das matrizes de ruído do filtro Kalman é feito por tentativa e erro ou conhecimento do domínio. Existem maneiras mais básicas de ajustar todos os parâmetros do filtro Kalman?
O ajuste mais frequente das matrizes de ruído do filtro Kalman é feito por tentativa e erro ou conhecimento do domínio. Existem maneiras mais básicas de ajustar todos os parâmetros do filtro Kalman?
Respostas:
Você pode obter dados experimentais e executar algumas análises estatísticas para determinar o ruído do processo (ruído entre as etapas de tempo) e o ruído do sensor (comparado a uma verdade no solo).
Para obter a verdade básica do ruído do sensor, você precisa de um sensor mais preciso ou teste experimentalmente enquanto mantém o estado de interesse em um valor conhecido (geralmente fixo).
Se você não possui dados experimentais, pode usar as folhas de dados ou as especificações de cada sensor para determinar seu ruído. O ruído do processo seria mais difícil nesse caso, mas você pode adivinhar seu valor assumindo uma certa quantidade de ruído devido a, por exemplo, um atuador, se o atuador for a principal fonte de ruído do processo.
Outra maneira é considerar o tempo máximo de acomodação permitido para a estimativa. Isso determinará a proporção entre o ruído do processo e o ruído do sensor. Isso permite que você tenha o efeito máximo de filtragem enquanto atende aos requisitos de tempo de acomodação.
Observe que isso não fornece uma boa maneira de ajustar a proporção entre sensores diferentes ou entre estados diferentes; portanto, não é perfeito.
Basicamente, se você tiver dados experimentais, poderá obter o desempenho ideal. Caso contrário, você só pode calcular o ruído do processo com base na suposição do provável ruído do contribuinte dominante no processo ou determinando qual desempenho mínimo é necessário (o que não é ideal, mas pelo menos obtém o necessário).
No campo do aprendizado de máquina, observamos um filtro Kalman como um algoritmo de inferência em um modelo de variável latente. As medidas são visíveis, mas o estado verdadeiro está oculto. Agora você deseja inferir os estados verdadeiros.
Como sempre, esse método baseia-se em um conjunto de parâmetros e - em princípio - a maneira de obter a melhor estimativa pontual para os parâmetros é examinar a probabilidade dos dados (dados os parâmetros) e otimizar seus parâmetros para obter o valor máximo. Isso fornece a estimativa de probabilidade máxima.
Infelizmente, no caso do filtro Kalman, essa abordagem não é tão fácil e intratável de forma fechada. Isso ocorre porque não observamos os estados ocultos. Portanto, é preciso aplicar alguns truques. Uma delas é usar o algoritmo de maximização de expecação (EM), que é uma abordagem iterativa: na primeira etapa, você calcula o valor mais provável para seus estados ocultos (o valor esperado) sob os parâmetros atuais. Na segunda etapa, você mantém os estados ocultos corrigidos e otimiza os parâmetros para obter a solução com maior probabilidade. Essas etapas são repetidas até a convergência.
Você pode ler sobre o conceito geral de EM em vários livros sobre aprendizado de máquina (apenas um exemplo: "Raciocínio Bayesiano e Aprendizado de Máquina", de David Barber). O processo de inferir os parâmetros para sistemas dinâmicos lineares (que fornece o modelo de tipo de filtro Kalman) é bem descrito em um relatório técnico de Zoubin Ghahramani e Geoffrey Hinton .
Você pode ler "Uma ferramenta para o ajuste do filtro de Kalman", de Bernt M. Åkesson, et. al. Ele descreve o método de mínimos quadrados de autocovariância (ALS).