Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Servicios web de Amazon

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Servicios web de Amazon

Esta es una publicación invitada coescrita con Babu Srinivasan de MongoDB.

A medida que las industrias evolucionan en el acelerado panorama empresarial actual, la incapacidad de tener pronósticos en tiempo real plantea desafíos importantes para las industrias que dependen en gran medida de conocimientos precisos y oportunos. La ausencia de pronósticos en tiempo real en diversas industrias presenta desafíos comerciales apremiantes que pueden afectar significativamente la toma de decisiones y la eficiencia operativa. Sin información en tiempo real, las empresas luchan por adaptarse a las condiciones dinámicas del mercado, anticipar con precisión la demanda de los clientes, optimizar los niveles de inventario y tomar decisiones estratégicas proactivas. Industrias como las finanzas, el comercio minorista, la gestión de la cadena de suministro y la logística enfrentan el riesgo de perder oportunidades, aumentar los costos, una asignación ineficiente de recursos y la incapacidad de cumplir con las expectativas de los clientes. Al explorar estos desafíos, las organizaciones pueden reconocer la importancia de la previsión en tiempo real y explorar soluciones innovadoras para superar estos obstáculos, permitiéndoles seguir siendo competitivas, tomar decisiones informadas y prosperar en el acelerado entorno empresarial actual.

Aprovechando el potencial transformador de la plataforma nativa de MongoDB series de tiempo capacidades de datos e integrarlas con el poder de Lienzo de Amazon SageMaker, las organizaciones pueden superar estos desafíos y desbloquear nuevos niveles de agilidad. La sólida gestión de datos de series temporales de MongoDB permite el almacenamiento y la recuperación de grandes volúmenes de datos de series temporales en tiempo real, mientras que los algoritmos avanzados de aprendizaje automático y las capacidades predictivas proporcionan modelos de pronóstico precisos y dinámicos con SageMaker Canvas.

En esta publicación, exploraremos el potencial de utilizar los datos de series temporales de MongoDB y SageMaker Canvas como una solución integral.

Atlas de MongoDB

Atlas de MongoDB es una plataforma de datos para desarrolladores totalmente administrada que simplifica la implementación y el escalado de bases de datos MongoDB en la nube. Es un almacenamiento basado en documentos que proporciona una base de datos totalmente administrada, con archivos vectoriales y de texto completo integrados. Buscar, apoyo para Geoespacial consultas, Gráficas y soporte nativo para eficiente series de tiempo capacidades de almacenamiento y consulta. MongoDB Atlas ofrece fragmentación automática, escalabilidad horizontal e indexación flexible para la ingesta de datos de gran volumen. Entre todas, las capacidades nativas de series de tiempo son una característica destacada, lo que las hace ideales para administrar un gran volumen de datos de series de tiempo, como datos de aplicaciones críticas para el negocio, telemetría, registros de servidores y más. Con consultas, agregación y análisis eficientes, las empresas pueden extraer información valiosa a partir de datos con marca de tiempo. Al utilizar estas capacidades, las empresas pueden almacenar, administrar y analizar datos de series temporales de manera eficiente, lo que permite tomar decisiones basadas en datos y obtener una ventaja competitiva.

Lienzo de Amazon SageMaker

Lienzo de Amazon SageMaker es un servicio visual de aprendizaje automático (ML) que permite a los analistas de negocios y científicos de datos crear e implementar modelos de ML personalizados sin necesidad de experiencia en ML ni tener que escribir una sola línea de código. SageMaker Canvas admite varios casos de uso, incluidos previsión de series de tiempo, que permite a las empresas pronosticar con precisión la demanda futura, las ventas, los requisitos de recursos y otros datos de series temporales. El servicio utiliza técnicas de aprendizaje profundo para manejar patrones de datos complejos y permite a las empresas generar pronósticos precisos incluso con datos históricos mínimos. Al utilizar las capacidades de Amazon SageMaker Canvas, las empresas pueden tomar decisiones informadas, optimizar los niveles de inventario, mejorar la eficiencia operativa y mejorar la satisfacción del cliente.

La interfaz de usuario de SageMaker Canvas le permite integrar perfectamente fuentes de datos desde la nube o en las instalaciones, fusionar conjuntos de datos sin esfuerzo, entrenar modelos precisos y hacer predicciones con datos emergentes, todo sin codificación. Si necesita un flujo de trabajo automatizado o una integración directa del modelo ML en aplicaciones, se puede acceder a las funciones de pronóstico de Canvas a través de API.

