Quais são as desvantagens dos modelos de espaço de estado e do Kalman Filter para modelagem de séries temporais?


53

Dadas todas as boas propriedades dos modelos de espaço de estado e KF, pergunto-me - quais são as desvantagens da modelagem de espaço de estado e do uso do Kalman Filter (ou EKF, UKF ou filtro de partículas) para estimativa? Vamos dizer que metodologias convencionais como ARIMA, VAR ou métodos ad-hoc / heurísticos.

Eles são difíceis de calibrar? Eles são complicados e difíceis de ver como uma mudança na estrutura de um modelo afetará as previsões?

Ou, dito de outra maneira - quais são as vantagens do ARIMA, VAR convencional sobre os modelos de espaço de estado?

Só consigo pensar nas vantagens de um modelo de espaço de estado:

  1. Ele lida facilmente com quebras estruturais, mudanças, parâmetros variáveis ​​no tempo de algum modelo estático - apenas torne esses parâmetros estados dinâmicos de um modelo de espaço de estado e o modelo se ajustará automaticamente a qualquer mudança nos parâmetros;
  2. Ele lida com os dados ausentes com muita naturalidade, basta fazer o passo de transição do KF e não o passo de atualização;
  3. Ele permite alterar os parâmetros dinâmicos de um modelo de espaço de estados (covariâncias de ruídos e matrizes de transição / observação); portanto, se sua observação atual veio de uma fonte um pouco diferente das outras - você pode facilmente incorporá-lo à estimativa sem fazer isso. qualquer coisa especial;
  4. Usando as propriedades acima, ele permite manipular facilmente dados com espaçamento irregular: altere um modelo a cada vez de acordo com o intervalo entre as observações ou use o intervalo regular e trate os intervalos sem observações como dados ausentes;
  5. Permite usar dados de diferentes fontes simultaneamente no mesmo modelo para estimar uma quantidade subjacente;
  6. Permite construir um modelo a partir de vários componentes dinâmicos não observáveis interpretáveis e estimar;
  7. Qualquer modelo ARIMA pode ser representado em um formato de espaço de estado, mas apenas modelos simples de espaço de estado podem ser representados exatamente no formato ARIMA.

11
JFew vantagens adicionais, como observado em seu primeiro ponto, podem incorporar facilmente mudanças de nível e outliers múltiplos. Na minha experiência, quebras estruturais podem ser facilmente identificadas com espaço de estado que o ARIMA. Também pode incorporar facilmente efeitos não lineares de variáveis ​​exógenas. Não requer que os dados da série temporal sejam estacionários, o que é um grande +.
forecaster

2
Bem, tomarei modelos de espaço de estado sobre o ARIMA a qualquer momento. Eu posso pensar em duas desvantagens (mais ou menos): a) o modelo de espaço de estado correspondente de um modelo ARIMA possui muitos zeros desnecessários nas matrizes de design. Pode-se argumentar que o ARIMA é mais compacto. b) existem modelos não-lineares / não-gaussianos que raramente possuem formas analíticas que podem às vezes ser descritas na forma ARIMA, mas serão difíceis no espaço de estados tradicional.
Cagdas Ozgenc

2
@Kochede Durbin e Koopman também não pareciam pensar em muitas desvantagens - eles mencionaram duas no final da página 52 em seu fantástico livro didático . E eu diria que essas desvantagens não são mais necessariamente verdadeiras.

2
Algumas questões . Identifica claramente as mudanças de tendência no tempo e relata os pontos no tempo em que a tendência muda? Distingue entre alterações de parâmetro e alterações de variação de erro e informa sobre isso? Ele detecta e relata efeitos específicos de avanço e atraso em torno de preditores especificados pelo usuário? Pode-se especificar o número mínimo de valores em um grupo antes que uma tendência de mudança de nível / hora local seja declarada? Distingue entre a necessidade de transformações de energia e os pontos determinísticos no tempo em que a variação do erro muda? Os modelos ARMAX atendem a todas essas considerações.
precisa saber é o seguinte

11
Para completar, uma desvantagem em algumas circunstâncias é que você precisa explicá-las. Isso depende do seu público. Fico feliz se alguém quiser descartar isso como algo que é ou deveria ser irrelevante para a escolha de uma técnica.
Nick Cox

Respostas:


25

Aqui está uma lista preliminar de desvantagens que pude extrair de seus comentários. Críticas e acréscimos são bem-vindos!

