Accélérer le temps d’obtention des informations avec les collections de séries temporelles de MongoDB et Amazon SageMaker Canvas

Accélérez l'obtention d'informations grâce aux collections de séries temporelles de MongoDB et à Amazon SageMaker Canvas

Ceci est un article invité rédigé en collaboration avec Babu Srinivasan de MongoDB.

À mesure que les industries évoluent dans le paysage commercial rapide d’aujourd’hui, l’incapacité à disposer de prévisions en temps réel pose des défis importants pour les industries fortement tributaires d’informations précises et opportunes. L’absence de prévisions en temps réel dans diverses industries présente des défis commerciaux pressants qui peuvent avoir un impact significatif sur la prise de décision et l’efficacité opérationnelle. Sans informations en temps réel, les entreprises ont du mal à s’adapter aux conditions du marché en constante évolution, à anticiper avec précision la demande des clients, à optimiser les niveaux de stock, et à prendre des décisions stratégiques proactives. Les industries telles que la finance, la vente au détail, la gestion de la chaîne d’approvisionnement et la logistique risquent de passer à côté d’opportunités, d’augmenter les coûts, de mal allouer les ressources, et de ne pas pouvoir répondre aux attentes des clients. En explorant ces défis, les organisations peuvent reconnaître l’importance des prévisions en temps réel et explorer des solutions innovantes pour surmonter ces obstacles, leur permettant ainsi de rester compétitives, de prendre des décisions éclairées et de prospérer dans le paysage commercial rapide d’aujourd’hui.

En exploitant le potentiel transformateur des capacités de données de séries chronologiques natives de MongoDB et en les intégrant à la puissance d’Amazon SageMaker Canvas, les organisations peuvent surmonter ces défis et atteindre de nouveaux niveaux d’agilité. Le solide système de gestion des données de séries chronologiques de MongoDB permet le stockage et la récupération de grandes quantités de données en temps réel, tandis que les algorithmes d’apprentissage automatique avancés et les capacités prédictives fournissent des modèles de prévision précis et dynamiques avec SageMaker Canvas.

Dans cet article, nous explorerons le potentiel de l’utilisation des données de séries chronologiques de MongoDB et de SageMaker Canvas en tant que solution globale.

MongoDB Atlas

MongoDB Atlas est une plateforme de données pour développeurs entièrement gérée qui simplifie le déploiement et la mise à l’échelle des bases de données MongoDB dans le cloud. Il s’agit d’un système de stockage de documents qui offre une base de données entièrement gérée, avec une recherche intégrale et vectorielle, une prise en charge des requêtes géospatiales, des graphiques, et une prise en charge native d’un stockage efficace des séries chronologiques et de leurs capacités de requête. MongoDB Atlas propose le sharding automatique, la scalabilité horizontale et l’indexation flexible pour l’ingestion de données à fort volume. Parmi toutes ces fonctionnalités, les capacités natives de séries chronologiques se distinguent particulièrement, en en faisant l’outil idéal pour la gestion de grandes quantités de données de séries chronologiques, telles que les données de demandes applicatives critiques pour l’activité, la télémétrie, les logs serveur, et bien plus encore. Grâce à une requête, une agrégation et une analyse efficaces, les entreprises peuvent extraire des informations précieuses à partir de données horodatées. En utilisant ces capacités, les entreprises peuvent stocker, gérer et analyser efficacement des données de séries chronologiques, ce qui leur permet de prendre des décisions basées sur les données et d’acquérir un avantage concurrentiel

Amazon SageMaker Canvas

Amazon SageMaker Canvas est un service visuel d’apprentissage automatique (ML) qui permet aux analystes commerciaux et aux data scientists de créer et de déployer des modèles d’apprentissage automatique personnalisés sans avoir besoin d’expérience en ML ni de devoir écrire une seule ligne de code. SageMaker Canvas prend en charge un certain nombre de cas d’utilisation, y compris les prévisions de séries chronologiques, ce qui permet aux entreprises de prévoir précisément la demande future, les ventes, les besoins en ressources et autres données de séries chronologiques. Le service utilise des techniques d’apprentissage profond pour traiter des modèles de données complexes et permet aux entreprises de générer des prévisions précises même avec un historique minimal des données. En utilisant les capacités d’Amazon SageMaker Canvas, les entreprises peuvent prendre des décisions éclairées, optimiser les niveaux de stock, améliorer l’efficacité opérationnelle et augmenter la satisfaction des clients.

