Que vous allouiez des ressources plus efficacement pour le trafic Web, que vous prévoyiez la demande des patients pour les besoins en personnel ou que vous anticipiez les ventes des produits d'une entreprise, la prévision est un outil essentiel dans de nombreuses entreprises. Un cas d'utilisation particulier, connu sous le nom de prévision de démarrage à froid, établit des prévisions pour une série chronologique qui ne contient que peu ou pas de données historiques, comme un nouveau produit qui vient d'entrer sur le marché du commerce de détail. Les méthodes traditionnelles de prévision de séries chronologiques telles que la moyenne mobile intégrée autorégressive (ARIMA) ou le lissage exponentiel (ES) reposent fortement sur les séries chronologiques historiques de chaque produit individuel et ne sont donc pas efficaces pour les prévisions de démarrage à froid.
Dans cet article, nous montrons comment créer un moteur de prévision de démarrage à froid à l'aide de AutoGluon AutoML pour la prévision de séries temporelles, un package Python open source pour automatiser l'apprentissage automatique (ML) sur des données d'image, de texte, tabulaires et de séries chronologiques. AutoGluon fournit un pipeline d'apprentissage automatique (AutoML) de bout en bout pour les développeurs ML débutants à expérimentés, ce qui en fait la solution entièrement automatisée la plus précise et la plus facile à utiliser. Nous utilisons gratuitement Laboratoire Amazon SageMaker Studio service pour cette démonstration.
Introduction aux séries chronologiques d'AutoGluon
AutoGluon est une bibliothèque open source de premier plan pour AutoML pour le texte, l'image et les données tabulaires, vous permettant de produire des modèles très précis à partir de données brutes avec une seule ligne de code. Récemment, l'équipe s'est efforcée d'étendre ces fonctionnalités aux données de séries chronologiques et a développé un module de prévision automatisé accessible au public sur GitHubL’ autogluon.forecasting
traite automatiquement les données brutes des séries chronologiques dans le format approprié, puis forme et ajuste divers modèles d'apprentissage en profondeur de pointe pour produire des prévisions précises. Dans cet article, nous montrons comment utiliser autogluon.forecasting
et appliquez-le aux tâches de prévision de démarrage à froid.
Vue d'ensemble de la solution
Comme AutoGluon est un package Python open-source, vous pouvez implémenter cette solution localement sur votre ordinateur portable ou sur Amazon SageMaker Studio Lab. Nous suivons les étapes suivantes :
- Configurez AutoGluon pour Amazon SageMaker Studio Lab.
- Préparez le jeu de données.
- Définissez les paramètres d'entraînement à l'aide d'AutoGluon.
- Entraînez un moteur de prévision de démarrage à froid pour la prévision de séries chronologiques.
- Visualisez les prédictions de prévision de démarrage à froid.
L'hypothèse clé de la prévision de démarrage à froid est que les éléments présentant des caractéristiques similaires doivent avoir des trajectoires de séries chronologiques similaires, ce qui permet aux prévisions de démarrage à froid de faire des prédictions sur des éléments sans données historiques, comme illustré dans la figure suivante.
Dans notre procédure pas à pas, nous utilisons un ensemble de données synthétiques basé sur la consommation d'électricité, qui se compose de la série temporelle horaire pour 370 éléments, chacun avec un item_id
de 0 à 369. Dans cet ensemble de données synthétiques, chaque item_id
est également associé à une fonctionnalité statique (une fonctionnalité qui ne change pas dans le temps). Nous formons un AR profond modèle utilisant AutoGluon pour apprendre le comportement typique d'éléments similaires, et transférer ce comportement pour faire des prédictions sur de nouveaux éléments (item_id
370–373) qui n'ont pas de données de séries chronologiques historiques. Bien que nous démontrions l'approche de prévision de démarrage à froid avec une seule fonctionnalité statique, dans la pratique, disposer de fonctionnalités statiques informatives et de haute qualité est la clé d'une bonne prévision de démarrage à froid.
Le diagramme suivant fournit un aperçu de haut niveau de notre solution. Le code open-source est disponible sur le GitHub repo.
Pré-requis
Pour cette procédure pas à pas, vous devez disposer des prérequis suivants:
- An Compte Amazon SageMaker Studio Lab
- GitHub accès au compte
Connectez-vous à votre compte Amazon SageMaker Studio Lab et configurez l'environnement à l'aide du terminal :
Ces instructions devraient également fonctionner à partir de votre ordinateur portable si vous n'avez pas accès à Amazon SageMaker Studio Lab (nous vous recommandons d'installer d'abord Anaconda sur votre ordinateur portable).
Lorsque l'environnement virtuel est entièrement configuré, lancez le bloc-notes AutoGluon-cold-start-demo.ipynb
et sélectionnez l'environnement personnalisé .conda-autogluon:Python
noyau.
Préparer la série chronologique cible et l'ensemble de métadonnées d'éléments
Téléchargez les ensembles de données suivants sur votre instance de bloc-notes s'ils ne sont pas inclus, et enregistrez-les sous le répertoire data/
. Vous pouvez trouver ces ensembles de données sur notre GitHub repo:
- Test.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
Exécutez l'extrait de code suivant pour charger l'ensemble de données de série chronologique cible dans le noyau :
Les séries chronologiques AutoGluon nécessitent que les caractéristiques statiques soient représentées au format numérique. Ceci peut être réalisé en appliquant LabelEncoder()
sur notre fonctionnalité statique type
, où l'on code A=0, B=1, C=2, D=3 (voir le code suivant). Par défaut, AutoGluon déduit que la caractéristique statique est soit ordinale, soit catégorielle. Vous pouvez également remplacer cela en convertissant la colonne d'entité statique en type de données objet/chaîne pour les entités catégorielles ou en type de données entier/flottant pour les entités ordinales.
Configurer et démarrer la formation du modèle AutoGluon
Nous devons préciser save_path = ‘autogluon-coldstart-demo’
comme nom de dossier d'artefact de modèle (voir le code suivant). Nous fixons également notre eval_metric
as erreur absolue moyenne en pourcentageou ‘MAPE’
pour faire court, où nous avons défini prediction_length
comme 24 heures. Si non spécifié, AutoGluon produit par défaut des prévisions probabilistes et les note via le perte quantile pondérée. Nous ne regardons que le Modèle DeepAR dans notre démo, car nous savons que l'algorithme DeepAR permet des prévisions de démarrage à froid dès la conception. Nous définissons arbitrairement l'un des hyperparamètres DeepAR et transmettons cet hyperparamètre au ForecastingPredictor().fit()
appel. Cela permet à AutoGluon de ne regarder que dans le modèle spécifié. Pour une liste complète des hyperparamètres réglables, reportez-vous à paquet gluonts.model.deepar.
La formation dure 30 à 45 minutes. Vous pouvez obtenir le résumé du modèle en appelant la fonction suivante :
Prévision sur l'élément de démarrage à froid
Nous sommes maintenant prêts à générer des prévisions pour l'élément de démarrage à froid. Nous recommandons d'avoir au moins cinq lignes pour chaque item_id
. Par conséquent, pour le item_id
qui a moins de cinq observations, nous remplissons avec NaNs. Dans notre démo, les deux item_id
370 et 372 ont zéro observation, un pur problème de démarrage à froid, tandis que les deux autres ont cinq valeurs cibles.
Chargez l'ensemble de données de séries chronologiques cible de démarrage à froid avec le code suivant :
Nous alimentons la série chronologique cible de démarrage à froid dans notre modèle AutoGluon, ainsi que l'ensemble de métadonnées d'éléments pour le démarrage à froid item_id
:
Visualisez les prédictions
Nous pouvons créer une fonction de traçage pour générer une visualisation sur la prévision de démarrage à froid, comme le montre le graphique suivant.
Nettoyer
Pour optimiser l'utilisation des ressources, envisagez d'arrêter l'exécution sur Amazon SageMaker Studio Lab après avoir entièrement exploré le bloc-notes.
Conclusion
Dans cet article, nous avons montré comment créer un moteur de prévision de démarrage à froid à l'aide d'AutoGluon AutoML pour les données de séries chronologiques sur Amazon SageMaker Studio Lab. Pour ceux d'entre vous qui se demandent la différence entre Prévisions Amazon et AutoGluon (séries chronologiques), Amazon Forecast est un service entièrement géré et pris en charge qui utilise l'apprentissage automatique (ML) pour générer des prévisions très précises sans nécessiter d'expérience préalable en ML. Alors qu'AutoGluon est un projet open source soutenu par la communauté avec les dernières contributions à la recherche. Nous avons parcouru un exemple de bout en bout pour démontrer ce dont AutoGluon pour les séries chronologiques est capable, et fourni un ensemble de données et un cas d'utilisation.
AutoGluon pour les données de séries chronologiques est un package Python open source, et nous espérons que cet article, ainsi que notre exemple de code, vous offriront une solution simple pour résoudre les problèmes difficiles de prévision de démarrage à froid. Vous pouvez accéder à l'exemple complet sur notre GitHub repo. Essayez-le, et dites-nous ce que vous en pensez !
À propos des auteurs
Ivan Cui est un Data Scientist chez AWS Professional Services, où il aide les clients à créer et à déployer des solutions à l'aide de l'apprentissage automatique sur AWS. Il a travaillé avec des clients dans divers secteurs, notamment les logiciels, la finance, les produits pharmaceutiques et les soins de santé. Pendant son temps libre, il aime lire, passer du temps avec sa famille et maximiser son portefeuille d'actions.
Jonas Muller est un scientifique appliqué senior au sein du groupe AI Research and Education chez AWS, où il développe de nouveaux algorithmes pour améliorer l'apprentissage en profondeur et développer l'apprentissage automatique automatisé. Avant de rejoindre AWS pour démocratiser le ML, il a obtenu son doctorat au laboratoire d'informatique et d'intelligence artificielle du MIT. Pendant son temps libre, il aime explorer les montagnes et le plein air.
Wenming Ye est chef de produit de recherche chez AWS AI. Il se passionne pour aider les chercheurs et les entreprises clientes à faire évoluer rapidement leurs innovations grâce à une technologie d'apprentissage automatique open source et de pointe. Wenming possède une expérience diversifiée en R&D de Microsoft Research, de l'équipe d'ingénierie SQL et de startups prospères.
- Coinsmart. Le meilleur échange Bitcoin et Crypto d'Europe.
- Platoblockchain. Intelligence métaverse Web3. Connaissance amplifiée. ACCÈS LIBRE.
- CryptoHawk. Radar Altcoins. Essai gratuit.
- Source : https://aws.amazon.com/blogs/machine-learning/build-a-cold-start-time-series-forecasting-engine-using-autogluon/
- "
- 100
- 9
- Qui sommes-nous
- Absolute
- accès
- Compte
- Avec cette connaissance vient le pouvoir de prendre
- atteint
- à travers
- AI
- recherche ai
- algorithme
- algorithmes
- Permettre
- Bien que
- Amazon
- Application
- une approche
- artificiel
- intelligence artificielle
- Automatisation
- disponibles
- moyen
- AWS
- construire
- construit
- entreprises
- Appelez-nous
- Peut obtenir
- capacités
- CD
- Change
- Passer au paiement
- code
- Colonne
- Communautés
- De l'entreprise
- Informatique
- consommation
- Clients
- données
- Data Scientist
- Demande
- déployer
- Conception
- développer
- développé
- mobiles
- Ne fait pas
- Éducation
- Efficace
- électricité
- ENGINEERING
- entré
- Entreprise
- Environment
- essential
- exemple
- Découvrez
- expérimenté
- étendre
- famille
- Fonctionnalité
- Fonctionnalités:
- Figure
- finance
- Prénom
- Abonnement
- le format
- Test d'anglais
- plein
- fonction
- avenir
- générer
- Git
- Bien
- Réservation de groupe
- ayant
- la médecine
- aide
- très
- historique
- Comment
- How To
- HTTPS
- image
- Mettre en oeuvre
- améliorer
- inclus
- Y compris
- individuel
- secteurs
- industrie
- des services
- Intelligence
- IT
- ACTIVITES
- connu
- portatif
- Nouveautés
- lancer
- conduisant
- APPRENTISSAGE
- apprentissage
- Bibliothèque
- Gamme
- Liste
- peu
- charge
- click
- machine learning
- Fabrication
- manager
- Marché
- Meta
- Microsoft
- MIT
- ML
- modèle
- numériques jumeaux (digital twin models)
- (en fait, presque toutes)
- en mouvement
- nouveau produit
- cahier
- code open-source
- Autre
- l'extérieur
- pourcentage
- Pharmaceutique
- portefeuille
- Prédictions
- Problème
- d'ouvrabilité
- les process
- produire
- Produit
- Produits
- professionels
- Projet
- fournit
- R & D
- raw
- en cours
- recommander
- un article
- ressource
- Ressources
- détail
- vente
- Escaliers intérieurs
- mise à l'échelle
- Sciences
- Scientifique
- Série
- service
- Services
- set
- Shorts
- similaires
- Logiciels
- Solutions
- Dépenses
- Commencer
- Startups
- stock
- studio
- réussi
- Appareils
- Target
- tâches
- équipe
- Technologie
- terminal
- Avec
- fiable
- ensemble
- traditionnel
- circulation
- Formation
- les trains
- us
- utilisé
- Salle de conférence virtuelle
- visualisation
- web
- Quoi
- WHO
- dans les
- sans
- Activités principales
- travaillé
- de travail
- zéro