Cree un modelo de previsión de arranque en frío utilizando DeepAR para series temporales en SageMaker Amazon AI Studio Lab - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree un modelo de previsión de arranque en frío utilizando DeepAR para series temporales en SageMaker Amazon AI Studio Lab

Ivan Cui y Eyal Shacham, Amazon Web Services

Resumen

No importa si quiere asignar los recursos de manera más eficiente al tráfico web, pronosticar la demanda de personal por parte de los pacientes o anticipar las ventas de los productos de una empresa, la previsión es una herramienta esencial. La previsión en inicio frío crea previsiones para series temporales que contienen pocos datos históricos, como un producto nuevo que acaba de presentarse en el mercado minorista. Este patrón utiliza el algoritmo de previsión DeepAR de Amazon SageMaker AI para entrenar un modelo de previsión de arranque en frío y demuestra cómo realizar previsiones sobre los elementos de arranque en frío.

DeepAR es un algoritmo de aprendizaje supervisado para series temporales (monodimensionales) escalares y de previsión que emplean redes neuronales recurrentes (RNN). DeepAR se centra en entrenar un único modelo de forma conjunta para todas las series temporales de los productos relacionados.

Los métodos tradicionales de previsión de series temporales, como el promedio móvil integrado autorregresivo (ARIMA) o el suavizado exponencial (ETS), se basan en gran medida en las series temporales históricas de cada producto individual. Por lo tanto, esos métodos no son eficaces para la previsión de inicio en frío. Cuando el conjunto de datos contiene cientos de series temporales relacionadas, DeepAR supera el estándar ARIMA y los métodos ETS. También puede utilizar el modelo entrenado para generar previsiones para series temporales nuevas que son similares a aquellas para las que ha recibido capacitación.

Requisitos previos y limitaciones

Requisitos previos 

  • Un activo. Cuenta de AWS

  • Un dominio de Amazon SageMaker AI.

  • Una aplicación de Amazon SageMaker AI Studio Lab o Jupiter lab.

  • Un bucket de Amazon Simple Storage Service (Amazon S3) con permisos de lectura y escritura.

  • Conocimientos de programación en Python.

  • Conocimientos sobre el uso de un cuaderno de Jupyter.

Limitaciones

  • Si se invoca el modelo de previsión sin ningún dato histórico, se devolverá un error. Si se invoca el modelo con un mínimo de puntos de datos históricos, se obtendrán predicciones inexactas con un alto grado de fiabilidad. Este patrón sugiere un enfoque para resolver estas limitaciones conocidas de la previsión de inicios en frío.

  • Algunas Servicios de AWS no están disponibles en todos Regiones de AWS. Para obtener información sobre la disponibilidad en regiones, consulte AWS services by Region. Para ver los puntos de conexión específicos, consulte Service endpoints and quotas y elija el enlace del servicio.

Versiones de producto

  • Python versión 3.10 o posterior.

  • El cuaderno del patrón se probó en Amazon SageMaker AI Studio en una instancia ml.t3.medium con el núcleo Python 3 (Data Science).

Arquitectura

En el siguiente diagrama se muestran los componentes de la arquitectura y el flujo de trabajo de esta aplicación.

Flujo de trabajo para crear un modelo de previsión de arranque en frío con SageMaker Amazon S3.

El flujo de trabajo realiza las siguientes tareas:

  1. Los archivos de entrada de datos de entrenamiento y prueba se sintetizan y luego se cargan en un bucket de Amazon S3. Estos datos incluyen varias series temporales con características categóricas y dinámicas, junto con valores objetivo (por predecir). El cuaderno de Jupyter visualiza los datos para que pueda comprender mejor los requisitos de los datos de entrenamiento y los valores previstos esperados.

  2. Se crea un trabajo de optimización de hiperparámetros para entrenar el modelo y encontrar el mejor modelo en función de las métricas predefinidas.

  3. Los archivos de entrada se descargan del bucket de Amazon S3 a cada instancia de los trabajos de ajuste de hiperparámetros.

  4. Una vez que el trabajo de ajuste selecciona el mejor modelo en función del umbral predefinido del ajustador, el modelo se implementa como un SageMaker punto final de IA.

  5. Así pues, el modelo implementado estará listo para la invocación, donde sus predicciones se validan con los datos de la prueba.

