24 votos

¿RNN para intervalos de tiempo irregulares?

Las RNN son extraordinariamente buenas para captar la dependencia temporal de los datos secuenciales. Sin embargo, ¿qué ocurre cuando los elementos de la secuencia no están igualmente espaciados en el tiempo?

Por ejemplo, la primera entrada a la célula LSTM se produce el lunes, luego no hay datos de martes a jueves, y finalmente hay nuevas entradas para cada uno de los viernes, sábados y domingos. Una posibilidad sería alimentar algún tipo de vector NULL de martes a jueves, pero parece una solución tonta, tanto porque las entradas NULL contaminarán los datos como porque es un desperdicio de recursos.

¿Alguna idea? ¿Cómo manejan las RNN estos casos? Si existen métodos distintos de las RNN, también acepto sugerencias.

10voto

user44400 Puntos 500

Acabo de escribir un entrada del blog sobre ese tema ¡!

En resumen, escribo sobre diferentes métodos para tratar el problema de los datos secuenciales dispersos / irregulares.

He aquí un breve resumen de los métodos que puede probar:

Espero que esto le ayude a encontrar la dirección correcta :)

4voto

mclaughlinj Puntos 1099

Si está introduciendo algún vector de datos $v_t$ a la vez $t$ la solución más sencilla es obtener una codificación del día de la semana de un solo golpe, $d_t$ y luego simplemente introducir en la red la concatenación de $v_t$ y $d_t$ . El esquema de codificación de hora/fecha puede ser más complicado si el formato de hora es más complicado que el simple día de la semana, por supuesto.

Además, dependiendo de lo dispersos e irregulares que sean los datos, las entradas NULL deberían ser una solución razonable. Sospecho que la puerta de entrada de un LSTM permitiría al LSTM leer correctamente la información de una entrada NULL sin contaminar los datos (la memoria/estado oculto) como tú dices.

2voto

Aksakal Puntos 11351

Yo intentaría incorporar el intervalo de tiempo explícitamente en el modelo. Por ejemplo, los modelos de series temporales convencionales, como el autorregresivo AR(p), pueden considerarse discretizaciones del modelo de tiempo continuo. Por ejemplo, el modelo AR(1): $$y_t=c+\phi y_{t-1}+\varepsilon_t$$ puede considerarse como una versión de: $$y_t=c\Delta t+e^{-\gamma\Delta t}y_{t-\Delta t}+\xi_t\sigma\sqrt {\Delta t}$$

Se podrían establecer analogías con los modelos de series temporales de RNN. Por ejemplo, $\phi$ en el proceso AR(1) puede verse como un peso de memoria en las RNN. Por lo tanto, usted podría conectar la diferencia de tiempo entre las observaciones en sus características de esta manera. Debo advertir que es sólo una idea, y no lo he probado yo mismo todavía.

1voto

Vitaly Puntos 53

Creo que depende de los datos. Por ejemplo, si está procesando recuentos y se olvidó de medirlos algunos días, la mejor estrategia es imputar los valores que faltan (por ejemplo, mediante interpolación o procesos gaussianos) y, a continuación, procesar la serie temporal imputada con una RNN. Al imputar, se estaría incorporando conocimiento.

Si la falta es significativa (hacía demasiado calor para medir los recuentos en algunos días), entonces es mejor imputar tal vez y también añadir un vector indicador que es 1 si faltaba el valor y 0 en caso contrario.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X