Logotipo de Zephyrnet

Pronóstico de ingresos a gran escala en Bosch con Amazon Forecast y modelos personalizados de Amazon SageMaker

Fecha:

Esta publicación está coescrita por Goktug Cinar, Michael Binder y Adrian Horvath del Centro Bosch para la Inteligencia Artificial (BCAI).

La previsión de ingresos es una tarea desafiante pero crucial para las decisiones comerciales estratégicas y la planificación fiscal en la mayoría de las organizaciones. A menudo, los analistas financieros realizan manualmente la previsión de ingresos, lo que requiere mucho tiempo y es subjetivo. Dichos esfuerzos manuales son especialmente desafiantes para las organizaciones comerciales multinacionales a gran escala que requieren pronósticos de ingresos en una amplia gama de grupos de productos y áreas geográficas en múltiples niveles de granularidad. Esto requiere no solo precisión sino también coherencia jerárquica de los pronósticos.

Bosch es una corporación multinacional con entidades que operan en múltiples sectores, incluidos el automotriz, las soluciones industriales y los bienes de consumo. Dado el impacto de una previsión de ingresos precisa y coherente en las operaciones comerciales saludables, la Centro Bosch de Inteligencia Artificial (BCAI) ha estado invirtiendo fuertemente en el uso del aprendizaje automático (ML) para mejorar la eficiencia y precisión de los procesos de planificación financiera. El objetivo es aliviar los procesos manuales al proporcionar pronósticos de ingresos de referencia razonables a través de ML, con solo ajustes ocasionales necesarios por parte de los analistas financieros utilizando su conocimiento de la industria y el dominio.

Para lograr este objetivo, BCAI ha desarrollado un marco de pronóstico interno capaz de proporcionar pronósticos jerárquicos a gran escala a través de conjuntos personalizados de una amplia gama de modelos base. Un meta-aprendiz selecciona los modelos de mejor rendimiento en función de las características extraídas de cada serie temporal. Los pronósticos de los modelos seleccionados luego se promedian para obtener el pronóstico agregado. El diseño arquitectónico está modularizado y es extensible a través de la implementación de una interfaz de estilo REST, que permite una mejora continua del rendimiento mediante la inclusión de modelos adicionales.

BCAI se asoció con el Laboratorio de soluciones de Amazon ML (MLSL) para incorporar los últimos avances en modelos basados ​​en redes neuronales profundas (DNN) para la previsión de ingresos. Los avances recientes en los pronosticadores neuronales han demostrado un rendimiento de vanguardia para muchos problemas prácticos de pronóstico. En comparación con los modelos de pronóstico tradicionales, muchos pronosticadores neuronales pueden incorporar covariables o metadatos adicionales de la serie temporal. Incluimos CNN-QR y DeepAR+, dos modelos listos para usar en Pronóstico del Amazonas, así como un modelo de Transformer personalizado entrenado con Amazon SageMaker. Los tres modelos cubren un conjunto representativo de las redes troncales del codificador que se utilizan a menudo en los pronosticadores neuronales: red neuronal convolucional (CNN), red neuronal recurrente secuencial (RNN) y codificadores basados ​​en transformadores.

Uno de los desafíos clave que enfrentó la asociación BCAI-MLSL fue proporcionar pronósticos sólidos y razonables bajo el impacto de COVID-19, un evento global sin precedentes que causa una gran volatilidad en los resultados financieros corporativos globales. Debido a que los pronosticadores neuronales están capacitados en datos históricos, los pronósticos generados con base en datos fuera de distribución de los períodos más volátiles podrían ser inexactos y poco confiables. Por lo tanto, propusimos agregar un mecanismo de atención enmascarado en la arquitectura de Transformer para solucionar este problema.

Los pronosticadores neuronales se pueden agrupar como un solo modelo de conjunto o incorporarse individualmente en el universo de modelos de Bosch, y se puede acceder a ellos fácilmente a través de los puntos finales de la API REST. Proponemos un enfoque para agrupar a los pronosticadores neuronales a través de resultados de pruebas retrospectivas, lo que proporciona un rendimiento competitivo y sólido a lo largo del tiempo. Además, investigamos y evaluamos una serie de técnicas clásicas de reconciliación jerárquica para garantizar que los pronósticos se agreguen de manera coherente entre grupos de productos, geografías y organizaciones comerciales.