El cuaderno muestra la precisión del modelo para predecir los valores objetivo cuando el número adecuado de puntos de datos históricos está disponible. Sin embargo, cuando se invoca al modelo con menos puntos de datos históricos (que representan un producto pasivo), las predicciones del modelo no coinciden con los datos de las pruebas originales, ni siquiera dentro de los niveles de confianza del modelo. En el patrón, se crea un nuevo modelo para productos pasivos en el que la longitud de contexto inicial (puntos pronosticados) se define como la cantidad de puntos históricos disponibles; a continuación, un nuevo modelo se entrena de forma iterativa a medida que se adquieren nuevos puntos de datos. El cuaderno muestra que el modelo tendrá predicciones precisas siempre que la cantidad de puntos de datos históricos se acerque a la longitud de su contexto.

Tools (Herramientas)

Servicios de AWS

  • AWS Identity and Access Management (IAM) le ayuda a gestionar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.

  • Amazon SageMaker AI es un servicio de aprendizaje automático (ML) gestionado que le ayuda a crear y entrenar modelos de aprendizaje automático para luego implementarlos en un entorno hospedado listo para la producción.

  • Amazon SageMaker AI Studio es un entorno de desarrollo integrado (IDE) basado en la web para el aprendizaje automático que le permite crear, entrenar, depurar, implementar y supervisar sus modelos de aprendizaje automático.

  • Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

Otras herramientas

  • Python es un lenguaje de programación informático de uso general.

Repositorio de código

El código de este patrón está disponible en el repositorio GitHub DeepAR- ColdProduct -Patern.

Prácticas recomendadas

  • Entrene su modelo en un entorno virtual y utilice siempre el control de versiones para lograr la máxima reproducibilidad.

  • Incluya tantas características categóricas de alta calidad como pueda para obtener el mejor modelo predictivo.

  • Asegúrese de que los metadatos contengan elementos categóricos similares para que el modelo pueda deducir adecuadamente las predicciones de los productos de inicio en frío.

  • Ejecute un trabajo de optimización de hiperparámetros para obtener el modelo predictivo más alto.

  • En este patrón, el modelo que desarrolle tiene una longitud de contexto de 24 horas, lo que significa que predecirá las próximas 24 horas. Si intenta predecir las próximas 24 horas cuando tiene menos de 24 horas de datos históricos, la precisión de la predicción del modelo se degradará linealmente en función de la cantidad de puntos de datos históricos. Para mitigar este problema, cree un modelo nuevo para cada conjunto de puntos de datos históricos hasta que este número alcance la longitud de predicción (contexto) deseada. Por ejemplo, comience con un modelo de longitud de contexto de 2 horas y, a continuación, aumente el modelo en 4 horas, 8 horas, 16 horas y 24 horas respectivamente.

Epics

TareaDescripciónHabilidades requeridas

Inicie el entorno del cuaderno.

  1. Inicia sesión en la página Consola de administración de AWS de inicio de SageMaker AI Studio y ábrela. Luego, seleccione Abrir Studio.

  2. En el panel de navegación izquierdo, elija el ícono Studio Classic en Aplicaciones. A continuación, seleccione el botón Abrir en la lista de aplicaciones.

Para obtener más información, consulte Lanzamiento de Amazon SageMaker AI Studio en la documentación de SageMaker IA.

Científico de datos
TareaDescripciónHabilidades requeridas

Configure el entorno virtual para el entrenamiento del modelo.

Para configurar el entorno virtual para el entrenamiento del modelo, haga lo siguiente:

  1. Descargue el deepar_synthetic.ipynb cuaderno desde el GitHub repositorio de este patrón a su máquina local.

  2. En Amazon SageMaker AI Studio Classic, elija el icono Cargar archivos en la barra de menús de Studio Classic y seleccione el bloc de notas descargado.

  3. En el panel de navegación izquierdo del explorador de archivos, seleccione el cuaderno. Siga las instrucciones para configurar un entorno de cuaderno. Seleccione la imagen de Ciencia de datos 3.0 y el núcleo de Python 3

Para obtener más información, consulte Cargar archivos a SageMaker AI Studio Classic en la documentación de SageMaker AI.

Científico de datos

Cree y valide un modelo de previsión.

  • Siga las instrucciones del cuaderno para crear los datos de entrenamiento y prueba, entrene el modelo y, a continuación, invóquelo.

  • Confirme la precisión de las predicciones del modelo cuando se proporcionan los puntos de datos históricos adecuados.

Científico de datos

Recursos relacionados