Cómo funcionan los modelos de predicción de serie temporal

Las herramientas de IA de serie temporal de la caja de herramientas GeoAI utilizan modelos de predicción de serie temporal basados en el aprendizaje profundo para crear valores futuros en cada ubicación en un cubo de espacio-tiempo. Estos modelos se entrenan utilizando la herramienta Entrenar el modelo de previsión de series temporales en los datos de serie temporal existentes; los modelos entrenados pueden utilizarse para hacer predicciones con la herramienta Predicción con el modelo de serie temporal. La salida principal es un mapa del periodo de tiempo predicho final, además de mensajes informativos y gráficos emergentes. Puede proporcionar otras variables explicativas para mejorar la predicción de la variable de análisis.

Las herramientas emplean tipos diferentes de redes neuronales profundas en la predicción de serie temporal. Las arquitecturas de red admitidas incluyen redes íntegramente conectadas, además de redes neuronales convolucionales y LSTM (memoria a corto y largo plazo) para la predicción de serie temporal. Más adelante se describen los detalles de las arquitecturas de modelos.

Los datos de entrenamiento utilizados para entrenar los modelos se construyen utilizando ventanas de tiempo en cada variable de los datos de serie temporal de entrada. Los datos de serie temporal pueden seguir tendencias complejas y tener múltiples niveles de estacionalidad. Los modelos basados en el aprendizaje profundo tienen una gran capacidad de aprendizaje y pueden aprender patrones de diferentes tipos de series temporales y ubicaciones si hay suficientes datos de entrenamiento. La herramienta de entrenamiento entrena un único modelo de predicción que emplea datos de entrenamiento de cada ubicación. Este modelo global se utiliza para predecir valores futuros en cada ubicación con la herramienta de predicción.

Potenciales aplicaciones

Los modelos basados en el aprendizaje profundo pueden aprender tendencias complejas de los datos, por lo que se utilizan en muchos contextos. Son los más eficaces si se comparan con otros métodos de predicción cuando los datos tienen tendencias complejas o estacionalidad y cuando hay suficientes datos de entrenamiento disponibles para aprender estas relaciones.

Por ejemplo, puede utilizar la caja de herramientas IA de serie temporal en las aplicaciones siguientes:

  • El administrador de un establecimiento minorista puede predecir la demanda de productos en función de los datos de venta históricos y mantener inventario con arreglo a esto.
  • Un epidemiólogo puede crear un modelo del aumento de enfermedades infecciosas y predecir la cantidad de pacientes que tendrán que hospitalizarse en la próxima semana.
  • Una central eólica puede predecir cuanta energía eólica se producirá a partir de las tendencias históricas y de datos meteorológicos.
  • Un inversor inmobiliario puede hacer una estimación de las tendencias en cuanto a precio de la vivienda basándose en datos históricos y su relación con factores como el tipo del préstamo, el precio del oro y los indicadores del mercado de valores.
  • Los responsables de las políticas pueden predecir la demanda de vivienda, electricidad y agua en las zonas urbanas.
  • Los meteorólogos pueden predecir el fenómeno El Niño-Oscilación del Sur (ENSO) basándose en variables climáticas e índices como los vientos y las temperaturas de la superficie del mar en el Pacífico oriental tropical.

Entrenamiento de modelos y predicción

La herramienta Entrenar el modelo de previsión de series temporales se utiliza para entrenar un modelo de predicción de serie temporal basado en el aprendizaje profundo con datos históricos. Como variables explicativas pueden servir una o varias variables y el modelo utiliza intervalos de tiempo de datos históricos de varias ubicaciones para aprender las tendencias, la estacionalidad, los patrones y las relaciones entre los datos pasados y el valor de la variable de análisis en periodos posteriores.

El error (también conocido como pérdida) en la predicción se utiliza para dirigir el entrenamiento del modelo mediante el uso del descenso de gradiente. El modelo mejora gradualmente a lo largo de varios ciclos de entrenamiento en todos los datos (épocas) y el error calculado (la diferencia entre la predicción y el valor real en el siguiente periodo de tiempo) se reduce a medida que avanza el entrenamiento. De forma predeterminada, el entrenamiento de modelos se detiene cuando la pérdida de los datos de validación no registra ninguna mejora después de cinco épocas consecutivas, a menos que el parámetro Detener entrenamiento cuando el modelo deja de mejorar esté desactivado. El modelo entrenado se guarda como paquete de aprendizaje profundo (.dlpk) y puede servir para predecir datos de serie temporal que han pasado desapercibidos mediante el uso de la herramienta Predicción con el modelo de serie temporal.

Arquitecturas de modelos

A continuación se describen las arquitecturas de modelos compatibles.

