Los DLM son geniales, pero no son tan simples como, por ejemplo, ARIMA u otros métodos. En otros métodos, conecta sus datos y luego modifica algunos parámetros del algoritmo, tal vez refiriéndose a varios diagnósticos para guiar su configuración.
Con un DLM, está creando una máquina de espacio de estado, que consta de varias matrices que básicamente implementan algo como un modelo oculto de Markov. Algunos paquetes ( sspir
creo, entre otros) esperan que comprenda el concepto y lo que hacen las matrices. Recomiendo encarecidamente que comience con el dlm
paquete y, como recomienda @RockScience, recorra la viñeta.
Con dlm
vas a básicamente tomar varias medidas:
¿Qué tipo de componentes describen mi serie? ¿Una tendencia? Estacionalidad? Variables exógenas? Utilizará dlm
herramientas como dlmModPoly
implementar estos componentes, utilizando el +
operador para unirlos en un solo modelo.
Cree una subrutina R que tome todos los parámetros requeridos por este modelo, cree los componentes con esos parámetros, luego los sume y devuelva el modelo resultante.
Use dlmMLE
para hacer una búsqueda / optimización para encontrar los parámetros apropiados (usando MLE, que es básicamente optimización, con las dificultades que pueden ocurrir en la optimización). dlmMLE
llama repetidamente a su subrutina R con parámetros candidatos para crear modelos, luego los prueba.
Cree su modelo final, utilizando la subrutina R que creó más los parámetros que encontró en el paso 3.
Filtre sus datos con dlmFilter
, luego quizás con suavidad dlmSmooth
.
Si usa dlmModReg
o hace algo que hace que el modelo tenga parámetros variables en el tiempo, no puede usar dlmForecast
para pronosticar su serie. Si termina con un modelo de variante de tiempo, deseará completar sus datos de entrada con NA y dejar que dlmFilter
complete los NA por usted (el pronóstico de un hombre pobre), ya dlmForecast
que no funciona con parámetros que varían en el tiempo.
Si desea examinar los componentes individualmente (digamos la tendencia, por separado de la temporada), necesitará comprender las matrices y lo que hay en cada columna, además de comprender un poco cómo dlm
los une (¡el orden importa!).
Hay otro paquete, cuyo nombre se me escapa, que intenta crear un front-end que puede usar varios de estos paquetes (incluso dlm
como el back-end). Desafortunadamente, nunca he conseguido que funcione bien, pero ese podría ser yo.
Realmente recomiendo conseguir un libro sobre DLM. Conseguí un par de ellos y jugué mucho dlm
para llegar a donde estoy, y no soy el experto de ninguna manera.