Desideratum para series de tiempo y redes neuronales


Las redes neuronales profundas han cambiado el paradigma por completo cuando tenemos datos no-estructurados como el Lenguaje Natural, las Imágenes o el Audio sin embargo existen otras fuentes de datos que son increíblemente ricas en señal como las series de tiempo para los que las redes profundas también son muy útiles.
Este artículo está basado en nuestros cursos en el Track de Ciencia de Datos y el Track de Finanzas Cuantitativas & AI donde enseñamos cómo las redes neuronales profundas pueden resolver problemas comunes en el modelado de series de tiempo que muchos modelos clásicos no lo pueden hacer. También coincide que la semana pasada tuve la oportunidad de presentarles este material a los alumnos de la carrera de Ciencia de Datos en la UDLAP.
El texto se organizará de la siguiente manera, plantearemos un desideratum o carta a Santa Claus de qué tipo de información nos gustaría incluir en el modelado de las series de tiempo, a saber:
- Que tome en cuenta el orden de los datos
- Que tome en cuenta otras series de tiempo relacionadas
- Que sea capaz de incluir distintas granularidades
- Que la variable objetivo no sea solo numérica: categórica, cuantil, etc…
- Que tenga una memoria de largo plazo
- Que haga predicciones con un horizonte múltiple
- Que considere los días feriados
- Que tome en cuenta otras variables estáticas
Las series de tiempo
Las principales ventajas al utilizar redes neuronales en series de tiempo sobre modelos más clásicos es que no debemos realizar supuestos poco realistas en la práctica como la normalidad, la estacionariedad o la linealidad en los datos.

Para utilizar a las redes neuronales profundas en series de tiempo lo primero que debemos de hacer es identificar quiénes son las variables explicativas y las objetivo en este modelado. Para fijar conceptos, matemáticamente una serie de tiempo es un conjunto de valores ordenados por el tiempo:

Si deseamos entrenar un modelo de machine learning necesitamos elegir quiénes serán nuestras variables explicativas y quiénes las variables objetivo.

La manera tradicional para afrontar este problema es utilizando el pasado como nuestra variable explicativa y el futuro como nuestra variable objetivo, es decir vamos a tomar en cuenta distintas ventanas de tiempo y eso será nuestra base de datos.
Modelo secuencial
Lo primero que nos gustaría es que el modelo tome en cuenta el orden de nuestros registros, una de las razones por las que ciertos modelos de machine learning no pueden utilizarse con soltura es porque uno de los supuestos es que las variables son independientes y esto en particular significa que no son sensibles a una permutación.

Ejemplo: Ventas de un producto semanalmente
Solución con DL: Capas recurrentes
Multi-variado
En algunos casos será necesario incluir dentro de nuestras bases de datos otras series de tiempo que aporten más información pues una sola no es suficiente. Esto es inclusive cuando deseamos solo modelar a una de ellas.

Ejemplo: Ventas de más de un producto
Solución con DL: Capas recurrentes
Distintas granularidades
Cuando estamos utilizando más de una serie de tiempo para modelar un fenómeno podría ocurrir que una de estas series de tiempo esté calculada diariamente y la otra semanalmente, tradicionalmente es problemático sin embargo las redes neuronales sí permiten tratar estos casos.

Ejemplo: Ventas semanales y visitas diarias
Solución con DL: Arquitecturas multi-modales
Variable objetivo distinta a una regresión
Imaginemos un caso en el que utilizando información temporal deseamos predecir simplemente una respuesta booleana como sí o no, esto algunas veces es necesario para simplificar el problema y en el caso de las redes neuronales es fácil de implementarse.

Ejemplo: ¿Se cumplirá la meta?
Solución con DL: Funciones de activación o pérdida adecuadas como softmax o quantile loss.
Memoria de largo plazo:
Una de las desventajas de los modelos tradicionales es que no son capaces de capturar dependencias muy lejanas, esto ocurre típicamente en el lenguaje natural donde la primera palabra puede ser muy importante.

Ejemplo: Incluir 1 año en las variables explicativas
Solución con DL: Capas LSTM o Atención
Horizonte múltiple
Una de las grandes debilidades de los modelos auto-regresivos clásicos como ARIMA es que para hacer una predicción dos instantes adelantes es necesario primero hacer una predicción un instante después. Gracias a algunas arquitecturas de redes neuronales esto es posible hacerlo.

Ejemplo: Predecir las próximas 3 semanas
Solución con DL: Arquitecturas Seq2seq, Transformer. etc…
Días feriados
Una de las grandes ventajas que tienen modelos como Prophet es la posibilidad de señalar instantes en el tiempo que nosotros sabemos son relevantes, por medio de las redes neuronales también es posible hacer esto y tiene grandes ventajas.

Ejemplo: Semana santa
Solución con DL: Arquitecturas Temporal Fusion TransformerVariables estáticas
En algunos casos además de contar con la información temporal de la serie de tiempo, contamos con más detalles sobre el conjunto completo de las series de tiempo y es indispensable tener la flexibilidad de incluirlas.

Ejemplo: Características geográficas de las tiendas
Solución con DL: Arquitecturas multi-modales
¿Dónde aprender a modelar series de tiempo con redes neuronales profundas?
En el Colegio de Matemáticas Bourbaki enseñamos con detalle las matemáticas y las bases para que nuestros estudiantes estén listos para aprender los modelos más avanzados de Inteligencia Artificial, Ciencia de Datos y Finanzas Cuantitativas. Estos son los dos cursos que están por comenzar y durarán todo el 2025.
- Track de Ciencia de Datos. (49 semanas).
- Machine Learning & AI for the Working Analyst ( 12 semanas).
- Matemáticas para Ciencia de Datos ( 24 semanas).
- Especialización en Deep Learning. (12 semanas).
- Track de Finanzas Cuantitativas (49 semanas)
- Aplicaciones Financieras De Machine Learning E IA ( 12 semanas).
- Las matemáticas de los mercados financieros (24 semanas).
- Deep Learning for Finance (12 semanas).