LSTM (memoria a corto y largo plazo)

Los datos de serie temporal son temporales o secuenciales por naturaleza; por consiguiente, las redes neuronales recurrentes (RNN) pueden manejarlos. Las RNN recuerdan la información pasada y la trasladan al estado de entrada actual. Sin embargo, las RNN comunes no son capaces de recordar dependencias a largo plazo debido al desvanecimiento de gradientes. LSTM es un tipo de RNN actualizado que soluciona este problema. LSTM está compuesta de unidades, cada una de las cuales consta de cuatro redes neuronales que se utilizan para actualizar su estado de celda con información de entradas nuevas y salidas pasadas.

Módulo LSTM

Cuando se elige LSTM como valor del parámetro Tipo de modelo, se puede proporcionar el siguiente argumento de modelo para personalizar el modelo si no se usan los valores predeterminados:

NombreValor predeterminadoDescripción

hidden_layer_size

100

Tamaño de la capa oculta

Red completamente convolucional (FCN)

Las redes completamente convolucionales (FCN) se han utilizado principalmente en imágenes para la segmentación semántica y para resolver otros problemas de la visión artificial. Toman una imagen como entrada y la pasan por una serie de capas convolucionales para extraer las entidades importantes. Estas redes neuronales también son capaces de extraer las tendencias y la estacionalidad de los datos de serie temporal y ofrecen unos resultados sorprendentes en cuanto a predicción de serie temporal. Con unos datos de serie temporal de entrada determinados, se pasa un filtro unidimensional por ellos en cada capa convolucional para extraer las entidades discriminatorias invariables con gran capacidad de predicción.

Las capas convolucionales son eficaces desde el punto de vista informático debido a los parámetros reducidos, puesto que se proporciona conectividad local entre las capas de entrada y salida. El uso compartido de parámetros también reduce considerablemente la cantidad de parámetros necesarios al tener el mismo peso de kernel correspondiente a filtros individuales. La ventaja más importante de las redes neuronales convolucionales es la invariancia por desplazamiento, que refuerza la red cuando se detectan entidades importantes con independencia de su ubicación en los datos.

El modelo de serie temporal FCN utiliza tres capas convolucionales 1 D sin intervalos ni agrupación. La agrupación promedio se realiza en la última capa de la arquitectura. Tras cada convolución, se lleva a cabo la normalización en lote y se emplean unidades lineales rectificadas (ReLU) como funciones de activación. La arquitectura de red se representa como sigue:

Arquitectura FCN
Se muestra la arquitectura completamente convolucional para predicción de serie temporal.

InceptionTime

Esta CNN (red neuronal convolucional) se basa en la red Inception propuesta anteriormente "Going Deeper with Convolutions" (2015) [1] para la clasificación de imágenes. Anets de InceptionTime, la potencia computacional de las redes neuronales se basaba en su profundidad. El módulo de iniciación propuesto en este documento utiliza varias convoluciones en paralelo y concatena su salida, por lo que aumenta tanto la profundidad como la extensión de la red sin variar el presupuesto informático.

El modelo InceptionTime aplica esta arquitectura para predicción de serie temporal. En este modelo, la concatenación se realiza para capas convolucionales unidimensionales de tamaños de kernel de 10, 20 y 40 de longitud y una capa de agrupación máxima de tamaño 3. Además, se introduce una conexión residual cada tres módulos de iniciación, como se muestra en la figura siguiente. La red Inception también hace un uso intensivo de las capas de cuello de botella, en las que se emplean filtros de longitud 1 e intervalo 1 para reducir la dimensionalidad de las series temporales, junto con la complejidad del modelo, a la vez que se evita el sobreajuste. En la red se utilizan varios de estos bloques de iniciación seguidos de una capa de agrupación promedio global.

Arquitectura InceptionTime
Se muestra la arquitectura InceptionTime para predicción de serie temporal.

ResNet

La opinión general sobre las redes neuronales profundas es que, cuanto más profunda es la red, mejor debe funcionar porque hay más parámetros para aprender tareas complejas. Sin embargo, se ha observado que, en realidad, el rendimiento del modelo se degrada al aumentar la profundidad debido al problema de desvanecimiento de gradientes. Para solucionar este problema, en la arquitectura ResNet se introdujo el bloque residual. Este modelo está compuesto de bloques residuales, en los que se agregan conexiones de salto o de atajo (skip o shortcut connections). Estas conexiones directas permiten que el gradiente circule libremente hasta las capas anteriores de la red a través de ellas para aprender mejor.