En esta publicación, demostramos lo siguiente:

  • Cómo aplicar el entrenamiento de modelos personalizados de Forecast y SageMaker para problemas jerárquicos de pronóstico de series temporales a gran escala
  • Cómo combinar modelos personalizados con modelos estándar de Forecast
  • Cómo reducir el impacto de eventos disruptivos como el COVID-19 en los problemas de pronóstico
  • Cómo crear un flujo de trabajo de previsión de un extremo a otro en AWS

Desafios

Abordamos dos desafíos: crear pronósticos de ingresos jerárquicos a gran escala y el impacto de la pandemia de COVID-19 en los pronósticos a largo plazo.

Previsión de ingresos jerárquica a gran escala

Los analistas financieros tienen la tarea de pronosticar las cifras financieras clave, incluidos los ingresos, los costos operativos y los gastos de investigación y desarrollo. Estas métricas brindan información sobre la planificación comercial en diferentes niveles de agregación y permiten la toma de decisiones basada en datos. Cualquier solución de previsión automatizada necesita proporcionar previsiones en cualquier nivel arbitrario de agregación de líneas de negocio. En Bosch, las agregaciones se pueden imaginar como series temporales agrupadas como una forma más general de estructura jerárquica. La siguiente figura muestra un ejemplo simplificado con una estructura de dos niveles, que imita la estructura jerárquica de previsión de ingresos de Bosch. Los ingresos totales se dividen en varios niveles de agregaciones según el producto y la región.

El número total de series de tiempo que deben pronosticarse en Bosch es de millones. Tenga en cuenta que la serie temporal de nivel superior se puede dividir por productos o regiones, lo que crea varias rutas hacia los pronósticos de nivel inferior. Los ingresos deben pronosticarse en cada nodo de la jerarquía con un horizonte de pronóstico de 12 meses en el futuro. Los datos históricos mensuales están disponibles.

La estructura jerárquica se puede representar usando la siguiente forma con la notación de una matriz sumatoria S (Hyndman y Athanasopoulos):

En esta ecuación, Y es igual a lo siguiente:

Aquí, b representa la serie temporal de nivel inferior en el tiempo t.

Impactos de la pandemia de COVID-19

La pandemia de COVID-19 trajo importantes desafíos para la previsión debido a sus efectos perturbadores y sin precedentes en casi todos los aspectos del trabajo y la vida social. Para la previsión de ingresos a largo plazo, la interrupción también trajo impactos aguas abajo inesperados. Para ilustrar este problema, la siguiente figura muestra una serie temporal de muestra en la que los ingresos por productos experimentaron una caída significativa al comienzo de la pandemia y se recuperaron gradualmente después. Un modelo de pronóstico neuronal típico tomará datos de ingresos, incluido el período COVID fuera de distribución (OOD) como entrada de contexto histórico, así como la verdad básica para el entrenamiento del modelo. Como resultado, los pronósticos producidos ya no son confiables.

Enfoques de modelado

En esta sección, discutimos nuestros diversos enfoques de modelado.

Pronóstico del Amazonas

Forecast es un servicio de inteligencia artificial/aprendizaje automático completamente administrado de AWS que proporciona modelos de pronóstico de series temporales de última generación y preconfigurados. Combina estas ofertas con sus capacidades internas para la optimización automatizada de hiperparámetros, el modelado de conjuntos (para los modelos proporcionados por Forecast) y la generación de pronósticos probabilísticos. Esto le permite ingerir fácilmente conjuntos de datos personalizados, preprocesar datos, entrenar modelos de pronóstico y generar pronósticos sólidos. Además, el diseño modular del servicio nos permite consultar y combinar fácilmente predicciones de modelos personalizados adicionales desarrollados en paralelo.