Resumen de la solución

Los usuarios conservan sus datos de series temporales transaccionales en MongoDB Atlas. A través de Atlas Data Federation, los datos se extraen en el depósito de Amazon S3. Amazon SageMaker Canvas accede a los datos para crear modelos y pronósticos. Los resultados de la previsión se almacenan en un depósito S3. Utilizando los servicios de MongoDB Data Federation, los pronósticos se presentan visualmente a través de MongoDB Charts.

El siguiente diagrama describe la arquitectura de la solución propuesta.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Requisitos previos

Para esta solución utilizamos MongoDB Atlas para almacenar datos de series temporales, Amazon SageMaker Canvas para entrenar un modelo y producir pronósticos y Amazon S3 para almacenar datos extraídos de MongoDB Atlas.

Asegúrese de tener los siguientes requisitos previos:

Configurar el clúster MongoDB Atlas

Cree un clúster MongoDB Atlas gratuito siguiendo las instrucciones en Crear un clúster. Configurar el Acceso a la base de datos y Acceso a la red.

Complete una colección de series temporales en MongoDB Atlas

Para los fines de esta demostración, puede utilizar un conjunto de datos de muestra de Kaggle y subir el mismo a MongoDB Atlas con MongoDB , Preferiblemente Brújula MongoDB.

El siguiente código muestra un conjunto de datos de muestra para una colección de series temporales:

{ "store": "1 1", "timestamp": { "2010-02-05T00:00:00.000Z"}, "temperature": "42.31", "target_value": 2.572, "IsHoliday": false
}

La siguiente captura de pantalla muestra los datos de series de tiempo de muestra en MongoDB Atlas:

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Crear un bucket de S3

Crear un depósito S3 en AWS, donde los datos de series temporales deben almacenarse y analizarse. Tenga en cuenta que tenemos dos carpetas. sales-train-data se utiliza para almacenar datos extraídos de MongoDB Atlas, mientras que sales-forecast-output contiene predicciones de  Canvas.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Crear la federación de datos

Configurar el Federación de datos en Atlas y registre el depósito S3 creado previamente como parte de la fuente de datos. Observe que las tres bases de datos/colecciones diferentes se crean en la federación de datos para el clúster Atlas, el depósito S3 para los datos de MongoDB Atlas y el depósito S3 para almacenar los resultados de Canvas.

Las siguientes capturas de pantalla muestran la configuración de la federación de datos.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Configurar el servicio de la aplicación Atlas

Crea el Servicios de aplicaciones MongoDB implementar las funciones para transferir los datos del clúster MongoDB Atlas al depósito S3 utilizando el $ fuera agregación.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Verificar la configuración de la fuente de datos

Los servicios de la Aplicación crean un nuevo Nombre del Servicio Altas que debe denominarse servicios de datos en la siguiente función. Verifique que se haya creado el nombre del servicio Atlas y anótelo para referencia futura.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Crea la función

Configure los servicios de la aplicación Atlas para crear el disparador y funciones. Los activadores deben programarse para escribir los datos en S3 con una frecuencia periódica basada en la necesidad empresarial de entrenar los modelos.

El siguiente script muestra la función para escribir en el depósito de S3:

exports = function () { const service = context.services.get(""); const db = service.db("") const events = db.collection(""); const pipeline = [ { "$out": { "s3": { "bucket": "<S3_bucket_name>", "region": "<AWS_Region>", "filename": {$concat: ["<S3path>/<filename>_",{"$toString": new Date(Date.now())}]}, "format": { "name": "json", "maxFileSize": "10GB" } } } } ]; return events.aggregate(pipeline);
};

Función de muestra

La función se puede ejecutar a través de la pestaña Ejecutar y los errores se pueden depurar utilizando las funciones de registro en los Servicios de la aplicación. Además, los errores se pueden depurar utilizando el menú Registros en el panel izquierdo.

La siguiente captura de pantalla muestra la ejecución de la función junto con el resultado:

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Crear un conjunto de datos en Amazon SageMaker Canvas