La arquitectura se adapta para la predicción de serie temporal en "Time Series Classification from Scratch with Deep Neural Networks: A Strong Baseline" paper by Wang et. al. 2016. La red utiliza tres bloques residuales, como se muestra en la figura siguiente. Cada bloque contiene una combinación de tres convoluciones con normalización en lote y emplea ReLU como función de activación. Las conexiones de salto se agregan en la entrada y la salida. Los tamaños de filtro utilizados tienen 64.128 y 128 de longitud, respectivamente, y la última capa usa agrupación promedio global.

Arquitectura ResNet
Se muestra la arquitectura ResNet para predicción de serie temporal.

ResCNN

Esta red es una combinación de ResNet y las redes neuronales convolucionales. A la red se agrega una sola conexión de salto para mejorar la transferencia de información. Para solucionar el sobreajuste debido a las conexiones de salto en todos los bloques residuales, esta arquitectura utiliza una conexión en el primer bloque solamente, como se muestra en la figura siguiente. Se utiliza una serie de funciones de activación heterogénea, como ReLU, LReLU, PReLU y ELU, en diferentes capas para lograr una abstracción aceptable [2].

Arquitectura ResCNN

Previsión y validación

Para determinar cómo está funcionando el modelo, la herramienta utiliza dos métricas. La primera es la predicción y la segunda, la validación. La predicción ofrece una forma de determinar con qué exactitud se ajusta la predicción a los datos existentes y la validación proporciona información sobre lo bien que el modelo predice los datos de validación que se dejan aparte mientras se entrena el modelo.

  • Métrica de predicción

    La herramienta entrena un único modelo combinando datos de diferentes ubicaciones de un cubo de espacio-tiempo y el modelo aprende las entidades destacadas de los datos en cada ubicación. A continuación, el modelo entrenado se utiliza para hacer predicciones en intervalos de tiempo futuros. La idoneidad del modelo en los datos de entrenamiento existentes se mide mediante el error cuadrático medio (RMSE) de predicción, que es igual a la raíz cuadrada de la diferencia cuadrada promedio entre los valores aprendidos por el modelo y los valores reales de la serie temporal.

    RMSE de predicción

    Donde T es el número de periodos de tiempo, ct es el valor aprendido por el modelo y rt es el valor sin procesar de la serie temporal en el tiempo t.

    La siguiente imagen muestra los valores sin procesar de una serie temporal junto con los aprendidos por el modelo de serie temporal. El RMSE de predicción mide cuánto difieren entre sí estas dos series temporales.

    Modelo de predicción

    El RMSE de Predicción solo mide con qué precisión se ajusta la curva a los valores de la serie temporal sin procesar. No mide lo bien que el modelo entrenado realiza realmente la predicción de valores futuros. Es habitual que un modelo se ajuste fielmente a una serie temporal, aunque no proporcione predicciones precisas cuando se extrapola, por lo que el RMSE de Validación es una métrica más fiable.

  • Métrica de validación

    El modelo de validación se utiliza para determinar lo bien que el modelo de predicción puede realizar la predicción de valores futuros de cada serie temporal. Se construye excluyendo algunos de los últimos periodos de tiempo de cada serie temporal y entrenando el modelo con los datos no excluidos. A continuación, el modelo se utiliza para realizar la predicción de los valores de los datos que se retuvieron, y los valores previstos se comparan con los valores sin procesar que se ocultaron. De forma predeterminada, el 10 por ciento de los periodos de tiempo se retienen para validación, aunque este número puede cambiarse con el parámetro Número de periodos de tiempo que se excluirán para validación. El número de periodos de tiempo excluidos no puede superar el 25 por ciento del número de periodos de tiempo, y no se realiza ninguna validación si se especifica 0. La precisión de las predicciones se mide calculando una estadística de RMSE de validación, que es igual a la raíz cuadrada de la diferencia cuadrada promedio entre los valores predichos y brutos de los periodos de tiempo excluidos.

    RMSE de validación

    Donde T es el número de periodos de tiempo, m es el número de periodos de tiempo retenidos para validación, ct es el valor previsto de los primeros T-m periodos de tiempo y rt es el valor sin procesar de la serie temporal retenida para validación en el tiempo t.

    En la siguiente imagen se muestran los valores ajustados por el modelo a la primera mitad de una serie temporal y extrapolados para predecir la segunda mitad de la serie temporal. El RMSE de validación mide cuánto varían los valores predichos de los valores brutos en los periodos de tiempo retenidos.

    Modelo de validación

Salidas de la herramienta

La salida principal de esta herramienta es una clase de entidad 2D que muestra cada ubicación en el Cubo de espacio-tiempo de entrada simbolizado por el periodo de tiempo predicho final con las predicciones para todos los demás periodos de tiempo almacenados como campos. Aunque se realiza la predicción de cada ubicación de forma independiente y las relaciones espaciales no se tienen en cuenta, el mapa puede mostrar patrones espaciales para áreas con series temporales similares.