Incorporamos dos pronosticadores neuronales de Forecast: CNN-QR y DeepAR+. Ambos son métodos de aprendizaje profundo supervisados ​​que entrenan un modelo global para todo el conjunto de datos de series temporales. Tanto los modelos CNNQR como DeepAR+ pueden recibir información de metadatos estáticos sobre cada serie temporal, que son el producto, la región y la organización empresarial correspondientes en nuestro caso. También agregan automáticamente características temporales, como el mes del año, como parte de la entrada al modelo.

Transformador con mascarillas de atención por COVID

La arquitectura del transformador (Vaswani et al.), diseñado originalmente para el procesamiento del lenguaje natural (NLP), surgió recientemente como una opción arquitectónica popular para la previsión de series temporales. Aquí, usamos la arquitectura Transformer descrita en Zhou y col. sin registro probabilístico escasa atención. El modelo utiliza un diseño de arquitectura típico al combinar un codificador y un decodificador. Para la previsión de ingresos, configuramos el decodificador para generar directamente la previsión del horizonte de 12 meses en lugar de generar la previsión mes a mes de forma autorregresiva. En función de la frecuencia de la serie temporal, se agregan características adicionales relacionadas con el tiempo, como el mes del año, como variable de entrada. Las variables categóricas adicionales que describen la metainformación (producto, región, organización comercial) se introducen en la red a través de una capa de incrustación entrenable.

El siguiente diagrama ilustra la arquitectura de Transformer y el mecanismo de enmascaramiento de atención. El enmascaramiento de atención se aplica en todas las capas de codificador y decodificador, como se resalta en naranja, para evitar que los datos OOD afecten los pronósticos.

Mitigamos el impacto de las ventanas de contexto OOD agregando máscaras de atención. El modelo está entrenado para prestar muy poca atención al período COVID que contiene valores atípicos a través del enmascaramiento y realiza pronósticos con información enmascarada. La máscara de atención se aplica en todas las capas de la arquitectura del decodificador y del codificador. La ventana enmascarada se puede especificar manualmente o mediante un algoritmo de detección de valores atípicos. Además, cuando se usa una ventana de tiempo que contiene valores atípicos como etiquetas de entrenamiento, las pérdidas no se propagan hacia atrás. Este método basado en el enmascaramiento de la atención se puede aplicar para manejar las interrupciones y los casos de OOD provocados por otros eventos raros y mejorar la solidez de los pronósticos.

conjunto modelo

El conjunto de modelos a menudo supera a los modelos individuales para el pronóstico: mejora la generalización del modelo y es mejor para manejar datos de series temporales con características variables en periodicidad e intermitencia. Incorporamos una serie de estrategias de conjuntos de modelos para mejorar el rendimiento del modelo y la solidez de los pronósticos. Una forma común de conjunto de modelos de aprendizaje profundo es agregar resultados de ejecuciones de modelos con diferentes inicializaciones de peso aleatorio, o de diferentes épocas de entrenamiento. Utilizamos esta estrategia para obtener pronósticos para el modelo Transformer.

Para construir aún más un conjunto sobre diferentes arquitecturas de modelos, como Transformer, CNNQR y DeepAR+, utilizamos una estrategia de conjunto pan-modelo que selecciona los modelos top-k con mejor rendimiento para cada serie temporal en función de los resultados de la prueba retrospectiva y obtiene su promedios Debido a que los resultados del backtest se pueden exportar directamente desde modelos de Forecast capacitados, esta estrategia nos permite aprovechar servicios llave en mano como Forecast con mejoras obtenidas de modelos personalizados como Transformer. Este enfoque de conjunto de modelos de extremo a extremo no requiere entrenar a un aprendiz de metal o calcular características de series de tiempo para la selección del modelo.

Conciliación jerárquica

El marco se adapta para incorporar una amplia gama de técnicas como pasos de posprocesamiento para la reconciliación de pronósticos jerárquicos, que incluyen la reconciliación de abajo hacia arriba (BU), la reconciliación de arriba hacia abajo con proporciones de pronóstico (TDFP), los mínimos cuadrados ordinarios (OLS) y los mínimos cuadrados ponderados ( WLS). Todos los resultados experimentales en esta publicación se informan utilizando la reconciliación de arriba hacia abajo con proporciones de pronóstico.

