Prévisions simples et précises avec AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Prévision simple et précise avec AutoGluon-TimeSeries

AutoGluon-TimeSeries est le dernier ajout à AutoGluon, qui vous aide à créer facilement de puissants modèles de prévision de séries chronologiques avec aussi peu que trois lignes de code.

La prévision de séries chronologiques est une tâche courante dans un large éventail d'industries ainsi que de domaines scientifiques. Avoir accès à des prévisions fiables pour l'offre, la demande ou la capacité est crucial pour la planification des entreprises. Cependant, la prévision de séries chronologiques est un problème difficile, en particulier lorsque des milliers de séries chronologiques potentiellement liées sont disponibles, telles que les ventes dans un grand catalogue de commerce électronique ou la capacité de centaines de sites opérationnels.

Les méthodes de prévision statistiques simples ou basées sur le jugement sont souvent déjà des bases de référence solides qu'il est difficile d'améliorer avec de nouvelles méthodes d'apprentissage automatique (ML). De plus, les applications des progrès récents du ML à la prévision sont variées, avec peu de méthodes telles que AR profond [1] ou Temporal Fusion Transformers [2] émergent comme des choix populaires. Cependant, ces méthodes sont difficiles à former, à régler et à déployer en production, nécessitant une connaissance approfondie de l'apprentissage automatique et de l'analyse des séries chronologiques.

AutoML est un sujet à croissance rapide au sein du ML, qui se concentre sur l'automatisation des tâches courantes dans les pipelines de ML, y compris le prétraitement des fonctionnalités, la sélection du modèle, le réglage du modèle, l'assemblage et le déploiement. AutoGluon-TimeSeries est le dernier né de AutoGluon, l'une des principales solutions AutoML open source, et s'appuie sur le puissant framework d'AutoGluon pour AutoML dans les tâches de prévision. AutoGluon-TimeSeries a été conçu pour créer de puissants systèmes de prévision avec aussi peu que trois lignes de code, atténuant les défis du prétraitement des fonctionnalités, de la sélection des modèles, du réglage des modèles et de la facilité de déploiement.

Avec un simple appel à AutoGluon-TimeSeries TimeSeriesPredictor, AutoGluon suit un ordre de priorité intuitif dans l'ajustement des modèles : à partir de simples lignes de base naïves et en passant à un puissant réseau de neurones global et à des méthodes basées sur des arbres boostés, le tout dans le budget de temps spécifié par l'utilisateur. Lorsque des séries chronologiques connexes (covariables variant dans le temps ou variables exogènes) ou des métadonnées d'élément (caractéristiques statiques) sont disponibles, AutoGluon-TimeSeries les prend en compte dans la prévision. La bibliothèque exploite également l'optimisation bayésienne pour le réglage des hyperparamètres, en arrivant à la meilleure configuration de modèle en réglant des modèles complexes. Enfin, AutoGluon-TimeSeries combine le meilleur des méthodes statistiques et basées sur ML dans un ensemble de modèles optimisé pour le problème à résoudre.

Dans cet article, nous présentons la facilité d'utilisation d'AutoGluon-TimeSeries pour créer rapidement un prévisionniste puissant.

Démarrer avec AutoGluon-TimeSeries

Pour commencer, vous devez installer AutoGluon, ce qui se fait facilement avec pip sur un shell UNIX :

pip install "autogluon>=0.6"

AutoGluon-TimeSeries présente le TimeSeriesDataFrame classe pour travailler avec des ensembles de données qui incluent plusieurs séries temporelles liées (parfois appelées ensemble de données de panel). Ces trames de données peuvent être créées à partir de trames de données dites de format long, qui ont des ID de série chronologique et des horodatages disposés en lignes. Voici un exemple de ces données, tiré du concours M4 [3]. Ici le item_id La colonne spécifie l'identifiant unique d'une série chronologique unique, comme l'ID de produit pour les données de ventes quotidiennes de plusieurs produits. La target colonne est la valeur d'intérêt qu'AutoGluon-TimeSeries apprendra à prévoir. weekend est une covariable supplémentaire variant dans le temps que nous avons produite pour indiquer si l'observation a eu lieu le week-end ou non.

