Chaque entreprise doit pouvoir prédire l'avenir avec précision afin de prendre de meilleures décisions et de donner à l'entreprise un avantage concurrentiel. Grâce aux données historiques, les entreprises peuvent comprendre les tendances, faire des prédictions sur ce qui pourrait arriver et quand, et intégrer ces informations dans leurs plans futurs, de la demande de produits à la planification des stocks et à la dotation en personnel. Si une prévision est trop élevée, les entreprises peuvent surinvestir dans les produits et le personnel, ce qui entraîne un investissement inutile. Si les prévisions sont trop basses, les entreprises peuvent sous-investir, ce qui entraîne un manque de matières premières et de stocks, créant une mauvaise expérience client.
La prévision de séries chronologiques est une technique qui prédit les données de séries chronologiques futures sur la base de données historiques. Les prévisions de séries chronologiques sont utiles dans de nombreux domaines, notamment la vente au détail, la finance, la logistique et la santé. La prévision de la demande utilise des données de séries chronologiques historiques afin de faire des estimations futures par rapport à la demande des clients sur une période spécifique et de rationaliser le processus de prise de décision entre l'offre et la demande dans les entreprises. Les cas d'utilisation de la prévision de la demande incluent la prévision des ventes de billets dans l'industrie du transport, les prix des actions, le nombre de visites à l'hôpital, le nombre de représentants des clients à embaucher pour plusieurs sites au cours du mois suivant, les ventes de produits dans plusieurs régions au cours du prochain trimestre, l'utilisation du serveur cloud pour le le lendemain pour un service de streaming vidéo, la consommation d'électricité pour plusieurs régions au cours de la semaine prochaine, le nombre d'appareils IoT et de capteurs tels que la consommation d'énergie, etc.
Les données de séries chronologiques sont classées comme univarié ainsi que multivarié. Par exemple, la consommation totale d'électricité d'un seul ménage est une série chronologique univariée sur une période donnée. Lorsque plusieurs séries chronologiques univariées sont empilées les unes sur les autres, on parle de série chronologique multivariée. Par exemple, la consommation totale d'électricité de 10 ménages différents (mais corrélés) dans un même quartier constitue un ensemble de données chronologiques à plusieurs variables.
Les approches traditionnelles de prévision des séries chronologiques comprennent moyenne mobile intégrée auto régressive (ARIMA) pour les données de séries chronologiques univariées et autorégression vectorielle (VAR) pour les données de séries chronologiques multivariées. Ces méthodes nécessitent souvent un prétraitement fastidieux des données et la génération de fonctionnalités avant la formation du modèle. Ces défis sont relevés par des méthodes d'apprentissage en profondeur (DL) en automatisant l'étape de génération de caractéristiques avant la formation du modèle, comme l'incorporation de diverses normalisations de données, de décalages, de différentes échelles de temps, de certaines données catégorielles, du traitement des valeurs manquantes, etc., avec une meilleure prédiction. formation et déploiement puissants et rapides activés par GPU.
Dans cet article, nous vous montrons comment déployer une solution de prévision de la demande en utilisant Amazon SageMaker JumpStart. Nous vous expliquons une solution de bout en bout pour une tâche de prévision de la demande à l'aide de trois algorithmes de séries chronologiques de pointe : LSTNet, Prophèteet une SageMaker DeepAR, qui sont disponibles en GluonTS ainsi que Amazon Sage Maker. Les données d'entrée sont une série chronologique à plusieurs variables qui comprend des la consommation d'électricité de 321 utilisateurs de 2012 à 2014. Ensuite, chaque algorithme utilise les données historiques de séries chronologiques multivariées et corrélées pour former et produire des prédictions précises (valeurs multivariées) sur un intervalle de prédiction. Pour chacun des algorithmes de séries chronologiques, nous avons deux sorties : un modèle formé sur le données de consommation d'électricité et un point de terminaison SageMaker qui peut prédire les valeurs futures (multivariées) en fonction d'un intervalle de prédiction.
Alternativement, si vous recherchez un service entièrement géré pour fournir des prévisions très précises, sans écrire de code, nous vous recommandons de consulter Prévisions Amazon. Amazon Forecast est un service de prévision de séries chronologiques basé sur l'apprentissage automatique (ML) et conçu pour l'analyse des métriques commerciales. Basé sur la même technologie utilisée sur Amazon.com, Amazon Forecast utilise l'apprentissage automatique pour combiner des données de séries chronologiques avec des variables supplémentaires pour créer des prévisions.
Vue d'ensemble de la solution
Le schéma suivant montre l'architecture du processus de formation et de déploiement de bout en bout.
Le flux de travail de la solution est le suivant :
- Les données d'entrée pour la formation se trouvent dans un Service de stockage simple Amazon (Amazon S3) seau.
- Le fourni Bloc-notes SageMaker obtient les données d'entrée et lance les étapes suivantes.
- Pour chacun des LSTNet, Prophèteet une SageMaker DeepAR algorithmes, former un modèle et évaluer ses résultats à l'aide de SageMaker.
- Déployez le modèle formé et créez un point de terminaison SageMaker, qui est un Point de terminaison HTTPS qui est capable de produire des prédictions.
- Surveiller la formation et le déploiement du modèle via Amazon Cloud Watch.
- Les données d'entrée pour l'inférence se trouvent dans un compartiment S3. À partir du bloc-notes SageMaker, envoyez les demandes au point de terminaison SageMaker et effectuez des prédictions.
Pré-requis
Pour essayer la solution dans votre propre compte, assurez-vous que vous disposez des éléments suivants :
- Un compte AWS pour utiliser cette solution. Si vous n'avez pas de compte, vous pouvez inscrivez-vous pour un.
- La solution décrite dans cet article fait partie de Amazon SageMaker JumpStart. Pour exécuter cette solution JumpStart 1P et déployer l'infrastructure sur votre compte AWS, vous devez créer un compte actif. Amazon SageMakerStudio exemple (voir Intégration au domaine Amazon SageMaker).
Lorsque l'instance de Studio est prête, vous pouvez lancer Studio et accéder à JumpStart. Les fonctionnalités JumpStart ne sont pas disponibles dans les instances de bloc-notes SageMaker et vous ne pouvez pas y accéder via les API SageMaker ou le Interface de ligne de commande AWS (AWS CLI).
Lancer la solution
Pour lancer la solution, procédez comme suit:
- Ouvrez JumpStart en utilisant le lanceur JumpStart dans le Débuter ou en choisissant l'icône JumpStart dans la barre latérale gauche.
- Dans le Solutions section, choisissez Prévision de la demande pour ouvrir la solution dans un autre onglet Studio.
- Dans l'onglet Prévision de la demande, choisissez Lancer pour déployer les ressources de la solution.
- Un autre onglet s'ouvre et affiche l'état du déploiement et les artefacts générés. Lorsque le déploiement est terminé, un bouton Ouvrir le bloc-notes apparaît. Choisir Cahier ouvert pour ouvrir le bloc-notes de solutions dans Studio.
Dans les sections suivantes, nous vous expliquons les étapes de la solution de prévision de la demande approfondie.
Préparation et visualisation des données
L'ensemble de données que nous utilisons ici est la série chronologique multivariée consommations électriques données tirées de Dua, D. et Graff, C. (2019). Référentiel d'apprentissage automatique UCI, Irvine, CA : Université de Californie, École d'information et d'informatique. Nous utilisons une version nettoyée des données contenant 321 séries chronologiques avec une fréquence d'une heure, à partir du 1er janvier 1 avec 2012 26,304 pas de temps. Nous avons également fourni le le taux de change jeu de données au cas où vous souhaiteriez également essayer avec d'autres jeux de données.
Nous avons fourni des utilitaires pour créer la trame de données à partir des données d'entraînement et de test. Les données de formation incluent les valeurs de consommation d'électricité horaire (pour les 321 ménages) du 2012/01/01 00:00:00 au 2014/05/26 19:00:00, et les données de test contiennent des valeurs du 2012/01/01 00 :00:00 au 2014-06-02 19:00:00 (7 jours de données horaires de plus par rapport aux données d'entraînement). Pour former un modèle de prévision de série chronologique, le CONTEXT_LENGTH
définit la longueur de chaque série chronologique d'entrée et PREDICTION_LENGTH définit la longueur de chaque série chronologique de sortie.
Parce que le CONTEXT_LENGTH
ainsi que PREDICTION_LENGTH
sont définis sur 168 (7 jours) et 24 (1 jour suivant), nous traçons les 7 derniers jours des données d'entraînement et le jour suivant des données de test à des fins de démonstration. Les données de formation tracées et les données de test sont du 1-2014-05 19:20:00 au 00-2014-05 26:19:00, et du 00-2014-05 26:20:00 au 00-2014-05 27 :02:00, respectivement. À des fins de démonstration, nous ne traçons que les 00 séries chronologiques sur un total de 11, comme le montre la figure suivante.
Former les modèles
Cette section montre la formation d'un LSTNet modèle utilisant GluonTSun Prophète modèle utilisant GluonTSEt un SageMaker DeepAR modèle avec et sans optimisation des hyperparamètres (HPO). Pour chacun d'entre eux, nous avons d'abord formé le modèle sans HPO, puis nous avons formé le modèle avec HPO. Nous démontrons comment les performances du modèle augmentent avec HPO en montrant les métriques de comparaison, à savoir RRSE (Root Relative Squared Error), MAPE (Mean Absolute Percentage Error) et sMAPE (Symmetric Mean Absolute Percentage Error). Pour HPO, nous utilisons le RRSE comme métrique d'évaluation pour les trois algorithmes.
Former un modèle LSTNet optimal à l'aide de GluonTS
LSTNet est un modèle d'apprentissage en profondeur qui intègre des modèles linéaires auto-régressifs traditionnels en parallèle à la partie réseau de neurones non linéaire, ce qui rend le modèle d'apprentissage en profondeur non linéaire plus robuste pour les séries chronologiques qui violent les changements d'échelle. Pour plus d'informations sur les mathématiques derrière LSTNet, voir Modélisation de modèles temporels à long et à court terme avec des réseaux de neurones profonds.
Nous formons d'abord un modèle LSTNet sans HPO. Une fois les hyperparamètres définis, nous pouvons exécuter la tâche d'entraînement. Nous utilisons GluonTS avec MXNet comme cadre d'apprentissage en profondeur pour définir et former notre modèle LSTNet. SageMaker le fait avec les estimateurs de cadre, qui ont déjà mis en place les cadres d'apprentissage en profondeur. Ici, nous créons un estimateur SageMaker MXNet et transmettons notre script de formation de modèle, les hyperparamètres, ainsi que le nombre et le type d'instances de formation que nous voulons.
Ensuite, nous formons un modèle LSTNet optimal avec HPO et améliorons encore les performances du modèle avec Réglage automatique du modèle SageMaker. Le réglage automatique du modèle SageMaker, également connu sous le nom de réglage des hyperparamètres, trouve la meilleure version d'un modèle en exécutant de nombreuses tâches de formation sur votre jeu de données à l'aide de l'algorithme et des plages d'hyperparamètres que vous spécifiez. Il choisit ensuite les valeurs d'hyperparamètres qui se traduisent par un modèle qui fonctionne le mieux, tel que mesuré par une métrique que vous choisissez. Le meilleur modèle et ses hyperparamètres correspondants sont sélectionnés sur les données de validation du 2014-05-26 20:00:00 au 2014-06-01 19:00:00 (correspondant à 6 jours). Ensuite, nous déployons le meilleur modèle dans un point de terminaison que nous pouvons interroger pour la prédiction. Enfin, le meilleur modèle est évalué sur les données de test d'exclusion du 2014-06-01 20:00:00 au 2014-06-02 19:00:00 (correspondant au 1 jour suivant). Le tableau suivant compare les performances des modèles.
Métrique | LSTNet sans HPO | LSTNet avec HPO |
RRSE | 0.555 | 0.506 |
MAPE | 0.318 | 0.301 |
sMAPE | 0.337 | 0.323 |
Temps de formation (minutes) | 10.780 | 57.242 |
Temps d'inférence (secondes) | 5.202 | 5.340 |
À l'exception du temps d'apprentissage et d'inférence, pour RRSE, MAPE et sMAPE, des valeurs plus petites indiquent de meilleures performances prédictives. Par conséquent, nous pouvons observer que les performances du modèle entraîné avec HPO sont nettement meilleures que celles entraînées sans HPO.
Entraînez un modèle Prophet optimal en utilisant GluonTS avec HPO
Prophète est un algorithme de prévision des données de séries chronologiques basé sur un modèle additif dans lequel les tendances non linéaires sont ajustées à la saisonnalité annuelle, hebdomadaire et quotidienne, ainsi qu'aux effets des vacances. Cela fonctionne mieux avec des séries chronologiques qui ont de forts effets saisonniers et plusieurs saisons de données historiques. Prophet est robuste aux données manquantes et aux changements de tendance, et gère généralement bien les valeurs aberrantes. Pour l'implémentation de l'algorithme Prophet, nous utilisons le GluonTS version, qui est une enveloppe mince pour appeler le fbprophète forfait. Tout d'abord, nous formons un modèle Prophet sans HPO à l'aide de SageMaker Estimator. Ensuite, nous formons un modèle Prophet optimal avec avec Réglage automatique du modèle SageMaker (HPO) et améliorer encore les performances du modèle.
Métrique | Prophète sans HPO | Prophète avec HPO |
RRSE | 0.183 | 0.147 |
MAPE | 0.288 | 0.278 |
sMAPE | 0.278 | 0.289 |
Temps de formation (minutes) | - | 45.633 |
Temps d'inférence (secondes) | 44.813 | 45.327 |
Les valeurs métriques avec réglage HPO sont plus petites que celles sans réglage HPO sur les mêmes données de test. Cela indique que le réglage HPO améliore encore les performances du modèle.
Former un modèle SageMaker DeepAR optimal avec HPO
L'algorithme de prévision SageMaker DeepAR est un algorithme d'apprentissage supervisé pour la prévision de séries temporelles scalaires (unidimensionnelles) à l'aide de réseaux de neurones récurrents (RNN). Les méthodes de prévision classiques, telles que la moyenne mobile intégrée autorégressive (ARIMA) ou le lissage exponentiel (ETS), ajustent un seul modèle à chaque série chronologique individuelle. Ils utilisent ensuite ce modèle pour extrapoler la série chronologique dans le futur.
Dans de nombreuses applications, cependant, vous disposez de nombreuses séries chronologiques similaires sur un ensemble d'unités transversales. Par exemple, vous pouvez avoir des regroupements de séries chronologiques pour la demande de différents produits, les charges de serveur et les demandes de pages Web. Pour ce type d'application, vous pouvez bénéficier de l'entraînement d'un seul modèle conjointement sur l'ensemble de la série temporelle. DeepAR adopte cette approche. Lorsque votre jeu de données contient des centaines de séries chronologiques associées, DeepAR surpasse les méthodes standard ARIMA et ETS. Vous pouvez également utiliser le modèle formé pour générer des prévisions pour de nouvelles séries chronologiques similaires à celles sur lesquelles il a été formé. Pour plus d'informations sur les mathématiques derrière DeepAR, voir DeepAR : prévision probabiliste avec réseaux récurrents autorégressifs.
Semblable aux paramètres des modèles précédents, nous formons d'abord un modèle DeepAR sans HPO. Ensuite, nous formons un modèle DeepAR optimal avec HPO. Ensuite, nous déployons le meilleur modèle dans un point de terminaison que nous pouvons interroger pour la prédiction. Le tableau suivant compare les performances des modèles.
Métrique | DeepAR sans HPO | DeepAR avec HPO |
RRSE | 0.136 | 0.098 |
MAPE | 0.087 | 0.099 |
sMAPE | 0.104 | 0.116 |
Temps de formation (minutes) | 24.048 | 210.530 |
Temps d'inférence (secondes) | 68.411 | 72.829 |
Les valeurs des métriques avec réglage HPO sont plus petites que celles sans réglage HPO sur les mêmes données de test. Cela indique que le réglage HPO améliore encore les performances du modèle.
Évaluer les performances du modèle des trois algorithmes sur les mêmes données de test d'exclusion
Dans cette section, nous comparons les performances du modèle à partir des trois modèles formés à partir de HPO. En fonction des données d'entrée, les comparaisons peuvent varier pour différents ensembles de données d'entrée. Le tableau suivant qui compare les trois algorithmes pour les exemples de données d'entrée d'électricité utilisées dans cet article.
Métrique | LSTNet avec HPO | Prophète avec HPO | DeepAR avec HPO |
RRSE | 0.506 | 0.147 | 0.098 |
MAPE | 0.302 | 0.278 | 0.099 |
sMAPE | 0.323 | 0.289 | 0.116 |
Temps de formation (minutes) | 57.242 | 45.633 | 210.530 |
Temps d'inférence (secondes) | 5.340 | 45.327 | 72.829 |
Les figures suivantes visualisent ces résultats.
La figure suivante est une autre façon de visualiser les résultats.
Les données d'entraînement et de test (vérité terrain) sont représentées par la ligne continue noire (séparée par la ligne verticale rouge) dans le tracé. Les prédictions des différents algorithmes de prévision sont représentées par des lignes en pointillés. Plus la ligne pointillée se rapproche de la ligne continue noire, plus les prédictions sont précises.
Nettoyer
Lorsque vous avez terminé avec cette solution, assurez-vous de supprimer toutes les ressources AWS indésirables pour éviter d'encourir des frais imprévus. Le bloc-notes de solution fournit un code de nettoyage. Dans l'onglet solution, vous pouvez également choisir Supprimer toutes les ressources dans le Supprimer la solution .
Conclusion
Dans cet article, nous avons présenté une solution de bout en bout pour une tâche de prévision de la demande à l'aide de trois algorithmes de séries chronologiques de pointe : LSTNet, Prophet et SageMaker DeepAR, qui sont disponibles dans GluonTS et SageMaker. Nous avons discuté de trois approches de formation : former un modèle LSTNet optimal à l'aide de GluonTS, former un modèle Prophet optimal à l'aide de GluonTS et former un modèle SageMaker DeepAR optimal avec HPO. Pour chacun d'entre eux, nous avons d'abord formé le modèle sans HPO, puis formé le modèle avec HPO. Nous avons démontré comment les performances du modèle augmentent avec HPO en comparant les métriques, à savoir RRSE, MAPE et sMAPE.
Dans cet article, nous avons utilisé les données sur l'électricité comme ensemble de données d'entrée. Cependant, vous pouvez modifier l'entrée et importer vos propres données dans un compartiment S3. Vous pouvez utiliser ces données pour former les modèles et obtenir différents résultats de performance et choisir le meilleur algorithme en conséquence.
Sur la console SageMaker, ouvrez Studio et lancez la solution dans JumpStart pour commencer, ou vous pouvez consulter la solution GitHub référentiel pour revoir le code et plus d'informations.
À propos des auteurs
Alak Eswaradas est architecte de solutions senior chez AWS basé à Chicago, Illinois. Elle se passionne pour aider les clients à concevoir des architectures cloud en utilisant les services AWS pour résoudre les défis commerciaux. Elle est titulaire d'une maîtrise en génie informatique. Avant de rejoindre AWS, elle a travaillé pour différentes organisations de soins de santé et possède une expérience approfondie de l'architecture de systèmes complexes, de l'innovation technologique et de la recherche. Elle traîne avec ses filles et explore le plein air pendant son temps libre.
Dr Xin Huang est un scientifique appliqué pour Amazon SageMaker JumpStart et les algorithmes intégrés d'Amazon SageMaker. Il se concentre sur le développement d'algorithmes d'apprentissage automatique évolutifs. Ses intérêts de recherche portent sur le traitement du langage naturel, l'apprentissage approfondi explicable sur des données tabulaires et l'analyse robuste du regroupement spatio-temporel non paramétrique.
- "
- 10
- 100
- 11
- 2019
- 7
- a
- capacité
- A Propos
- Absolute
- accès
- en conséquence
- Compte
- Avec cette connaissance vient le pouvoir de prendre
- à travers
- infection
- Supplémentaire
- Avantage
- algorithme
- algorithmes
- Tous
- déjà
- Amazon
- selon une analyse de l’Université de Princeton
- Une autre
- Apis
- Application
- applications
- appliqué
- une approche
- approches
- architecture
- Réservé
- Automatique
- automatiser
- disponibles
- moyen
- AWS
- before
- derrière
- profiter
- LES MEILLEURS
- Améliorée
- Noir
- goupille
- frontière
- apporter
- construire
- intégré
- la performance des entreprises
- entreprises
- Californie
- capable
- maisons
- cas
- globaux
- Change
- des charges
- vérification
- Chicago
- Selectionnez
- plus
- le cloud
- code
- Sociétés
- Société
- par rapport
- compétitif
- complet
- complexe
- ordinateur
- Informatique
- Console
- consommation
- contient
- Correspondant
- pourriez
- engendrent
- La création
- des clients
- expérience client
- Clients
- Tous les jours
- Tiret
- données
- journée
- jours
- traitement
- décisions
- profond
- Demande
- démontrer
- démontré
- déployer
- déploiement
- Conception
- développement
- Compatibles
- différent
- chacun
- les effets
- électricité
- end-to-end
- Endpoint
- énergie
- ENGINEERING
- évaluer
- évaluation
- exemple
- d'experience
- RAPIDE
- Fonctionnalité
- Fonctionnalités:
- Des champs
- Figure
- finalement
- finance
- trouve
- Prénom
- s'adapter
- se concentre
- Abonnement
- suit
- Framework
- cadres
- gratuitement ici
- De
- plus
- avenir
- générer
- généré
- génération
- GitHub
- arriver
- la médecine
- la taille
- aider
- ici
- Haute
- très
- louer
- historique
- ou
- ménages
- Comment
- How To
- Cependant
- HTTPS
- Des centaines
- ICON
- Illinois
- la mise en oeuvre
- améliorer
- comprendre
- inclut
- Y compris
- indiquer
- individuel
- industrie
- d'information
- Infrastructure
- Innovation
- contribution
- instance
- des services
- intérêts
- inventaire
- un investissement
- IOT
- iot devices
- IT
- Janvier
- Emploi
- Emplois
- joindre
- connu
- langue
- lancer
- lance
- Conduit
- apprentissage
- Gamme
- lignes
- emplacements
- logistique
- recherchez-
- click
- machine learning
- a prendre une
- FAIT DU
- gérés
- maîtrise
- matières premières.
- mathématiques
- méthodes
- Métrique
- pourrait
- ML
- modèle
- numériques jumeaux (digital twin models)
- Mois
- PLUS
- en mouvement
- plusieurs
- à savoir
- Nature
- Besoins
- réseau et
- réseaux
- next
- cahier
- nombre
- ouvert
- ouvre
- à mettre en œuvre pour gérer une entreprise rentable. Ce guide est basé sur trois décennies d'expérience
- de commander
- organisations
- Autre
- l'extérieur
- propre
- paquet
- partie
- passionné
- pourcentage
- performant
- période
- et la planification de votre patrimoine
- plans
- pauvres
- power
- prévoir
- prédiction
- Prédictions
- précédent
- processus
- traitement
- produire
- Produit
- Produits
- à condition de
- fournit
- des fins
- Trimestre
- raw
- recommander
- demandes
- exigent
- un article
- Resources
- Résultats
- détail
- Avis
- racine
- Courir
- pour le running
- vente
- même
- évolutive
- Escaliers intérieurs
- L'école
- Sciences
- Scientifique
- secondes
- choisi
- Série
- service
- Services
- set
- plusieurs
- assistance technique à court terme
- manque à gagner
- montrer
- montré
- similaires
- étapes
- unique
- solide
- sur mesure
- Solutions
- RÉSOUDRE
- quelques
- groupe de neurones
- Standard
- j'ai commencé
- state-of-the-art
- Statut
- stock
- storage
- streaming
- service de diffusion
- rationaliser
- STRONG
- studio
- Système
- Technologie
- tester
- Essais
- La
- donc
- trois
- Avec
- billet
- fiable
- traditionnel
- Train
- Formation
- transport
- Trends
- typiquement
- comprendre
- unités
- université
- Université de la Californie
- utilisé
- utilisateurs
- les services publics
- Utilisant
- validation
- divers
- version
- Vidéo
- semaine
- hebdomadaire
- Quoi
- Wikipédia
- sans
- travaillé
- vos contrats
- écriture
- Votre