Modelado de series de tiempo desigualmente espaciadas

12

Tengo una variable continua, muestreada durante un período de un año a intervalos irregulares. Algunos días tienen más de una observación por hora, mientras que otros períodos no tienen nada durante días. Esto hace que sea particularmente difícil detectar patrones en las series de tiempo, porque algunos meses (por ejemplo, octubre) están altamente muestreados, mientras que otros no.

ingrese la descripción de la imagen aquí

Mi pregunta es ¿cuál sería el mejor enfoque para modelar esta serie de tiempo?

  • Creo que la mayoría de las técnicas de análisis de series temporales (como ARMA) necesitan una frecuencia fija. Podría agregar los datos para tener una muestra constante o elegir un subconjunto de datos que sea muy detallado. Con ambas opciones me faltaría información del conjunto de datos original, que podría revelar patrones distintos.
  • En lugar de descomponer la serie en ciclos, podría alimentar el modelo con todo el conjunto de datos y esperar que recoja los patrones. Por ejemplo, transformé la hora, el día de la semana y el mes en variables categóricas y probé una regresión múltiple con buenos resultados (R2 = 0.71)

Tengo la idea de que las técnicas de aprendizaje automático como ANN también pueden elegir estos patrones de series temporales desiguales, pero me preguntaba si alguien lo ha intentado y podría darme algún consejo sobre la mejor manera de representar patrones de tiempo en una red neuronal.

doblebyte
fuente

Respuestas:

4

ARIMA, suavizado exponencial y otros requieren puntos de muestra espaciados uniformemente. A medida que escribe, podría agrupar sus datos (por ejemplo, en días), pero al escribir también, perdería información. Además, puede terminar con valores perdidos, por lo que deberá imputarlos, ya que ARIMA no es muy bueno para manejar los valores perdidos.

Una alternativa, a medida que escribe de nuevo, es alimentar variables ficticias en un marco de regresión. Personalmente, no me gustan mucho los dummies categóricos, porque esto implica un límite agudo entre las categorías vecinas. Esto generalmente no es muy natural. Así que preferiría mirar splines periódicos con diferentes periodicidades. Este enfoque tiene la ventaja de tratar con su muestreo desigual y también con valores perdidos.

Tenga mucho cuidado al interpretar . El ajuste dentro de la muestra es notoriamente engañoso como una medida de la precisión del pronóstico fuera de la muestra ( ver aquí ). Yo diría que esta desconexión entre el ajuste dentro de la muestra y la precisión del pronóstico fuera de la muestra también significa que no hay conexión entre el ajuste dentro de la muestra y qué tan bien un modelo "entendió" los datos, incluso si su interés no radica en el pronóstico , pero solo en el modelado per se. Mi filosofía es que si no puede pronosticar bien una serie temporal, no la ha entendido en ningún sentido significativo.R2

Finalmente, no exagere el modelado. Solo por mirar sus datos, es obvio que algo sucedió en junio, en un día de agosto y en septiembre / octubre. Le sugiero que primero descubra qué era este algo e incluya esto en su modelo, por ejemplo, como variables explicativas (que puede incluir en ARIMAX si lo desea). Lo que sucedió allí obviamente no es estacionalidad.

Stephan Kolassa
fuente
0

Dado que su pregunta y la buena respuesta de @Stephan Kolassa discuten ARIMA y las redes neuronales en particular, quería mencionar que puede dar el forecastpaquete de Runa vez: tiene una nnetarfunción que entrena una red neuronal de alimentación simple con 1 capa oculta y entradas rezagadas.

Tal vez podrías probar algo como:

  • extraiga muchas funciones para cada una de sus observaciones, como día de la semana, día del mes, día de la semana / fin de semana, etc. (solo se menciona la fecha y hora como una dependencia potencial en su pregunta, por eso incluí esto, pero puede incluir todas las cosas posibles que creer podría estar influyendo en su variable de interés).
  • los valores rezagados de su variable de interés, así como la información de fecha y hora (como el día de la semana, etc.) serían sus entradas. puede incluir las variables de fecha y hora como regresores externos ( xreg), por ejemplo.

y pronostique los valores futuros de su var de interés en función de estas entradas. Además, también puede pensar en incluir la media observada y la varianza / desviación en cada día del valor que desea predecir. Esto significaría que primero tendría que pronosticar su media y varianza esperadas con, por ejemplo, ARIMA y luego agregar eso como entrada adicional al enfoque mencionado anteriormente.

hth.

davidski
fuente