Uso de AutoML para la previsión de series temporales

La previsión de series de tiempo es un área de investigación importante para el aprendizaje automático (ML), particularmente donde la previsión precisa es fundamental, incluidas varias industrias como el comercio minorista, la cadena de suministro, la energía, las finanzas, etc. Por ejemplo, en el dominio de bienes de consumo, mejorar la precisión de la previsión de la demanda en un 10-20% puede reducir el inventario en un 5% y aumentar los ingresos en un 2-3% . Las soluciones de pronóstico actuales basadas en ML generalmente son creadas por expertos y requieren un esfuerzo manual significativo, incluida la construcción de modelos, la ingeniería de características y el ajuste de hiperparámetros . Sin embargo, es posible que dicha experiencia no esté ampliamente disponible, lo que puede limitar los beneficios de aplicar el LD a los desafíos de pronóstico de series de tiempo.

Para abordar esto, el aprendizaje automático automatizado (AutoML) es un enfoque que hace que el aprendizaje automático sea más accesible al automatizar el proceso de creación de modelos de aprendizaje automático, y recientemente ha acelerado tanto la investigación del aprendizaje automático como la aplicación del aprendizaje automático a problemas del mundo real. Por ejemplo, el trabajo inicial en la búsqueda de arquitectura neuronal permitió avances en la visión por computadora, como NasNet , AmoebaNet y EfficientNet , y en el procesamiento del lenguaje natural, como Evolved Transformer . Más recientemente, AutoML también se ha aplicado a datos tabulares .

Hoy presentamos una solución AutoML escalable de extremo a extremo para la previsión de series de tiempo, que cumple con tres criterios clave:

  • Totalmente automatizado : la solución toma datos como entrada y produce un modelo de TensorFlow servible como salida sin intervención humana.
  • Genérico : la solución funciona para la mayoría de las tareas de pronóstico de series de tiempo y busca automáticamente la mejor configuración de modelo para cada tarea.
  • Alta calidad : los modelos producidos tienen una calidad competitiva en comparación con los fabricados manualmente para tareas específicas.

Demostramos el éxito de este enfoque mediante la participación en la competencia de pronóstico M5 , donde esta solución de AutoML logró un rendimiento competitivo frente a modelos hechos a mano con un costo de computación moderado.

Desafíos en la predicción de series de tiempo
El pronóstico de series de tiempo presenta varios desafíos para los modelos de aprendizaje automático. En primer lugar, la incertidumbre suele ser alta, ya que el objetivo es predecir el futuro basándose en datos históricos. A diferencia de otros problemas de aprendizaje automático, el conjunto de pruebas, por ejemplo, las ventas futuras de productos, puede tener una distribución diferente del conjunto de capacitación y validación, que se extraen de los datos históricos. En segundo lugar, los datos de series de tiempo del mundo real a menudo adolecen de datos faltantes y una alta intermitencia (es decir, cuando una gran fracción de la serie de tiempo tiene el valor cero). Es posible que algunas tareas de series de tiempo no tengan datos históricos disponibles y sufran el problema del arranque en frío, por ejemplo, al predecir las ventas de un nuevo producto. En tercer lugar, dado que nuestro objetivo es crear una solución genérica totalmente automatizada, la misma solución debe aplicarse a una variedad de conjuntos de datos, que pueden variar significativamente en el dominio (ventas de productos, tráfico web, etc.), la granularidad (diaria, por hora, etc.). ), la duración del historial, los tipos de características (categóricas, numéricas, fecha y hora, etc.), etc.

Una solución de AutoML
Para abordar estos desafíos, diseñamos una canalización de TensorFlow de extremo a extremo con un espacio de búsqueda especializado para el pronóstico de series de tiempo. Se basa en una arquitectura de codificador-decodificador, en la que un codificador transforma la información histórica de una serie temporal en un conjunto de vectores, y un decodificador genera las predicciones futuras basadas en estos vectores. Inspirado en los modelos de secuencia de última generación, como Transformer y WaveNet , y las mejores prácticas en el pronóstico de series de tiempo, nuestro espacio de búsqueda incluyó componentes como atención , convolución dilatada , puerta , conexiones de salto y diferentes transformaciones de características. La solución de AutoML resultante busca la mejor combinación de estos componentes, así como los hiperparámetros principales.

Para combatir la incertidumbre en la predicción del futuro de una serie temporal, se utiliza un conjunto de los mejores modelos descubiertos en la búsqueda para hacer predicciones finales. La diversidad en los mejores modelos hizo que las predicciones fueran más robustas a la incertidumbre y menos propensas a sobreajustar los datos históricos. Para manejar series de tiempo con datos faltantes, llenamos los huecos con un vector entrenable y dejamos que el modelo aprenda a adaptarse a los pasos de tiempo faltantes. Para abordar la intermitencia, predecimos, para cada paso de tiempo futuro, no solo el valor, sino también la probabilidad de que el valor en este paso de tiempo sea distinto de cero, y combinamos las dos predicciones. Finalmente, descubrimos que la búsqueda automatizada puede ajustar la arquitectura y las opciones de hiperparámetros para diferentes conjuntos de datos, lo que hace que la solución AutoML sea genérica y automatiza los esfuerzos de modelado.

Benchmarking en competiciones de pronóstico
Para comparar nuestra solución AutoML, participamos en la competencia de pronósticos M5 , la última de la serie M-Competition , que es una de las competencias más importantes en la comunidad de pronósticos, con una larga historia que abarca casi 40 años. Esta competencia más reciente se realizó en Kaggle y utilizó un conjunto de datos de las ventas de productos de Walmart, cuya naturaleza del mundo real hace que el problema sea bastante desafiante.

Participamos en la competencia con nuestra solución totalmente automatizada y logramos un puesto de 138 de 5558 participantes (2.5% superior) en la clasificación final , que se encuentra en la zona de medallas de plata. Los participantes en el concurso tenían casi cuatro meses para producir sus modelos. Si bien muchos de los modelos de pronóstico de la competencia requirieron meses de esfuerzo manual para su creación, nuestra solución AutoML encontró el modelo en poco tiempo con solo un costo de procesamiento moderado (500 CPU por 2 horas) y sin intervención humana.

También comparamos nuestra solución de pronóstico de AutoML en varios otros conjuntos de datos de Kaggle y descubrimos que, en promedio, supera al 92% de los modelos hechos a mano, a pesar de su uso limitado de recursos.

Evaluación de la solución AutoML Forecasting en otros conjuntos de datos de Kaggle ( Rossman Store Sales , Web Traffic , Favorita Grocery Sales ) además de M5.

Este trabajo demuestra la solidez de una solución AutoML de un extremo a otro para el pronóstico de series de tiempo, y estamos entusiasmados con su impacto potencial en las aplicaciones del mundo real.

Agradecimientos
Este proyecto fue un esfuerzo conjunto de los miembros del equipo de Google Brain, Chen Liang, Da Huang, Yifeng Lu y Quoc V. Le. También agradecemos a Junwei Yuan, Xingwei Yang, Dawei Jia, Chenyu Zhao, Tin-yun Ho, Meng Wang, Yaguang Li, Nicolas Loeff, Manish Kurse, Kyle Anderson y Nishant Patil por su colaboración.