Estou usando o filtro Kalman de uma maneira muito padrão. O sistema é representado pela equação de estado e a equação de observação .
Os livros didáticos ensinam que, depois de aplicar o filtro Kalman e obter as "previsões um passo à frente" (ou "estimativa filtrada"), devemos usá-los para calcular a função de probabilidade:
Minha pergunta é: Por que a função de probabilidade é calculada usando a "estimativa filtrada" e não a "estimativa suavizada" ? Não é uma melhor estimativa do vetor de estado?
likelihood
kalman-filter
Gustavo Amarante
fonte
fonte
Respostas:
Para responder à sua pergunta: você pode usar a densidade de suavização. Mas você não precisa. A resposta de Jarle Tufto tem a decomposição que você está usando. Mas existem outros.
Usando as recursões de Kalman
Aqui você está avaliando a probabilidade de
Entretanto, meios e variações nem sempre definem completamente as distribuições de probabilidade em geral. A seguir, é apresentada a decomposição que você está usando para passar de filtrar as distribuições até as probabilidades condicionais :f(xi−1|y1,…,yi−1) f(yi|y1,…,yi−1)
Aqui é a densidade de transição de estado ... parte do modelo é a densidade de observação ... parte do modelo novamente. Na sua pergunta, você as escreve como e respectivamente. É a mesma coisa.f(xi|xi−1) f(yi|xi) xt+1=Fxt+vt+1 yt=Hxt+Azt+wt
Quando você obtém a distribuição de previsão de estado um passo à frente, está computando . Quando você se integra novamente, você obtém (1) completamente. Você escreve essa densidade completamente na sua pergunta, e é a mesma coisa.∫f(xi|xi−1)f(xi−1|y1,…,yi−1)dxi−1
Aqui você está usando apenas decomposições de distribuições de probabilidade e suposições sobre o modelo. Esse cálculo de probabilidade é um cálculo exato. Não há nada discricionário que você possa usar para fazer isso melhor ou pior.
Usando o algoritmo EM
Que eu saiba, não há outra maneira de avaliar a probabilidade diretamente nesse tipo de modelo de espaço de estado. No entanto, você ainda pode fazer uma estimativa de probabilidade máxima avaliando uma função diferente: você pode usar o algoritmo EM. Na etapa Expectativa (E-Step), você computaria Aqui
Outras coisas
Li em alguns lugares que o EM é uma maneira "mais estável" de maximizar a probabilidade, mas nunca vi esse ponto argumentar bem, nem vi a palavra "estável" definida, mas também não realmente não examinou isso mais. Nenhum desses algoritmos contorna a provação máxima local / global. Pessoalmente, costumo usar o Kalman com mais frequência apenas por hábito.
É verdade que as estimativas suavizadas do estado têm uma variação menor normalmente do que a filtragem, então acho que você está certo em ter alguma intuição sobre isso, mas não está realmente usando os estados. A probabilidade que você está tentando maximizar não é uma função dos estados.
fonte
Em geral, pela regra do produto, a probabilidade exata pode ser escrita Partindo do pressuposto do modelo de espaço de estados, segue-se que o vetor de expectativa e a matriz de variação de cada condicional em observações passadas podem ser expressos como e
Embora você possa, com certeza, usar as estimativas suavizadas, que na verdade são melhores estimativas dos estados desconhecidos, isso não daria a função de probabilidade. De fato, você usaria o valor observado de para estimar seu próprio valor esperado, portanto parece provável que isso levaria a algum viés nas estimativas resultantes.yi
fonte
Penso que uma resposta melhor para "por que" a distribuição de suavização não é usada (normalmente) é eficiência. É, em princípio, simples calcular a probabilidade marginal (suavizada) no sentido de deixar de fora, da seguinte maneira. Excluir observação j, execute o Kalman mais suavemente nos dados restantes. Em seguida, avalie a probabilidade do y invisível (j). Repita isso para todos j. Resuma as probabilidades de log. Versões mais rápidas disso funcionam com blocos (randomizados) de amostras retidas (como CV k-fold). Observe que esse esquema requer uma implementação mais geral do filtro / suave Kalman, que pode ignorar arbitrariamente as atualizações de medição, quando necessário. O passe para trás / suavização não acessa as medições (algoritmo RTS de qualquer maneira) e permanece o mesmo.
Se a série temporal for "longa o suficiente", provavelmente haverá pouco benefício útil em fazer isso, pois a probabilidade de filtragem "queima" seu transiente inicial. Mas se o conjunto de dados for curto, a probabilidade de suavização mais cara pode valer a pena. Um atraso fixo mais suave pode ser uma solução intermediária.
fonte