Descripción de la arquitectura

Desarrollamos un flujo de trabajo integral automatizado en AWS para generar pronósticos de ingresos utilizando servicios que incluyen Forecast, SageMaker, Servicio de almacenamiento simple de Amazon (Amazon S3), AWS Lambda, Funciones de paso de AWSy Kit de desarrollo en la nube de AWS (CDK de AWS). La solución implementada proporciona pronósticos de series de tiempo individuales a través de una API REST usando Puerta de enlace API de Amazon, devolviendo los resultados en formato JSON predefinido.

El siguiente diagrama ilustra el flujo de trabajo de previsión de extremo a extremo.

Las consideraciones de diseño clave para la arquitectura son la versatilidad, el rendimiento y la facilidad de uso. El sistema debe ser lo suficientemente versátil para incorporar un conjunto diverso de algoritmos durante el desarrollo y la implementación, con cambios mínimos necesarios, y puede ampliarse fácilmente al agregar nuevos algoritmos en el futuro. El sistema también debe agregar una sobrecarga mínima y admitir capacitación paralela tanto para Forecast como para SageMaker para reducir el tiempo de capacitación y obtener el pronóstico más reciente con mayor rapidez. Finalmente, el sistema debe ser simple de usar con fines de experimentación.

El flujo de trabajo integral se ejecuta secuencialmente a través de los siguientes módulos:

  1. Un módulo de preprocesamiento para reformatear y transformar datos
  2. Un módulo de capacitación de modelos que incorpora tanto el modelo de pronóstico como el modelo personalizado en SageMaker (ambos se ejecutan en paralelo)
  3. Un módulo de posprocesamiento compatible con conjuntos de modelos, reconciliación jerárquica, métricas y generación de informes

Step Functions organiza y orquesta el flujo de trabajo de principio a fin como una máquina de estado. La ejecución de la máquina de estado se configura con un archivo JSON que contiene toda la información necesaria, incluida la ubicación de los archivos CSV de ingresos históricos en Amazon S3, la hora de inicio prevista y la configuración de los hiperparámetros del modelo para ejecutar el flujo de trabajo integral. Las llamadas asincrónicas se crean para paralelizar el entrenamiento del modelo en la máquina de estado mediante funciones de Lambda. Todos los datos históricos, los archivos de configuración, los resultados de las previsiones y los resultados intermedios, como los resultados de las pruebas retrospectivas, se almacenan en Amazon S3. La API REST se basa en Amazon S3 para proporcionar una interfaz consultable para consultar los resultados de la previsión. El sistema se puede ampliar para incorporar nuevos modelos de previsión y funciones de apoyo, como la generación de informes de visualización de previsión.

Evaluación

En esta sección, detallamos la configuración del experimento. Los componentes clave incluyen el conjunto de datos, las métricas de evaluación, las ventanas de backtest y la configuración y capacitación del modelo.

Conjunto de datos

Para proteger la privacidad financiera de Bosch mientras usamos un conjunto de datos significativo, usamos un conjunto de datos sintético que tiene características estadísticas similares a un conjunto de datos de ingresos del mundo real de una unidad comercial de Bosch. El conjunto de datos contiene 1,216 series temporales en total con ingresos registrados con una frecuencia mensual, que abarca de enero de 2016 a abril de 2022. El conjunto de datos se entrega con 877 series temporales en el nivel más granular (serie temporal inferior), con una estructura de serie temporal agrupada correspondiente representada como una matriz de suma S. Cada serie temporal está asociada con tres atributos categóricos estáticos, que corresponden a la categoría de producto, la región y la unidad organizativa en el conjunto de datos reales (anonimizados en los datos sintéticos).

Métricas de evaluación