L’interface utilisateur de SageMaker Canvas vous permet d’intégrer parfaitement des sources de données du cloud ou sur site, de fusionner facilement des ensembles de données, d’entraîner des modèles précis et de faire des prédictions avec des données émergentes, le tout sans besoin de codage. Si vous avez besoin d’un flux de travail automatisé ou d’une intégration directe de modèles d’apprentissage automatique dans des applications, les fonctions de prévision de Canvas sont accessibles via des APIs.

Aperçu de la solution

Les utilisateurs stockent leurs données de séries temporelles transactionnelles dans MongoDB Atlas. Grâce à Atlas Data Federation, les données sont extraites dans un bucket Amazon S3. Amazon SageMaker Canvas accède aux données pour construire des modèles et créer des prévisions. Les résultats des prévisions sont stockés dans un bucket S3. En utilisant les services de la Fédération de données MongoDB, les prévisions sont présentées visuellement grâce à MongoDB Charts.

Le diagramme suivant illustre l’architecture proposée de la solution.

Prérequis

Pour cette solution, nous utilisons MongoDB Atlas pour stocker des données de séries temporelles, Amazon SageMaker Canvas pour entraîner un modèle et produire des prévisions, et Amazon S3 pour stocker les données extraites de MongoDB Atlas.

Assurez-vous de disposer des prérequis suivants :

Configurer le cluster MongoDB Atlas

Créez un cluster MongoDB Atlas gratuit en suivant les instructions dans Créer un Cluster. Configurez l’accès à la base de données et l’accès au réseau dans Database access et Network access.

Remplir une collection de séries temporelles dans MongoDB Atlas

Pour les besoins de cette démonstration, vous pouvez utiliser un jeu de données d’exemple provenant de Kaggle et le télécharger dans MongoDB Atlas à l’aide des outils MongoDB, de préférence MongoDB Compass.

Le code suivant montre un jeu de données d’exemple pour une collection de séries temporelles :

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

La capture d’écran suivante montre les données d’exemple de séries temporelles dans MongoDB Atlas :

Créer un bucket S3

Créez un bucket S3 dans AWS, où les données de séries temporelles doivent être stockées et analysées. Notez que nous avons deux dossiers. sales-train-data est utilisé pour stocker les données extraites de MongoDB Atlas, tandis que sales-forecast-output contient les prévisions de Canvas.

Créer la Fédération de données

Configurez la Fédération de données dans Atlas et enregistrez le bucket S3 précédemment créé en tant que source de données. Remarquez que trois différentes bases de données/collections sont créées dans la fédération de données pour le cluster Atlas, le bucket S3 pour les données de MongoDB Atlas et le bucket S3 pour stocker les résultats de Canvas.

Les captures d’écran suivantes montrent la configuration de la fédération des données.

Configurer le service d’application Atlas

Créez les Services d’application MongoDB pour déployer les fonctions de transfert des données du cluster MongoDB Atlas vers le compartiment S3 en utilisant l’agrégation $out.

Vérifier la configuration de la source de données

Les services d’application créent un nouveau nom de service Atlas qui doit être mentionné en tant que services de données dans la fonction suivante. Vérifiez que le nom de service Atlas est créé et notez-le pour référence future.

Créer la fonction

Configurez les services d’application Atlas pour créer le déclencheur et les fonctions. Les déclencheurs doivent être planifiés pour écrire les données dans S3 à une fréquence périodique basée sur les besoins commerciaux pour former les modèles.

Le script suivant montre la fonction pour écrire dans le compartiment S3 :

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

Fonction d’exemple

La fonction peut être exécutée via l’onglet Exécuter et les erreurs peuvent être déboguées en utilisant les fonctionnalités de journalisation des services d’application. De plus, les erreurs peuvent être déboguées en utilisant le menu Journaux dans le volet de gauche.

La capture d’écran suivante montre l’exécution de la fonction avec le résultat :

Créer un ensemble de données dans Amazon SageMaker Canvas

Les étapes suivantes supposent que vous avez créé un domaine SageMaker et un profil utilisateur. Si ce n’est pas déjà fait, assurez-vous de configurer le domaine et le profil utilisateur SageMaker. Dans le profil utilisateur, mettez à jour votre compartiment S3 pour le personnaliser et fournissez votre nom de compartiment.

