Estimación de parámetros de un modelo lineal dinámico.

11

Quiero implementar (en R) el siguiente Modelo lineal dinámico muy simple para el que tengo 2 parámetros variables de tiempo desconocidos (la varianza del error de observación y la varianza del error de estado ).ϵt1ϵt2

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

Quiero estimar estos parámetros en cada punto de tiempo, sin prejuicios . Por lo que entiendo, puedo usar un MCMC (en una ventana móvil para evitar el sesgo de anticipación) o un filtro de partículas (o Monte Carlo secuencial - SMC).

¿Qué método usarías y
cuáles son los pros y los contras de estos dos métodos?

Pregunta adicional: en estos métodos, ¿cómo selecciona la velocidad de cambio de los parámetros? Supongo que tenemos que ingresar una información aquí, porque hay una ganga entre usar muchos datos para estimar los parámetros y usar menos datos para reaccionar más rápidamente a un cambio en el parámetro.

RockScience
fuente
Mi pregunta es un poco similar a stats.stackexchange.com/questions/2149/… . He abierto una pregunta a propósito ya que la situación es un poco diferente y me gustaría tener opiniones diferentes. (La respuesta de gd047 se centró principalmente en el filtro Kalman sin perfume (UKF))
RockScience
Es extraño que mi recompensa no ayude ... ¿Mi pregunta está mal formulada ... Nadie tiene una respuesta? O una pregunta sobre mi pregunta?
RockScience
Tal como se plantea, esto parece un problema degenerado: los errores podrían atribuirse igualmente al ruido de observación o al ruido del proceso. ¿Hay más restricciones? ¿Es el estado unidimensional?
IanS
@lanS. Todos los objetos tienen aquí solo una dimensión. ¿Puede desarrollar un poco más el hecho de que los errores pueden ser observación o ruido? Es exactamente lo que me gustaría lograr. Me gustaría obtener una estimación de rodadura de la relación señal a ruido mediante la estimación de la desviación estándar de los ruidos 2 variables en el tiempo ....
RockScience
¿Quizás debería comenzar arreglando el SD del ruido del proceso para empezar y ver cómo reacciona el SD del ruido de observación?
RockScience

Respuestas:

4

Si tiene parámetros que varían con el tiempo y desea hacer cosas secuencialmente (filtrado), SMC tiene más sentido. MCMC es mejor cuando desea condicionar todos los datos o tiene parámetros estáticos desconocidos que desea estimar. Los filtros de partículas tienen problemas con los parámetros estáticos (degeneración).

Darren Wilkinson
fuente
1
Gracias por su respuesta. ¿Dónde puedo aprender cómo hacer SMC y qué paquete R recomendaría?
RockScience
4

Echa un vistazo al paquete dlm y su viñeta . Creo que puede encontrar lo que está buscando en la viñeta. Los autores paquete también han escrito un libro Modelos dinámicos lineales con R .

Matti Pastell
fuente
@ Matti Pastell: Tengo este libro. Es muy bueno de hecho. Mi pregunta es sobre la diferencia entre el filtro de partículas (que por lo que entiendo es una versión secuencial de MCMC) y un MCMC en una ventana móvil (en este último, volvemos a ejecutar el proceso de optimización en una ventana móvil). ¿Qué método debe preferirse y por qué?
RockScience
Además, no me parece fácil construir este modelo que varíe el tiempo con dlm. Honestamente, el paquete es muy fácil de usar para modelos que no varían en el tiempo, pero comienza a ser más complicado para todo lo demás. Editar: Por más complicado quiero decir que no hay una función para resolver el problema. Necesitas codificarte el guión.
RockScience
1
OK, también tengo el libro pero aún no he tenido tiempo de leerlo. Lamento que no ayude con tu problema.
Matti Pastell
1
Gracias de todos modos, es un buen libro, merece ser citado aquí
RockScience
3

He leído Modelos lineales dinámicos con R (buen libro), el capítulo final trata de Monte Carlo secuencial / filtrado de partículas. También incluye algo de Rcódigo; sin embargo, en las observaciones finales del capítulo 5 advierten explícitamente que SMC se vuelve cada vez menos confiable a medida que pasa el tiempo adicional porque se acumulan los errores. Por lo tanto, recomiendan "actualizar" el filtro de partículas con la distribución posterior de una muestra MCMC completa cadaTperíodos. Quizás leí mal sus advertencias, pero esto parece implicar que está mejor con la ventana móvil MCMC. Sin embargo, creo que existen importantes restricciones de procesamiento informático con ese método. Por ejemplo, suponiendo que tuviera 1,000 series temporales univariadas diferentes con 50 observaciones cada una y le tomó 10 minutos ejecutar una muestra completa de MCMC Gibbs. Entonces, le tomaría 340 días ( ) de procesamiento continuo para estimar los parámetros sin sesgo anticipado. Tal vez mi estimación del tiempo que lleva ejecutar el MCMC está descabellada, pero creo que es una estimación conservadora pero razonable.(1000×(501)×10)÷60÷24

Han pasado varios años desde que hiciste la pregunta, así que me gustaría saber si tienes una respuesta ahora.

Ursus Frost
fuente