No geral - comparado ao ARIMA, os modelos de espaço de estado permitem modelar processos mais complexos, ter estrutura interpretável e lidar facilmente com irregularidades de dados; mas por isso você paga com maior complexidade de um modelo, calibração mais difícil e menos conhecimento da comunidade.

  1. O ARIMA é um aproximador universal - você não se importa com o verdadeiro modelo por trás dos seus dados e usa ferramentas universais de diagnóstico e ajuste do ARIMA para aproximar esse modelo. É como um ajuste de curva polinomial - você não se importa com qual é a verdadeira função, sempre pode aproximá-la com um polinômio de algum grau.
  2. Os modelos de espaço de estado naturalmente exigem que você anote algum modelo razoável para o seu processo (o que é bom - você usa seu conhecimento prévio do processo para melhorar as estimativas). Obviamente, se você não tem idéia do seu processo, sempre pode usar algum modelo universal de espaço de estados - por exemplo, representar o ARIMA em uma forma de espaço de estados. Mas o ARIMA, em sua forma original, tem uma formulação mais parcimoniosa - sem introduzir estados ocultos desnecessários.
  3. Como existe uma variedade tão grande de formulações de modelos de espaço de estado (muito mais rica que a classe de modelos ARIMA), o comportamento de todos esses modelos em potencial não é bem estudado e se o modelo que você formulou é complicado - é difícil dizer como ele se comportará. sob diferentes circunstâncias. Obviamente, se o seu modelo de espaço de estado for simples ou composto de componentes interpretáveis, não haverá esse problema. Como o ARIMA é sempre o mesmo ARIMA bem estudado, deve ser mais fácil antecipar seu comportamento, mesmo que você o utilize para aproximar algum processo complexo.
  4. Como o espaço de estados permite modelar direta e exatamente modelos complexos / não lineares, para esses modelos complexos / não lineares você pode ter problemas com a estabilidade da filtragem / previsão (divergência EKF / UKF, degradação do filtro de partículas). Você também pode ter problemas ao calibrar os parâmetros do modelo complicado - é um problema de otimização computacionalmente difícil. O ARIMA é simples, possui menos parâmetros (1 fonte de ruído em vez de 2 fontes de ruído, sem variáveis ​​ocultas), portanto, sua calibração é mais simples.
  5. No espaço de estado, há menos conhecimento e software da comunidade na comunidade estatística do que no ARIMA.

11
Você conhece algum exemplo / aplicação industrial em tempo real em que um filtro Kalman tenha um desempenho melhor que uma simples média móvel ou suavização de exp na previsão de uma série temporal, desde que não exista um modelo subjacente claro (exclua os modelos decorrentes das leis da física) ? Na maioria dos trabalhos, o desempenho é muito semelhante (e os trabalhos acadêmicos têm um viés de desempenho positivo para modelos novos, originais e complexos). Na maioria dos casos, não há conhecimento de um modelo adequado linear estado do sistema e covariâncias, etc, necessários para especificar um filtro Klaman ...
Mannaggia

Isso é verdade. Ainda tenho um exemplo na minha prática. Quando você tem algum modelo de uso geral (como regressão linear), pode definir os estados dos parâmetros do Filtro Kalman e estimar dinamicamente. Obviamente, você também pode reajustar seu modelo a cada passo, mas isso é muito mais caro em termos de computação do que uma única atualização KF. Se, na realidade, os parâmetros realmente variam ao longo do tempo ou se o modelo não corresponde exatamente ao processo real - isso pode ajudar a encaixar melhor o modelo e melhorar o desempenho.
Kochede

11
Não consigo encontrar referências para o ARIMA ser um aproximador universal universal que não seja o seu post. Você poderia me indicar uma?
Skander H.

2
@Alex Isso decorre do teorema de decomposição do Wold, por exemplo, ver aqui phdeconomics.sssup.it/documents/Lesson11.pdf
Kochede

11
Posso dizer que o modelo de espaço de estado tem uma forma mais geral e o ARIMA cobre apenas um subconjunto dele?
Vickyyy

3

Obrigado @IrishStat por várias perguntas muito boas nos comentários, a resposta para suas perguntas é muito longa para ser postada como comentário, então eu a posto como resposta (infelizmente, não para a pergunta original do tópico).

