RNN para intervalos de tiempo irregulares?

13

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.

Tfovid
fuente
¿Qué tipo de datos son? ¿Podemos suponer que algunos días tenemos una medición de alguna característica que es continua? Por ejemplo, la temperatura en algún lugar?
user0
@ user99889 Sí, eso podría ser un ejemplo, pero estaba más pensando en un contador. Por ejemplo, se obtiene un cargo a las 9:32 de la mañana, entonces nada, ellos dos cargos a las 9:37 de la mañana, entonces nada, etc ...
Tfovid

Respuestas:

2

Si se está alimentando en algún vector de datos vt 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.

shimao
fuente
1
En realidad, en lugar de una codificación única, ¿por qué no simplemente concatenar un único nodo de entrada al LSTM que contiene la fecha, o mejor aún, la hora anterior al "presente", donde el presente es el último elemento de la secuencia. En este caso, esos nodos contendrían -5 (para el lunes), -2 (para el viernes), -1 (para el sábado), 0 (para el domingo, es decir, el día más reciente). Esto evitará la necesidad de NULL y al mismo tiempo (con suerte) codificará cuánto debe "olvidar" el LSTM entre las recursiones. ¿Suena esto razonable?
Tfovid
Sí, eso debería funcionar.
shimao
1

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):

yt=C+ϕyt-1+εt
puede considerarse como una versión de:
yt=CΔt+mi-γΔtyt-Δt+ξtσΔt

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é.

Aksakal
fuente
1

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.

usuario0
fuente
La ausencia de datos no puede ser tratada por imputación ya que los datos están objetivamente ausentes en este caso, no simplemente el resultado de una medición omitida. En cuanto a la adición de una etiqueta para los valores faltantes (por ejemplo, 0 o 1 como sugirió), eso equivaldría a un valor nulo. El problema con eso es la escasez de datos: las ventanas deslizantes en las que se entrena el RNN contendrán en su mayoría nulos, mientras que, en la práctica, a uno le gustaría meter tanta información al mismo tiempo, teniendo en cuenta el hecho de que están intercalados en el tiempo.
Tfovid