[ad_1]
Esta es una publicación invitada en coautoría con Babu Srinivasan de MongoDB.
A medida que las industrias evolucionan en el acelerado panorama empresarial actual, la incapacidad de proporcionar pronósticos en tiempo real plantea desafíos importantes para las industrias que dependen en gran medida de conocimientos precisos y oportunos. La falta 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, a las empresas les resulta difícil adaptarse a las condiciones dinámicas del mercado, predecir 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, asignar recursos de manera ineficiente e incapacidad para cumplir con las expectativas de los clientes. Al examinar estos desafíos, las empresas pueden reconocer la importancia de la previsión en tiempo real y explorar soluciones innovadoras para superar estos obstáculos y poder seguir siendo competitivas, tomar decisiones informadas y tener éxito en el cambiante entorno empresarial actual.
Al aprovechar el potencial transformador de las capacidades de datos de series temporales nativas de MongoDB e integrarlas con el poder de Amazon SageMaker Canvas, 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 cantidades de datos de series temporales en tiempo real, mientras que los algoritmos avanzados de aprendizaje automático y las capacidades de pronóstico con SageMaker Canvas brindan modelos de pronóstico precisos y dinámicos.
En esta publicación, exploraremos el potencial de utilizar datos de series temporales de MongoDB y SageMaker Canvas como una solución integral.
Atlas de MongoDB
MongoDB Atlas es una plataforma de datos para desarrolladores totalmente administrada que facilita la implementación y escalado de bases de datos MongoDB en la nube. Es un almacenamiento basado en documentos que proporciona una base de datos totalmente administrada con búsqueda integrada de texto completo y vectores, soporte para consultas geoespaciales, gráficos y soporte nativo para capacidades de consulta y almacenamiento de series temporales eficientes. MongoDB Atlas ofrece fragmentación automática, escalabilidad horizontal e indexación flexible para acomodar grandes cantidades de datos. De particular interés son sus capacidades nativas de series de tiempo, lo que lo hace ideal para administrar grandes cantidades 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, agregaciones y análisis eficientes, las empresas pueden obtener información valiosa a partir de datos con marca de tiempo. Estas capacidades permiten a las organizaciones almacenar, administrar y analizar datos de series temporales de manera eficiente, permitir decisiones basadas en datos y obtener una ventaja competitiva.
Lienzo de Amazon SageMaker
Amazon SageMaker Canvas 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 requerir experiencia en ML ni escribir una sola línea de código. SageMaker Canvas admite una variedad de casos de uso, incluido el pronóstico de series de tiempo, lo que permite a las empresas predecir con precisión la demanda futura, las ventas, los requisitos de recursos y otros datos de series de tiempo. El servicio utiliza técnicas de aprendizaje profundo para procesar patrones de datos complejos, lo que permite a las empresas realizar pronósticos precisos incluso con datos históricos mínimos. Al aprovechar las capacidades de Amazon SageMaker Canvas, las empresas pueden tomar decisiones informadas, optimizar el inventario, mejorar la eficiencia operativa y aumentar la satisfacción del cliente.
Con la interfaz de SageMaker Canvas, puede integrar perfectamente fuentes de datos locales o en la nube, fusionar conjuntos de datos sin esfuerzo, entrenar modelos precisos y hacer predicciones con nuevos datos, todo sin codificación. Si necesita un flujo de trabajo automatizado o una integración directa del modelo de aprendizaje automático en aplicaciones, se puede acceder a las capacidades de pronóstico de Canvas a través de API.
Descripción general de la solución
Los usuarios mantienen los datos de series de tiempo de sus transacciones en MongoDB Atlas. Atlas Data Federation se utiliza para extraer datos en el depósito de Amazon S3. Amazon SageMaker Canvas accede a los datos para crear modelos y realizar pronósticos. Los resultados del pronóstico se almacenan en un depósito S3. Al utilizar los servicios de MongoDB Data Federation, los pronósticos se muestran visualmente a través de gráficos de MongoDB.
El siguiente diagrama describe la arquitectura de la solución propuesta.
requisitos
Para esta solución, utilizamos MongoDB Atlas para almacenar datos de series temporales, Amazon SageMaker Canvas para entrenar un modelo y crear pronósticos y Amazon S3 para almacenar datos extraídos de MongoDB Atlas.
Asegúrate de cumplir con los siguientes requisitos:
Configurar el clúster Atlas de MongoDB
Cree un clúster MongoDB Atlas gratuito siguiendo las instrucciones de «Crear un clúster». Configure el acceso a la base de datos y el acceso a la red.
Complete una colección de series temporales en MongoDB Atlas
Para esta demostración, puede utilizar un conjunto de datos de muestra de Kaggle y cargarlo en MongoDB Atlas utilizando las herramientas de MongoDB, preferiblemente MongoDB Compass.
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:
Crear un depósito S3
Cree 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
utilizado para almacenar datos extraídos de MongoDB Atlas sales-forecast-output
contiene predicciones de Canvas.
Crear la federación de datos
Configure la federación de datos en Atlas y registre el depósito S3 que creó anteriormente como parte de la fuente de datos. Tenga en cuenta que se crean tres bases de datos/colecciones diferentes 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 del lienzo.
Las siguientes capturas de pantalla muestran la estructura de la federación de datos.
Configurar el servicio de aplicaciones Atlas
Cree los servicios de aplicación MongoDB para proporcionar la funcionalidad de transferir los datos del clúster MongoDB Atlas al depósito S3 mediante la agregación $out.
Verifique la configuración de la fuente de datos
Los Servicios de aplicación crean un nuevo nombre de servicio Altas, al que se debe hacer referencia como Servicios de datos en la siguiente función. Asegúrese de que se haya creado el nombre del servicio Atlas y anótelo para referencia futura.
Crear la función
Configure Atlas Application Services para crear el activador y las funciones. Los desencadenadores deben programarse para escribir los datos en S3 a intervalos regulares según la necesidad empresarial de entrenar los modelos.
El siguiente script muestra la función para escribir en el depósito 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 ejemplo
La función se puede ejecutar desde 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:
Cree 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 el 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.
Cuando haya terminado, navegue hasta SageMaker Canvas, seleccione su dominio y perfil, y seleccione Canvas.
Cree un conjunto de datos que proporcione la fuente de datos.
Seleccione S3 como fuente del conjunto de datos
Seleccione la ubicación de los datos del depósito S3 y seleccione Crear conjunto de datos.
Revise el esquema y haga clic en Crear registro.
Después de una importación exitosa, el registro aparecerá en la lista como se muestra en la siguiente captura de pantalla.
Entrenar el modelo
A continuación, utilizamos Canvas para configurar el entrenamiento del modelo. Seleccione el registro y haga clic en Crear.
Cree un nombre de modelo, seleccione Análisis predictivo y luego seleccione Crear.
Seleccionar columna de destino
Luego haga clic en «Configurar modelo de serie temporal» y seleccione «item_id» como la columna «ID de artículo».
Elegir tm
para la columna de marca de tiempo
Para especificar el período de tiempo que desea pronosticar, seleccione 8 semanas.
Ahora puedes obtener una vista previa del modelo o iniciar el proceso de creación.
Después de obtener una vista previa del modelo o comenzar la construcción, se creará su modelo. Esto puede tardar hasta cuatro horas. Puede salir de la pantalla y volver para ver el estado de entrenamiento del modelo.
Cuando el modelo esté listo, seleccione el modelo y haga clic en la última versión.
Revise las métricas del modelo y los impactos de las columnas. Cuando esté satisfecho con el rendimiento del modelo, haga clic en Predicciones.
A continuación, seleccione «Predicción por lotes» y haga clic en «Seleccionar conjunto de datos».
Seleccione su conjunto de datos y haga clic en Seleccionar conjunto de datos.
Luego haga clic en Iniciar predicciones.
Observe un trabajo creado o observe el progreso del trabajo en SageMaker en Inferencia, Trabajos de transformación por lotes.
Cuando se complete el trabajo, seleccione el trabajo y anote la ruta de S3 donde Canvas almacenó las predicciones.
Visualice datos de pronóstico en gráficos de atlas
Para visualizar los datos de pronóstico, cree los gráficos MongoDB Atlas basados en los datos compuestos (amazon-forecast-data) para los pronósticos P10, P50 y P90, como se muestra en el siguiente gráfico.
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 las cartas del atlas
- Cerrar sesión en Amazon SageMaker Canvas
Diploma
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 recursos a continuación.
Sobre los autores
Ígor Alexéiev es arquitecto de soluciones socio senior en AWS en datos y análisis. En su función, Igor trabaja con socios estratégicos y les ayuda a crear arquitecturas complejas optimizadas para AWS. Antes de unirse a AWS, implementó muchos proyectos en el espacio de big data como arquitecto de datos/soluciones, incluidos múltiples lagos de datos en el ecosistema Hadoop. Como ingeniero de datos, participó en la aplicación de IA/ML para la detección de fraudes y la automatización de oficinas.
Babu Srinivasan es arquitecto de soluciones socio senior en MongoDB. En su puesto actual, trabaja con AWS para crear integraciones técnicas y arquitecturas de referencia para las soluciones AWS y MongoDB. Tiene más de dos décadas de experiencia en tecnologías de bases de datos y nube. Le apasiona brindar soluciones técnicas a clientes que trabajan con múltiples integradores de sistemas globales (GSI) en diferentes regiones.
[ad_2]