Los RNN son notablemente buenos para capturar la dependencia temporal de los datos secuenciales. Sin embargo, ¿qué sucede cuando los elementos de secuencia no están igualmente espaciados en el tiempo?
Por ejemplo, la primera entrada a la celda LSTM ocurre el lunes, luego no hay datos de martes a jueves, y finalmente nuevas entradas para cada viernes, sábado y domingo. Una posibilidad sería tener algún tipo de vector NULL alimentado de martes a jueves, pero parece ser una solución tonta, tanto porque las entradas NULL contaminarán los datos como porque es un desperdicio de recursos.
¿Algunas ideas? ¿Cómo manejan los RNN estos casos? Si hay otros métodos que no sean RNN, también agradezco esas sugerencias.
Respuestas:
Si se está alimentando en algún vector de datosvt en el momento t , la solución directa es obtener una codificación única del día de la semana, ret , y luego simplemente alimentar a la red la concatenación de vt y ret . El esquema de codificación de hora / fecha puede ser más complicado si el formato de hora es más complicado que solo el día de la semana, por supuesto.
Además, dependiendo de cuán escasos e irregulares sean los datos, las entradas NULL deberían ser una solución razonable. Sospecho que la puerta de entrada de un LSTM permitiría que el LSTM lea correctamente la información de una entrada NULA sin contaminar los datos (la memoria / estado oculto) tal como los coloca.
fuente
Intentaría incorporar el intervalo de tiempo explícitamente en el modelo. Por ejemplo, un modelo convencional de series de tiempo como el AR autorregresivo (p) puede considerarse como discretizaciones del modelo de tiempo continuo. Por ejemplo, modelo AR (1):
Puede dibujar analogías con los modelos de series temporales de RNN. Por ejemplo,ϕ en AR (1) el proceso puede verse como un peso de memoria en RNNs. Por lo tanto, podría conectar la diferencia de tiempo entre observaciones en sus características de esta manera. Debo advertir que es solo una idea, y aún no lo intenté.
fuente
Creo que depende de los datos. Por ejemplo, si está procesando recuentos y se olvidó de medirlo algunos días, entonces la mejor estrategia es imputar los valores faltantes (por ejemplo, mediante interpolación o procesos gaussianos) y luego procesar las series de tiempo imputadas con un RNN. Al imputar, estarías incorporando conocimiento.
Si la falta es significativa (hacía demasiado calor para medir los conteos en algunos días), entonces es mejor imputar tal vez y también agregar un vector indicador que sea 1 si falta el valor y 0 en caso contrario.
fuente