Tengo experiencia como novato en series de tiempo (algunas estimaciones / pronósticos de ARIMA) y estoy enfrentando un problema que no entiendo completamente. Cualquier ayuda sería muy apreciada.
Estoy analizando múltiples series de tiempo, todas en el mismo intervalo de tiempo y todas con la misma frecuencia, y todas describen un tipo de datos similar. Cada serie es solo una variable, no hay otros predictores correspondientes que estoy viendo.
Se me ha pedido que calcule un solo modelo que describa TODAS las series; por ejemplo, imagine que podría encontrar un ARIMA (p, d, q) con los mismos órdenes, coeficientes, etc., que podría ajustarse a todas las series. Mi supervisor no quiere que calcule por separado cada serie, ni quiere que haga algún tipo de modelo VAR con dependencias entre las series.
Mi pregunta es: ¿cómo llamaría incluso a ese modelo y cómo podría estimarlo / pronosticarlo? Si es más fácil para usted usar ejemplos de código, hablo SAS y R.
fuente
Una forma de hacerlo es construir una serie de tiempo larga con todos sus datos y con secuencias de valores faltantes entre las series para separarlos. Por ejemplo, en I, si tiene tres series (
x
,y
yz
) cada uno de longitud 100 y la frecuencia 12, puede unirse a ellos de la siguiente maneraTenga en cuenta que se elige el número de valores faltantes para garantizar que se mantenga el período estacional. Completé el último año con 8 valores faltantes y luego agregué cuatro años faltantes (48 valores) antes de la próxima serie. Eso debería ser suficiente para garantizar que las correlaciones en serie desaparezcan entre series.
Luego puede usar
auto.arima()
para encontrar el mejor modelo:Finalmente, puede aplicar el modelo combinado a cada serie por separado para obtener pronósticos:
fuente
La estimación del modelo único para series de tiempo múltiples es el ámbito de la econometría de datos de panel . Sin embargo, en su caso sin variable explicativa, la respuesta de @Rob Hyndman es probablemente la mejor opción. Sin embargo, si resulta que los medios de las series temporales son diferentes (¡pruébelo, ya que en este caso el método de @Rob Hyndman debería fallar!), Pero la estructura ARMA es la misma, entonces tendrá que usar Arellano-Bond (lo siento, Wikipedia ha no hay página en él, así que búscalo en google) tipo estimador. El modelo en ese caso sería:
fuente
Una alternativa al enfoque de Rob Hyndman, para hacer una sola serie de datos, es fusionar los datos. Esto podría ser apropiado si sus series de tiempo múltiples representan lecturas ruidosas de un conjunto de máquinas que registran el mismo evento. (Si cada serie de tiempo está en una escala diferente, primero debe normalizar los datos).
NOTA: todavía solo termina con 28 lecturas, solo menos ruido, por lo que esto puede no ser apropiado para su situación.
fuente
Vería modelos ocultos de Markov y redes dinámicas bayesianas. Modelan datos de series de tiempo. También están capacitados utilizando múltiples series de tiempo, por ejemplo, series de tiempo de presión arterial múltiples de varios individuos. Debería encontrar paquetes en Python y R para construirlos. Puede que tenga que definir la estructura de estos modelos.
fuente
Estoy tratando de hacer lo mismo. Aparentemente, hay algo llamado un modelo 'AutoRegresivo Multivariante' por ahí. He encontrado referencias a él, pero no cómo usarlo. Según el documento vinculado, supongo que se ha implementado en R.
http://journal.r-project.org/archive/2012-1/RJournal_2012-1_Holmes~et~al.pdf
fuente