Como lidar com dados incompletos no Kalman Filter?

8

Quais são algumas abordagens típicas para lidar com dados incompletos no filtro Kalman? Eu estou falando sobre a situação em que alguns elementos do vetor observado yt estão faltando, distinto do caso em que um inteiro observado vector yt é perdido. Outra maneira de pensar sobre isso seria que a dimensão p do vetor observado é diferente para cada ponto no tempo.

Para explicar um pouco mais o meu contexto, as observações são parâmetros estimados a partir de uma regressão logística realizada em cada momento. Embora cada regressão logística inclua as mesmas covariáveis, algumas vezes as estimativas são indefinidas devido a colinearidades nos dados para esse ponto no tempo.

M. Berk
fonte

Respostas:

7

O que é necessário é simplesmente ter uma matriz de observação variável, ou seja, na equação de observação: matrix (e ) deve omitir no tempo as linhas correspondentes às entradas em . A maioria dos pacotes em R, por exemplo, cuidará disso: você pode ter as séries temporais multivariadas observadas com valores sem problemas.

Yt=Atθt+Rtet
AtRttNAYtNA
F. Tusell
fonte
Gostaria de encontrar esta melhor resposta para obter atenção. Li o livro Análise de séries temporais e suas aplicações: com exemplos de R de Robert Shumway, e no capítulo 6, o autor descreveu a maneira de lidar com as observações ausentes em , preenchendo com zeros. Como o seu método de eliminação de linha / coluna se compara com esse método? Yt
Will Gu
Eu acho que os dois métodos são equivalentes. Observe, no entanto, que o que Shumway e Stoffer propõem (e afirmam que é computacionalmente mais simples; acho que depende de qual software você está usando) requer preenchimento de zeros não apenas mas também outras matrizes (verifique a página 347, logo acima ( 6.79) da terceira edição). Yt
F. Tusell
1

A solução mais simples é usar qualquer valor de medição (o melhor é o último), mas defina a variação do ruído de medição correspondente para um número extremamente grande. Com efeito, a medida falsa será ignorada. O filtro Kalman está equilibrando a incerteza de medição com a incerteza do modelo e, nesse caso, você está apenas estimando com base no que o modelo de estado predizer, além de outras correções de medição. Enquanto a medição não estiver disponível, qualquer estado que se torne inobservável sem essa medição terá sua incerteza aumentada ao longo do tempo devido ao ruído do processo. Isso é muito realista - sua confiança nas projeções com base em medições antigas diminui continuamente ao longo do tempo. (Isso é verdade para esta solução ou para o caso de alterar temporariamente a estrutura do filtro para eliminar a medição).

Essa formulação supõe que você esteja usando um filtro Kalman que atualiza a matriz de estado e covariância em cada etapa, não a versão de estado estacionário. Essa é a abordagem mais simples se o seu software ainda não tiver tratamento especial para valores indisponíveis. (E o software que tem manipulação de valor ausente pode muito bem lidar com isso dessa maneira). Essa abordagem na teoria deve realizar exatamente o mesmo que modificar o tamanho da matriz de medida e o tamanho da matriz de covariância da medida. Uma medida com variação quase infinita contribui com as mesmas informações que nenhuma medida. Mas dessa forma, não há necessidade de alterar a estrutura do filtro ou armazenar todas as possibilidades - é apenas uma alteração de parâmetro (assumindo que o caso típico de cada erro de ruído de medição seja independente,

gms
fonte