Une fois terminé, accédez à SageMaker Canvas, sélectionnez votre domaine et profil, puis sélectionnez Canvas.

Créez un ensemble de données en fournissant la source de données.

Sélectionnez la source de l’ensemble de données en tant que S3

Sélectionnez l’emplacement des données dans le bucket S3 et sélectionnez Créer ensemble de données.

Vérifiez le schéma et cliquez sur Créer ensemble de données

Une fois l’importation réussie, l’ensemble de données apparaîtra dans la liste comme indiqué dans la capture d’écran suivante.

Entraîner le modèle

Ensuite, nous utiliserons Canvas pour configurer l’entraînement du modèle. Sélectionnez l’ensemble de données et cliquez sur Créer.

Créez un nom de modèle, sélectionnez Analyse prédictive et sélectionnez Créer.

Sélectionnez la colonne cible

Ensuite, cliquez sur Configurer le modèle de séries temporelles et sélectionnez item_id comme colonne ID d’article.

Sélectionnez tm pour la colonne de date et d’heure

Pour spécifier la période de prévision, choisissez 8 semaines.

Maintenant vous êtes prêt(e) à prévisualiser le modèle ou à lancer le processus de construction.

Après avoir prévisualisé le modèle ou lancé la construction, votre modèle sera créé(e) et cela peut prendre jusqu’à quatre heures. Vous pouvez quitter l’écran et revenir pour voir l’état de l’entraînement du modèle.

Quand le modèle est prêt, sélectionnez le modèle et cliquez sur la dernière version.

Examinez les métriques du modèle et l’impact des colonnes et si vous êtes satisfait(e) des performances du modèle, cliquez sur Prédire.

Ensuite, choisissez la prédiction par lot et cliquez sur Sélectionner l’ensemble de données.

Sélectionnez votre ensemble de données et cliquez sur Choisir l’ensemble de données.

Ensuite, cliquez sur Démarrer les prédictions.

Observez la création d’un travail ou suivez l’avancement du travail dans SageMaker sous Inférence, Travaux de transformation par lots.

Quand le travail est terminé, sélectionnez le travail et notez le chemin S3 où Canvas a stocké les prédictions.

Visualisez les données de prévision dans les graphiques Atlas

Pour visualiser les données de prévision, créez les graphiques MongoDB Atlas basés sur les données fédérées (amazon-forecast-data) pour les prévisions P10, P50 et P90 comme indiqué dans le graphique suivant.

Nettoyer

  • Supprimer le cluster MongoDB Atlas
  • Supprimer la configuration de la fédération de données dans Atlas
  • Supprimer l’application du service d’application Atlas
  • Supprimer le compartiment S3
  • Supprimer l’ensemble de données et les modèles Amazon SageMaker Canvas
  • Supprimer les graphiques Atlas
  • Se déconnecter d’Amazon SageMaker Canvas

Conclusion

Dans cet article, nous avons extrait des données de séries chronologiques à partir d’une collection de séries chronologiques MongoDB. Il s’agit d’une collection spéciale optimisée pour le stockage et la vitesse d’interrogation des données de séries chronologiques. Nous avons utilisé Amazon SageMaker Canvas pour former des modèles et générer des prédictions, et nous avons visualisé les prédictions dans Atlas Charts.

Pour plus d’informations, consultez les ressources suivantes.

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Détection des discours de haine de l'IA pour lutter contre les stéréotypes et la désinformation

Découvrez comment l'IA combat les discours haineux et les stéréotypes, en favorisant une communauté en ligne sûre grâ...

AI

Armando Solar-Lezama nommé professeur distingué inaugural de la Faculté d'informatique

Un professeur d'EECS nommé à une nouvelle chaire au MIT Schwarzman College of Computing.

AI

Google Research présente SPAE un autoencodeur pour la génération multimodale avec des modèles de langage large (LLM) figés.

Les grands modèles de langage (LLM) ont rapidement gagné énormément en popularité grâce à leurs capacités extraordina...

AI

Ces outils pourraient aider à protéger nos images de l'IA

Cependant, ces outils ne sont ni parfaits, ni suffisants en eux-mêmes.