Estimando parâmetros de um modelo linear dinâmico

11

Desejo implementar (em R) o seguinte Modelo Linear Dinâmico Dinâmico simples, para o qual tenho 2 parâmetros variáveis ​​de tempo desconhecido (a variação do erro de observação e a variação do erro de estado ϵ 2 t ).ϵt1ϵt2

Yt=θt+ϵt1θt+1=θt+ϵt2

Quero estimar esses parâmetros a cada momento, sem qualquer viés de antecipação . Pelo que entendi, posso usar um MCMC (em uma janela rolante para evitar o viés do futuro) ou um filtro de partículas (ou Sequential Monte Carlo - SMC).

Qual método você usaria e
quais são os prós e os contras desses dois métodos?

Pergunta de bônus: nesses métodos, como você seleciona a velocidade de mudança dos parâmetros? Acho que precisamos inserir uma informação aqui, porque existe uma barganha entre usar muitos dados para estimar os parâmetros e usar menos dados para reagir mais rapidamente a uma alteração no parâmetro?

RockScience
fonte
Minha pergunta é um pouco semelhante a stats.stackexchange.com/questions/2149/… . Abri uma pergunta de propósito, pois a situação é um pouco diferente e gostaria de opiniões diferentes. (A resposta por gd047 foi concentrando-se principalmente no filtro de Kalman sem cheiro (UKF))
RockScience
Estranho que minha recompensa não ajude ... Minha pergunta está mal formulada ... Ninguém tem uma resposta? Ou uma pergunta na minha pergunta?
RockScience
Do jeito que está, isso parece um problema degenerado - os erros podem ser atribuídos igualmente ao ruído da observação ou ao ruído do processo. Existem mais restrições? O estado é unidimensional?
IANS
@lanS. Todos os objetos têm de fato aqui apenas uma dimensão. Você pode desenvolver um pouco mais o fato de que os erros podem ser observação ou ruído. É exatamente o que eu gostaria de alcançar. Gostaria de obter uma estimativa de rolamento do sinal-ruído através da estimativa do sd dos 2 ruídos de tempo variando ....
RockScience
Talvez eu deva começar corrigindo o sd do ruído do processo e ver como o sd do ruído de observação reage?
RockScience

Respostas:

4

Se você tem parâmetros variáveis ​​no tempo e deseja fazer as coisas sequencialmente (filtragem), o SMC faz mais sentido. O MCMC é melhor quando você deseja condicionar todos os dados ou possui parâmetros estáticos desconhecidos que deseja estimar. Os filtros de partículas têm problemas com parâmetros estáticos (degenerescência).

Darren Wilkinson
fonte
1
Obrigado pela sua resposta. Onde posso aprender como executar o SMC e qual pacote R você recomendaria?
RockScience
4

Dê uma olhada no pacote dlm e sua vinheta . Acho que você pode encontrar o que procura na vinheta. Os autores pacote também ter escrito um livro Modelos Lineares Dinâmicos com R .

Matti Pastell
fonte
@ Matti Pastell: Eu tenho este livro. É muito bom mesmo. Minha pergunta é sobre a diferença entre o filtro de partículas (que pelo que entendi é uma versão seqüencial do MCMC) e um MCMC em uma janela rotativa (no último, executamos o processo de otimização em uma janela rotativa). Qual método deve ser preferido e por quê?
RockScience
Além disso, não acho fácil criar esse modelo variando com o dlm. Honestamente, o pacote é muito fácil de usar para modelos que não variam de tempo, mas começa a ser mais complicado para todo o resto. Edit: Por mais complicado, quero dizer que não há função para resolver o problema. Você precisa codificar a si mesmo o script.
RockScience
1
OK, eu também tenho o livro, mas ainda não tive tempo de lê-lo. Lamentamos, mas isso não ajuda no seu problema.
Matti Pastell
1
Obrigado de qualquer maneira, é um bom livro, merece ser citado aqui
RockScience
3

RT(1000×(50.-1)×10)÷60÷24

Faz vários anos desde que você fez a pergunta, então eu ficaria curioso para saber se você tem uma resposta agora.

Ursus Frost
fonte