Los siguientes pasos suponen que ha creado un dominio y un perfil de usuario de SageMaker. Si aún no lo ha hecho, asegúrese de configurar el Dominio y perfil de usuario de SageMaker. En el perfil de usuario, actualice su depósito de S3 para que sea personalizado y proporcione el nombre de su depósito.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Cuando haya terminado, navegue hasta SageMaker Canvas, seleccione su dominio y perfil, y seleccione Canvas.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Cree un conjunto de datos que proporcione la fuente de datos.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Seleccione la fuente del conjunto de datos como S3

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Seleccione la ubicación de los datos del depósito S3 y seleccione Crear conjunto de datos.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Revise el esquema y haga clic en Crear conjunto de datos.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Tras una importación exitosa, el conjunto de datos aparecerá en la lista como se muestra en la siguiente captura de pantalla.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Entrenar a la modelo

A continuación, usaremos Canvas para configurar el entrenamiento del modelo. Seleccione el conjunto de datos y haga clic en Crear.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.
Cree un nombre de modelo, seleccione Análisis predictivo y seleccione Crear.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Seleccionar columna de destino

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

A continuación, haga clic en Configurar modelo de serie temporal y seleccione item_id como la columna ID del artículo.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Seleccione tm para la columna de marca de tiempo

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Para especificar la cantidad de tiempo que desea pronosticar, elija 8 semanas.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Ahora está listo para obtener una vista previa del modelo o iniciar el proceso de construcción.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Después de obtener una vista previa del modelo o iniciar la compilación, se creará su modelo y puede tardar hasta cuatro horas. Puede salir de la pantalla y regresar para ver el estado de entrenamiento del modelo.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Cuando el modelo esté listo, seleccione el modelo y haga clic en la última versión.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Revise las métricas del modelo y el impacto de la columna y, si está satisfecho con el rendimiento del modelo, haga clic en Predecir.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

A continuación, elija Predicción por lotes y haga clic en Seleccionar conjunto de datos.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Seleccione su conjunto de datos y haga clic en Elegir conjunto de datos.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

A continuación, haga clic en Iniciar predicciones.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Observe un trabajo creado u observe el progreso del trabajo en SageMaker en Inferencia, trabajos de transformación por lotes.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Cuando se complete el trabajo, seleccione el trabajo y anote la ruta de S3 donde Canvas almacenó las predicciones.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Visualice datos de pronóstico en Atlas Charts

Para visualizar datos de pronóstico, cree el Gráficos del Atlas de MongoDB basado en los datos federados (amazon-forecast-data) para los pronósticos P10, P50 y P90, como se muestra en el siguiente cuadro.

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Limpiar

  • Eliminar el clúster MongoDB Atlas
  • Eliminar la configuración de Atlas Data Federation
  • Eliminar la aplicación Atlas Application Service
  • Eliminar el depósito S3
  • Eliminar el conjunto de datos y los modelos de Amazon SageMaker Canvas
  • Eliminar los gráficos del Atlas
  • Cerrar sesión en Amazon SageMaker Canvas

Conclusión

En esta publicación extrajimos datos de series temporales de la colección de series temporales de MongoDB. Esta es una colección especial optimizada para el almacenamiento y la velocidad de consulta de datos de series temporales. Usamos Amazon SageMaker Canvas para entrenar modelos y generar predicciones y visualizamos las predicciones en Atlas Charts.

Para obtener más información, consulte los siguientes recursos.


Sobre los autores

Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Igor Alekseev es socio sénior de arquitectura de soluciones en AWS en el dominio de datos y análisis. En su función, Igor está trabajando con socios estratégicos ayudándolos a construir arquitecturas complejas optimizadas para AWS. Antes de unirse a AWS, como arquitecto de soluciones/datos, implementó muchos proyectos en el dominio de Big Data, incluidos varios lagos de datos en el ecosistema de Hadoop. Como ingeniero de datos, participó en la aplicación de AI/ML a la detección de fraudes y la automatización de oficinas.


Acelerando el tiempo de obtención de información con colecciones de series temporales de MongoDB y Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Babu Srinivasan
es Arquitecto de Soluciones de Socio Senior en MongoDB. En su puesto actual, trabaja con AWS para crear integraciones técnicas y arquitecturas de referencia para las soluciones de AWS y MongoDB. Cuenta con más de dos décadas de experiencia en tecnologías de Base de Datos y Nube. Le apasiona brindar soluciones técnicas a los clientes que trabajan con múltiples integradores de sistemas globales (GSI) en múltiples geografías.

Sello de tiempo:

Mas de Aprendizaje automático de AWS