As perguntas foram: " Identifica claramente as mudanças de tendência de tempo e relata os pontos no tempo em que a tendência muda? Distingue entre alterações de parâmetro e alterações de variação de erro e informa sobre isso? Detecta e relata efeitos específicos de avanço e atraso no usuário preditores especificados? Pode-se especificar o número mínimo de valores em um grupo antes que uma tendência de mudança de nível / hora local seja declarada? Distingue entre a necessidade de transformações de energia e os pontos determinísticos no tempo em que a variação de erro é alterada? "

  1. Identifique as mudanças de tendência - sim, naturalmente, você pode tornar a inclinação da tendência uma das variáveis ​​de estado e o KF estimará continuamente a inclinação atual. Você pode então decidir qual mudança de inclinação é grande o suficiente para você. Como alternativa, se a inclinação não variar no tempo no seu modelo de espaço de estado, você poderá testar os resíduos durante a filtragem de uma maneira padrão para ver quando há alguma interrupção no seu modelo.
  2. Distinguir entre alterações de parâmetros e alterações de variação de erro - sim, a variação pode ser um dos parâmetros (estados); em seguida, qual parâmetro provavelmente mudará depende da probabilidade do seu modelo e de quão particularmente os dados foram alterados.
  3. Detectar relações lead / lag - não tenho certeza disso, você certamente pode incluir quaisquer vars defasados ​​em um modelo de espaço de estado; para seleção de defasagens, você pode testar os resíduos de modelos com defasagens diferentes incluídas ou, em um caso simples, usar apenas um correlograma cruzado antes de formular um modelo.
  4. Especifique o número limite de observações para decidir a mudança de tendência - sim, como em 1) porque a filtragem é feita recursivamente, você pode não apenas alterar a inclinação do limiar que é grande o suficiente para você, mas também o número de observações para garantir a confiança. Mas melhor: o KF produz não apenas uma estimativa da inclinação, mas também faixas de confiança para essa estimativa; portanto, você pode decidir que a inclinação mudou significativamente quando a sua confiança ultrapassou algum limite.
  5. Distinga entre necessidade de transformação de energia e necessidade de variação maior - não sei se entendi corretamente, mas acho que você pode testar os resíduos durante a filtragem para ver se eles ainda estão normais com variação apenas maior ou se têm alguma inclinação para que você precise alterar seu modelo. Melhor - você pode torná-lo um estado de comutação binária do seu modelo, e o KF o estimará automaticamente com base na probabilidade. Nesse caso, o modelo não será linear, portanto, você precisará do UKF para fazer a filtragem.

1

O Kalman Filter é o estimador quadrático linear ideal quando a dinâmica de estado e os erros de medição seguem as chamadas suposições gaussianas lineares ( http://wp.me/p491t5-PS ). Portanto, desde que você conheça sua dinâmica e modelos de medição e eles sigam as premissas gaussianas lineares, não há melhor estimador na classe de estimadores quadráticos lineares. No entanto, os raciocínios mais comuns para aplicativos com falha do Kalman Filter são:

  1. Conhecimento impreciso / incorreto da dinâmica do estado e dos modelos de medição.

  2. Inicialização imprecisa do filtro (fornecendo uma estimativa e covariância inicial do estado que é inconsistente com o verdadeiro estado do sistema). Isso é facilmente superado usando um procedimento de inicialização WLS (Weighted Least Squares).

  3. Incorporar medições que são "discrepantes" estatísticos em relação ao modelo de dinâmica do sistema. Isso pode fazer com que o Kalman Gain tenha elementos negativos, o que pode levar a uma matriz de covariância semi-definida não positiva após a atualização. Isso pode ser evitado com o uso de algoritmos "gating", como o elipsóide, para validar a medição antes de atualizar o Kalman Filter com essa medição.

Estes são alguns dos erros / problemas mais comuns que eu já vi trabalhando com o Kalman Filter. Caso contrário, se as suposições de seus modelos forem válidas, o Kalman Filter é um estimador ideal.


1

Você pode consultar o excelente livro de previsão bayesiana e modelos dinâmicos (Harrison e West, 1997). Os autores mostram que quase todos os modelos tradicionais de séries temporais são casos particulares do modelo dinâmico geral. Eles também enfatizam as vantagens. Talvez uma das principais vantagens seja a facilidade com a qual você pode integrar muitos modelos de espaço de estado simplesmente aumentando o vetor de estado. Você pode, por exemplo, integrar perfeitamente regressores, fatores sazonais e um componente autorregressivo em um único modelo.


Olá, você pode elaborar mais sobre "Você pode, por exemplo, integrar perfeitamente regressores, fatores sazonais e um componente autorregressivo em um único modelo". Corrija-me se eu estiver errado, isso significa para o ARIMA que você precisa tornar a série temporal estacionária, mas para o modelo de espaço de estado, você só precisa ajustar o número de variáveis ​​de estado?
Vickyyy

@Vickyyy Ao contrário do ARIMA, os modelos de espaço de estado não assumem estacionariedade. Você pode adicionar muitos componentes a ele e representá-los em um único vetor de estado.
Anselmo

1

Eu acrescentaria que, se você usar diretamente uma função de espaço de estado, provavelmente precisará entender as várias matrizes que compõem um modelo e como elas interagem e funcionam. É muito mais como definir um programa do que definir um modelo ARIMA. Se você estiver trabalhando com um modelo dinâmico de espaço de estado, fica ainda mais complicado.

Se você usar um pacote de software que tenha uma função de espaço de estado muito, muito boa, poderá evitar parte disso, mas a grande maioria dessas funções nos pacotes R exige que você pule para os detalhes em algum momento.

Na minha opinião, é muito parecido com as estatísticas bayesianas em geral, cuja maquinaria requer mais compreensão, cuidado e alimentação para usar do que funções mais freqüentes.

Nos dois casos, vale a pena os detalhes / conhecimentos adicionais, mas pode ser uma barreira à adoção.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.