Gráficos emergentes

Al hacer clic en cualquier entidad del mapa con la herramienta de navegación Explorar, aparece un gráfico en el panel Elementos emergentes que muestra los valores del cubo de espacio-tiempo, junto con los valores ajustados y los valores previstos. Los valores del cubo de espacio-tiempo se muestran en azul y se conectan con una línea azul. Los valores ajustados se muestran en naranja y se conectan mediante una línea naranja discontinua. Los valores predichos se muestran en naranja y se conectan mediante una línea naranja continua que representa la predicción del modelo de bosque. Puede pasar el puntero sobre cualquier punto del gráfico para ver la fecha y el valor del punto.

Método de predicción

El gráfico emergente muestra los valores originales, los valores ajustados y los valores predichos.

Mensajes de geoprocesamiento

La herramienta proporciona varios mensajes con información sobre la ejecución de la herramienta. Los mensajes tienen tres secciones principales.

La sección Detalles de cubo de espacio-tiempo de entrada muestra propiedades del cubo de espacio-tiempo de entrada junto con información sobre el número de periodos de tiempo, número de ubicaciones y número de bins espacio-tiempo. Las propiedades mostradas en esta primera sección dependen de cómo se creó originalmente el cubo, por lo que la información varía en función del cubo. La sección Detalles del análisis muestra propiedades de los resultados de la predicción, incluidos el número de periodos de tiempo predichos, el número de periodos de tiempo excluidos para la validación e información sobre los periodos de tiempo predichos.

La sección Resumen de precisión a través de ubicaciones muestra estadísticas resumen para el RMSE de previsión y RMSE de validación entre todas las ubicaciones. Para cada valor, se muestran el mínimo, el máximo, el valor medio, la mediana y la desviación estándar.

Nota:

Los mensajes de geoprocesamiento aparecen en la parte inferior del panel Geoprocesamiento durante la ejecución de la herramienta. Puede acceder a los mensajes desplazándose por la barra de progreso, haciendo clic en el botón emergente Ventana emergente o ampliando la sección de mensajes en el panel Geoprocesamiento. También puede acceder a los mensajes de una herramienta ejecutada anteriormente con el historial de geoprocesamiento.

Campos de salida

Además de Id. de objeto, campos de geometría y el campo que contiene los gráficos emergentes, las Entidades de salida tendrán los siguientes campos.

  • Id. de ubicación (LOCATION): el Id. de ubicación de la ubicación correspondiente del cubo de espacio-tiempo.
  • Predicción de (variable de análisis) en (periodo de tiempo) (FCAST_1, FCAST_2, etc.): el valor previsto de cada periodo de tiempo futuro. El alias de campo muestra el nombre de la Variable de análisis y la fecha de la predicción. Se crea un campo de este tipo para cada periodo de tiempo predicho.
  • Error cuadrático medio de predicción (F_RMSE): el RMSE de predicción.
  • Error cuadrático medio de validación (V_RMSE): el RMSE de validación. Si no se excluyeron periodos de tiempo para validación, este campo no se crea.
  • Método de predicción (METHOD): un campo de texto que muestra el tipo de modelo de IA de serie temporal empleado y la longitud de la secuencia.

Referencias

Para obtener más información sobre los modelos de predicción de serie temporal basados en el aprendizaje profundo, consulte las siguientes referencias:

  1. Szegedy, Christian, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke y Andrew Rabinovich. "Going deeper with convolutions." Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 1-9. 2015.
  2. Ismail Fawaz, Hassan, Benjamin Lucas, Germain Forestier, Charlotte Pelletier, Daniel F. Schmidt, Jonathan Weber, Geoffrey I. Webb, Lhassane Idoumghar, Pierre-Alain Muller y François Petitjean. "Inceptiontime: Finding alexnet for time series classification". Data Mining and Knowledge Discovery 34, n.º 6 (2020): 1936-1962.
  3. Wang, Zhiguang, Weizhong Yan y Tim Oates. "Time series classification from scratch with deep neural networks: A strong baseline". 2017 International joint conference on neural networks (IJCNN), pp. 1578-1585. IEEE, 2017.
  4. Zou, Xiaowu, Zidong Wang, Qi Li y Weiguo Sheng. "Integration of residual network and convolutional neural network along with various activation functions and global pooling for time series classification". Neurocomputing 367 (2019): 39-45.
  5. Hochreiter, Sepp y Jürgen Schmidhuber. "Long short-term memory". Neural computation 9, n.º 8 (1997): 1735-1780.

Temas relacionados