Usamos el error porcentual absoluto de la arcotangente mediana (MAAPE mediana) y MAAPE ponderado para evaluar el rendimiento del modelo y realizar un análisis comparativo, que son las métricas estándar utilizadas en Bosch. MAAPE aborda las deficiencias de la métrica de error porcentual absoluto medio (MAPE) que se usa comúnmente en el contexto comercial. Median-MAAPE brinda una descripción general del rendimiento del modelo al calcular la mediana de los MAAPE calculados individualmente en cada serie de tiempo. El MAAPE ponderado informa una combinación ponderada de los MAAPE individuales. Los pesos son la proporción de los ingresos de cada serie temporal en comparación con los ingresos agregados de todo el conjunto de datos. El MAAPE ponderado refleja mejor los impactos comerciales posteriores de la precisión del pronóstico. Ambas métricas se informan sobre el conjunto de datos completo de 1,216 series temporales.

Ventanas de prueba

Usamos ventanas de prueba retrospectiva de 12 meses para comparar el rendimiento del modelo. La siguiente figura ilustra las ventanas de backtest utilizadas en los experimentos y destaca los datos correspondientes utilizados para el entrenamiento y la optimización de hiperparámetros (HPO). Para las ventanas de prueba retrospectiva después de que comience COVID-19, el resultado se ve afectado por las entradas de OOD de abril a mayo de 2020, según lo que observamos de la serie temporal de ingresos.

Configuración y entrenamiento del modelo.

Para el entrenamiento de Transformer, usamos la pérdida por cuantiles y escalamos cada serie de tiempo utilizando su valor medio histórico antes de introducirlo en Transformer y calcular la pérdida de entrenamiento. Los pronósticos finales se vuelven a escalar para calcular las métricas de precisión, utilizando el MeanScaler implementado en Gluones. Usamos una ventana de contexto con datos de ingresos mensuales de los últimos 18 meses, seleccionados a través de HPO en la ventana de prueba retrospectiva de julio de 2018 a junio de 2019. Los metadatos adicionales sobre cada serie temporal en forma de variables categóricas estáticas se introducen en el modelo a través de una incrustación capa antes de alimentarlo a las capas del transformador. Entrenamos el transformador con cinco inicializaciones de peso aleatorio diferentes y promediamos los resultados de pronóstico de las últimas tres épocas para cada ejecución, con un promedio total de 15 modelos. Las cinco ejecuciones de entrenamiento del modelo se pueden paralelizar para reducir el tiempo de entrenamiento. Para el Transformador enmascarado, indicamos los meses de abril a mayo de 2020 como valores atípicos.

Para todo el entrenamiento del modelo de pronóstico, habilitamos el HPO automático, que puede seleccionar el modelo y los parámetros de entrenamiento en función de un período de prueba retrospectiva especificado por el usuario, que se establece en los últimos 12 meses en la ventana de datos utilizada para el entrenamiento y el HPO.

Resultados del experimento

Entrenamos Transformers enmascarados y desenmascarados utilizando el mismo conjunto de hiperparámetros, y comparamos su rendimiento para las ventanas de prueba retrospectiva inmediatamente después del impacto de COVID-19. En el Transformer enmascarado, los dos meses enmascarados son abril y mayo de 2020. La siguiente tabla muestra los resultados de una serie de períodos de prueba con ventanas de pronóstico de 12 meses a partir de junio de 2020. Podemos observar que el Transformer enmascarado supera constantemente a la versión sin máscara .

Además, realizamos una evaluación de la estrategia del conjunto de modelos en función de los resultados del backtest. En particular, comparamos los dos casos en los que solo se selecciona el modelo de mayor rendimiento frente a cuando se seleccionan los dos modelos de mayor rendimiento, y el promedio del modelo se realiza calculando el valor medio de los pronósticos. Comparamos el rendimiento de los modelos base y los modelos de conjunto en las siguientes figuras. Tenga en cuenta que ninguno de los pronosticadores neuronales supera constantemente a los demás en las ventanas de prueba retrospectiva.

La siguiente tabla muestra que, en promedio, el modelado de conjuntos de los dos mejores modelos brinda el mejor rendimiento. CNNQR proporciona el segundo mejor resultado.

Conclusión