Nous pouvons facilement produire un nouveau TimeSeriesDataFrame à partir de cet ensemble de données à l'aide de from_data_frame constructeur. Voir le code Python suivant :

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Certaines données de séries chronologiques ont des caractéristiques non variables dans le temps (caractéristiques statiques ou métadonnées d'élément) qui peuvent être utilisées dans la formation d'un modèle de prévision. Par exemple, l'ensemble de données M4 comporte une variable de catégorie pour chaque série chronologique. Ceux-ci peuvent être ajoutés au TimeSeriesDataFrame en définissant le static_features variable avec un nouveau bloc de données.

Prévisions simples et précises avec AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Utilisez le code suivant :

df.static_features = raw_static_features

Former un TimeSeriesPredictor

Enfin, on peut appeler le TimeSeriesPredictor pour s'adapter à un large éventail de modèles de prévision afin de créer un système de prévision précis. Voir le code suivant :

predictor = TimeSeriesPredictor(
    prediction_length=7,
    eval_metric="MASE",
    known_covariates_names=["weekend"],
)

Ici, nous précisons que le TimeSeriesPredictor devrait produire des modèles pour prévoir les sept prochaines périodes de temps et juger les meilleurs modèles en utilisant l'erreur d'échelle absolue moyenne (MASSE). De plus, nous indiquons que la covariable variant dans le temps weekend est disponible dans le jeu de données. Nous pouvons maintenant ajuster l'objet prédicteur sur le TimeSeriesDataFrame produit plus tôt :

predictor.fit(df, presets="medium_quality", time_limit=1800)

En plus de fournir les données d'entraînement, nous demandons au prédicteur d'utiliser “medium_quality” préconfigurations. AutoGluon-TimeSeries est livré avec plusieurs préréglages pour sélectionner des sous-ensembles de modèles à prendre en compte et le temps à consacrer à leur réglage, en gérant le compromis entre la vitesse d'entraînement et la précision. Outre les préréglages, les utilisateurs plus expérimentés peuvent utiliser un hyperparameters argument pour spécifier précisément les modèles de composants et les hyperparamètres à leur attribuer. Nous spécifions également une limite de temps de 1,800 XNUMX secondes, après laquelle le prédicteur arrête l'entraînement.

Sous le capot, AutoGluon-TimeSeries forme autant de modèles que possible dans le laps de temps spécifié, en partant de lignes de base naïves mais puissantes et en travaillant vers des prévisionnistes plus complexes basés sur des arbres boostés et des modèles de réseaux neuronaux. En appelant predictor.leaderboard(), nous pouvons voir une liste de tous les modèles qu'il a formés et les scores de précision et les temps de formation pour chacun. Notez que chaque modèle AutoGluon-TimeSeries rapporte ses erreurs dans un format "plus c'est haut, mieux c'est", ce qui signifie que la plupart des mesures d'erreur de prévision sont multipliées par -1 lorsqu'elles sont signalées. Voir l'exemple suivant :

              model  score_val  pred_time_val  fit_time_marginal  fit_order
0  WeightedEnsemble  -0.612510      15.406334          48.428711          8
1  AutoGluonTabular  -0.654924       1.068694         104.208688          6
2            DeepAR  -0.673366       6.731659        1065.956648          7
3     SeasonalNaive  -1.035286       0.410615           0.000742          2
4               ETS  -1.073640       5.832542           0.000584          3
5             Theta  -1.107362       1.773439           0.000614          4
6             ARIMA  -3.006273       2.483140           0.000625          5
7             Naive  -3.427339      29.532215           0.000577          1

Prévision avec un TimeSeriesPredictor

Enfin, nous pouvons utiliser le prédicteur pour prédire toutes les séries temporelles dans un TimeSeriesDataFrame, 7 jours dans le futur. Notez que parce que nous avons utilisé des covariables variant dans le temps qui sont supposées être connues dans le futur, celles-ci doivent également être spécifiées au moment de la prédiction. Voir le code suivant :

predictions = predictor.predict(
	df,
	known_covariates=future_known_covariates
)

Par défaut, AutoGluon-TimeSeries fournit à la fois des prévisions ponctuelles et des prévisions probabilistes (quantiles) de la valeur cible. Les prévisions probabilistes sont essentielles dans de nombreuses tâches de planification, et elles peuvent être utilisées pour calculer des intervalles de manière flexible, permettant des tâches en aval telles que l'inventaire et la planification des capacités.

Prévisions simples et précises avec AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Ce qui suit est un exemple de tracé de prévision montrant des prévisions ponctuelles et des intervalles de prévision.

Prévisions simples et précises avec AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Conclusion

AutoGluon-TimeSeries offre aux prévisionnistes et aux scientifiques des données un moyen simple et rapide de créer de puissants modèles de prévision. En plus de certaines des fonctionnalités couramment utilisées de la bibliothèque présentées dans cet article, AutoGluon-TimeSeries propose un ensemble de façons de configurer les prévisions pour les utilisateurs avancés. Les prédicteurs sont également faciles à former, déployer et servir à grande échelle avec Amazon Sage Maker, en utilisant l'apprentissage en profondeur d'AutoGluon conteneurs.

Pour plus de détails sur l'utilisation d'AutoGluon, des exemples, des tutoriels, ainsi que d'autres tâches auxquelles AutoGluon s'attaque telles que l'apprentissage sur des données tabulaires ou multimodales, visitez AutoGluon. Pour commencer à utiliser AutoGluon-TimeSeries, consultez notre tutoriel de démarrage rapide ou notre tutoriel approfondi pour un examen plus approfondi de toutes les fonctionnalités offertes par la bibliothèque. Suivez AutoGluon sur Twitter, et mettez-nous en vedette GitHub pour être informé des dernières mises à jour.

Pour des prévisions à grande échelle avec un calcul et des flux de travail dédiés, une assistance au niveau de l'entreprise, une explicabilité des prévisions et plus encore, consultez également Prévisions Amazon.

Bibliographie

[1] Salinas, David, Valentin Flunkert, Jan Gasthaus et Tim Januschowski. "DeepAR : prévision probabiliste avec des réseaux récurrents autorégressifs." Revue internationale de prévision 36. 3 (2020) : 1181-1191.

[2] Lim, Bryan, Sercan O Arik, Nicolas Loeff et Tomas Pfister. "Temporal Fusion Transformers pour la prévision de séries chronologiques multi-horizons interprétables." Revue internationale de prévision 37.4 (2021): 1748-1764.

[3] Makridakis, Spyros, Evangelos Spiliotis et Vassilios Assimakopoulos. "Le concours M4 : 100,000 61 séries chronologiques et XNUMX méthodes de prévision." Revue internationale de prévision 36.1 (2020): 54-74.


À propos des auteurs

Prévisions simples et précises avec AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Caner turkmène est un scientifique appliqué chez Amazon Web Services, où il travaille sur des problèmes à l'intersection de l'apprentissage automatique et de la prévision, en plus de développer AutoGluon-TimeSeries. Avant de rejoindre AWS, il a travaillé dans le secteur du conseil en gestion en tant que data scientist, au service des secteurs des services financiers et des télécommunications sur des projets à travers le monde. Les intérêts de recherche personnels de Caner couvrent une gamme de sujets, y compris la prévision, l'inférence causale et AutoML.

Prévisions simples et précises avec AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Oleksandre Shchur est un scientifique appliqué chez Amazon Web Services, où il travaille sur la prévision de séries chronologiques dans AutoGluon-TimeSeries. Avant de rejoindre AWS, il a obtenu un doctorat en apprentissage automatique à l'Université technique de Munich, en Allemagne, en faisant des recherches sur les modèles probabilistes pour les données d'événements. Ses intérêts de recherche incluent l'apprentissage automatique pour les données temporelles et la modélisation générative.

Prévisions simples et précises avec AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Nick Erickson est un scientifique appliqué senior chez Amazon Web Services. Il a obtenu sa maîtrise en informatique et ingénierie à l'Université du Minnesota Twin Cities. Il est co-auteur et développeur principal du framework AutoML open source AutoGluon. Commençant en tant que boîte à outils ML de compétition personnelle en 2018, Nick a continuellement élargi les capacités d'AutoGluon et a rejoint Amazon AI en 2019 pour ouvrir le projet et travailler à plein temps sur l'avancement de l'état de l'art dans AutoML.

Horodatage:

Plus de Apprentissage automatique AWS