Esta publicación demostró cómo crear una solución de aprendizaje automático integral para problemas de pronóstico a gran escala que combina Forecast y un modelo personalizado entrenado en SageMaker. Según las necesidades de su negocio y el conocimiento de ML, puede usar un servicio totalmente administrado como Forecast para descargar el proceso de creación, capacitación e implementación de un modelo de pronóstico; construya su modelo personalizado con mecanismos de ajuste específicos con SageMaker; o realizar ensamblaje de modelos combinando los dos servicios.

Si desea ayuda para acelerar el uso de ML en sus productos y servicios, comuníquese con el Laboratorio de soluciones de Amazon ML .

Referencias

Hyndman RJ, Athanasopoulos G. Pronóstico: principios y práctica. OTextos; 2018 de mayo de 8.

Vaswani A, Shazeer N, Parmar N, Uszkoreit J, Jones L, Gomez AN, Kaiser Ł, Polosukhin I. Todo lo que necesita es atención. Avances en los sistemas de procesamiento de información neuronal. 2017;30.

Zhou H, Zhang S, Peng J, Zhang S, Li J, Xiong H, Zhang W. Informer: Más allá del transformador eficiente para pronósticos de series de tiempo de secuencia larga. En Actas de AAAI 2021 2 de febrero.


Acerca de los autores

Góktug Cinar es un científico líder de ML y líder técnico de ML y pronósticos basados ​​en estadísticas en Robert Bosch LLC y Bosch Center for Artificial Intelligence. Dirige la investigación de los modelos de previsión, la consolidación jerárquica y las técnicas de combinación de modelos, así como el equipo de desarrollo de software que escala estos modelos y los sirve como parte del software interno de previsión financiera de extremo a extremo.

Carpeta de Michael es propietario de un producto en Bosch Global Services, donde coordina el desarrollo, el despliegue y la implementación de la aplicación de análisis predictivo en toda la empresa para la previsión automatizada a gran escala basada en datos de cifras financieras clave.

Adrián Horvath es desarrollador de software en el Centro de Inteligencia Artificial de Bosch, donde desarrolla y mantiene sistemas para crear predicciones basadas en varios modelos de pronóstico.

Panpan Xu es un científico aplicado sénior y gerente en el laboratorio de soluciones de Amazon ML en AWS. Está trabajando en la investigación y el desarrollo de algoritmos de aprendizaje automático para aplicaciones de clientes de alto impacto en una variedad de verticales industriales para acelerar su adopción de la nube y la inteligencia artificial. Su interés de investigación incluye la interpretabilidad del modelo, el análisis causal, la IA humana en el circuito y la visualización interactiva de datos.

Jasleen Greval es científica aplicada en Amazon Web Services, donde trabaja con clientes de AWS para resolver problemas del mundo real mediante el aprendizaje automático, con un enfoque especial en la medicina de precisión y la genómica. Tiene una sólida formación en bioinformática, oncología y genómica clínica. Le apasiona usar AI/ML y servicios en la nube para mejorar la atención al paciente.

Senthivel Selvano es ingeniero sénior de aprendizaje automático en el laboratorio de soluciones de aprendizaje automático de Amazon en AWS y se centra en ayudar a los clientes con el aprendizaje automático, los problemas de aprendizaje profundo y las soluciones de aprendizaje automático integrales. Fue líder de ingeniería fundador de Amazon Comprehend Medical y contribuyó al diseño y la arquitectura de varios servicios de IA de AWS.

ruilin zhang es un SDE con Amazon ML Solutions Lab en AWS. Ayuda a los clientes a adoptar los servicios de IA de AWS mediante la creación de soluciones para abordar problemas comerciales comunes.

shane rai es estratega sénior de aprendizaje automático en el laboratorio de soluciones de aprendizaje automático de Amazon en AWS. Trabaja con clientes en un espectro diverso de industrias para resolver sus necesidades comerciales más apremiantes e innovadoras utilizando la amplitud de servicios de IA/ML basados ​​en la nube de AWS.

Lin Lee Cheong es Gerente de Ciencias Aplicadas en el equipo de Amazon ML Solutions Lab en AWS. Trabaja con clientes estratégicos de AWS para explorar y aplicar inteligencia artificial y aprendizaje automático para descubrir nuevos conocimientos y resolver problemas complejos.

punto_img

Información más reciente

punto_img