Einfache und genaue Prognosen mit AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Einfache und genaue Vorhersage mit AutoGluon-TimeSeries

AutoGluon-TimeSeries ist die neueste Ergänzung von AutoGluon, mit der Sie auf einfache Weise leistungsstarke Zeitreihen-Prognosemodelle mit nur drei Codezeilen erstellen können.

Die Vorhersage von Zeitreihen ist eine gängige Aufgabe in einer Vielzahl von Branchen und wissenschaftlichen Bereichen. Der Zugriff auf zuverlässige Prognosen für Angebot, Nachfrage oder Kapazität ist für die Planung von Unternehmen von entscheidender Bedeutung. Die Prognose von Zeitreihen ist jedoch ein schwieriges Problem, insbesondere wenn Tausende von möglicherweise verwandten Zeitreihen verfügbar sind, z. B. Verkäufe in einem großen Katalog im E-Commerce oder Kapazitäten an Hunderten von Betriebsstandorten.

Einfache statistische oder urteilsbasierte Prognosemethoden sind oft bereits starke Basislinien, die mit neuartigen Methoden des maschinellen Lernens (ML) nur schwer verbessert werden können. Darüber hinaus sind die Anwendungen der jüngsten Fortschritte in ML für die Vorhersage vielfältig, mit wenigen Methoden wie z DeepAR [1] oder Temporal Fusion Transformers [2] werden immer beliebter. Diese Methoden sind jedoch schwierig zu trainieren, zu optimieren und in der Produktion einzusetzen, was Expertenwissen in ML und Zeitreihenanalyse erfordert.

AutoML ist ein schnell wachsendes Thema innerhalb von ML, das sich auf die Automatisierung allgemeiner Aufgaben in ML-Pipelines konzentriert, einschließlich Funktionsvorverarbeitung, Modellauswahl, Modelloptimierung, Zusammenstellung und Bereitstellung. AutoGluon-TimeSeries ist die neueste Ergänzung zu AutoGluon, eine der führenden Open-Source-AutoML-Lösungen, und baut auf dem leistungsstarken Framework von AutoGluon für AutoML in Prognoseaufgaben auf. AutoGluon-TimeSeries wurde entwickelt, um leistungsstarke Prognosesysteme mit nur drei Codezeilen zu erstellen und die Herausforderungen der Funktionsvorverarbeitung, Modellauswahl, Modelloptimierung und einfachen Bereitstellung zu verringern.

Mit einem einfachen Anruf bei AutoGluon-TimeSeries TimeSeriesPredictor, folgt AutoGluon einer intuitiven Prioritätsreihenfolge bei der Anpassung von Modellen: Beginnend mit einfachen naiven Basislinien und Übergang zu leistungsstarken globalen neuronalen Netzwerken und verstärkten baumbasierten Methoden, alles innerhalb des vom Benutzer festgelegten Zeitbudgets. Wenn verwandte Zeitreihen (zeitvariable Kovariaten oder exogene Variablen) oder Elementmetadaten (statische Merkmale) verfügbar sind, berücksichtigt AutoGluon-TimeSeries diese in der Prognose. Die Bibliothek nutzt auch die Bayes'sche Optimierung für die Hyperparameter-Abstimmung und gelangt durch die Abstimmung komplexer Modelle zur besten Modellkonfiguration. Schließlich kombiniert AutoGluon-TimeSeries die besten statistischen und ML-basierten Methoden zu einem Modellensemble, das für das jeweilige Problem optimiert ist.

In diesem Beitrag zeigen wir die Benutzerfreundlichkeit von AutoGluon-TimeSeries beim schnellen Aufbau eines leistungsstarken Prognostikers.

Beginnen Sie mit AutoGluon-TimeSeries

Zunächst müssen Sie AutoGluon installieren, was einfach mit pip auf einer UNIX-Shell erledigt werden kann:

pip install "autogluon>=0.6"

AutoGluon-TimeSeries stellt die vor TimeSeriesDataFrame Klasse zum Arbeiten mit Datensätzen, die mehrere verwandte Zeitreihen enthalten (manchmal auch als Panel-Datensatz bezeichnet). Diese Datenrahmen können aus sogenannten Langformat-Datenrahmen erstellt werden, die Zeitreihen-IDs und Zeitstempel in Reihen angeordnet haben. Das Folgende ist ein solches Datenbeispiel aus dem M4-Wettbewerb [3]. Hier die item_id Spalte gibt die eindeutige Kennung einer einzelnen Zeitreihe an, z. B. die Produkt-ID für tägliche Verkaufsdaten mehrerer Produkte. Das target Spalte ist der Wert von Interesse, den AutoGluon-TimeSeries zu prognostizieren lernt. weekend ist eine zusätzliche zeitvariable Kovariate, die wir erstellt haben, um zu markieren, ob die Beobachtung am Wochenende stattfand oder nicht.

Wir können leicht eine neue produzieren TimeSeriesDataFrame aus diesem Datensatz mit der from_data_frame Konstrukteur. Siehe den folgenden Python-Code:

df = TimeSeriesDataFrame.from_data_frame(raw_data_frame)

Einige Zeitreihendaten weisen nicht zeitvariable Merkmale (statische Merkmale oder Elementmetadaten) auf, die zum Trainieren eines Prognosemodells verwendet werden können. Beispielsweise enthält der M4-Datensatz eine Kategorievariable für jede Zeitreihe. Diese können hinzugefügt werden TimeSeriesDataFrame durch Einstellen der static_features Variable mit einem neuen Datenrahmen.

Einfache und genaue Prognosen mit AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Verwenden Sie den folgenden Code:

df.static_features = raw_static_features

Trainieren Sie einen TimeSeriesPredictor

Endlich können wir die anrufen TimeSeriesPredictor um ein breites Spektrum an Prognosemodellen anzupassen, um ein genaues Prognosesystem aufzubauen. Siehe folgenden Code:

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

Hier geben wir an, dass die TimeSeriesPredictor sollte Modelle erstellen, um die nächsten sieben Zeiträume vorherzusagen und die besten Modelle anhand des mittleren absoluten skalierten Fehlers (MASSE). Darüber hinaus geben wir an, dass die zeitvariable Kovariate weekend ist im Datensatz vorhanden. Wir können jetzt das Prädiktorobjekt an die anpassen TimeSeriesDataFrame früher produziert:

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

Neben der Bereitstellung der Trainingsdaten bitten wir Sie, den Prädiktor zu verwenden “medium_quality” Voreinstellungen. AutoGluon-TimeSeries wird mit mehreren Voreinstellungen geliefert, um Untergruppen von Modellen auszuwählen, die berücksichtigt werden sollen, und wie viel Zeit für deren Feinabstimmung aufgewendet werden muss, um den Kompromiss zwischen Trainingsgeschwindigkeit und Genauigkeit zu verwalten. Abgesehen von Voreinstellungen können erfahrenere Benutzer a verwenden hyperparameters Argument, um Komponentenmodelle genau zu spezifizieren und welche Hyperparameter für sie festzulegen sind. Wir geben auch ein Zeitlimit von 1,800 Sekunden an, nach dem der Prädiktor das Training beendet.

Unter der Haube trainiert AutoGluon-TimeSeries so viele Modelle wie möglich innerhalb des angegebenen Zeitrahmens, ausgehend von naiven, aber leistungsstarken Basislinien und hin zu komplexeren Prognostikern, die auf verstärkten Bäumen und neuronalen Netzwerkmodellen basieren. Durch Anruf predictor.leaderboard(), können wir eine Liste aller Modelle sehen, die es trainiert hat, sowie die Genauigkeitswerte und Trainingszeiten für jedes. Beachten Sie, dass jedes AutoGluon-TimeSeries-Modell seine Fehler in einem „höher ist besser“-Format meldet, was bedeutet, dass die meisten Prognosefehlermaße bei der Meldung mit -1 multipliziert werden. Siehe folgendes Beispiel:

              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

Prognose mit einem TimeSeriesPredictor

Schließlich können wir den Prädiktor verwenden, um alle Zeitreihen in a vorherzusagen TimeSeriesDataFrame, 7 Tage in die Zukunft. Da wir zeitvariable Kovariaten verwendet haben, von denen angenommen wird, dass sie in der Zukunft bekannt sind, sollten diese auch zum Vorhersagezeitpunkt angegeben werden. Siehe folgenden Code:

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

Standardmäßig liefert AutoGluon-TimeSeries sowohl Punktprognosen als auch probabilistische (Quantil-) Prognosen des Zielwerts. Wahrscheinlichkeitsprognosen sind für viele Planungsaufgaben unerlässlich und können zur flexiblen Berechnung von Intervallen verwendet werden, um nachgelagerte Aufgaben wie die Bestands- und Kapazitätsplanung zu ermöglichen.

Einfache und genaue Prognosen mit AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Das Folgende ist ein Beispiel für ein Vorhersagediagramm, das Punktvorhersagen und Vorhersageintervalle zeigt.

Einfache und genaue Prognosen mit AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.

Zusammenfassung

AutoGluon-TimeSeries bietet Prognostikern und Datenwissenschaftlern eine schnelle und einfache Möglichkeit, leistungsstarke Prognosemodelle zu erstellen. Zusätzlich zu einigen der häufig verwendeten Funktionen der Bibliothek, die in diesem Beitrag vorgestellt werden, bietet AutoGluon-TimeSeries eine Reihe von Möglichkeiten zum Konfigurieren von Prognosen für fortgeschrittene Benutzer. Prädiktoren sind auch einfach zu trainieren, bereitzustellen und in großem Umfang zu bedienen Amazon Sage Maker, mit AutoGluon Deep Learning Behälter.

Weitere Einzelheiten zur Verwendung von AutoGluon, Beispiele, Tutorials sowie andere Aufgaben, die AutoGluon behandelt, wie z. B. das Erlernen tabellarischer oder multimodaler Daten, finden Sie unter AutoGluon. Um mit der Verwendung von AutoGluon-TimeSeries zu beginnen, sehen Sie sich unsere an Schnellstart-Tutorial oder unsere ausführliches Tutorial für einen tieferen Einblick in alle Funktionen, die die Bibliothek bietet. Folgen Sie AutoGluon auf Twitter, und starten Sie uns weiter GitHub um über die neuesten Updates informiert zu werden.

Informationen zu Prognosen in großem Maßstab mit dedizierten Berechnungen und Workflows, Support auf Unternehmensebene, Erklärbarkeit von Prognosen und mehr finden Sie auch hier Amazon-Prognose.

Bibliographie

[1] Salinas, David, Valentin Flunkert, Jan Gasthaus und Tim Januschowski. „DeepAR: Wahrscheinlichkeitsprognose mit autoregressiven rekurrenten Netzwerken.“ Internationale Zeitschrift für Prognosen 36. 3 (2020): 1181-1191.

[2] Lim, Bryan, Sercan O. Arik, Nicolas Loeff und Tomas Pfister. „Zeitliche Fusionstransformatoren für interpretierbare Zeitreihenvorhersagen mit mehreren Horizonten.“ Internationale Zeitschrift für Prognosen 37.4 (2021): 1748-1764.

[3] Makridakis, Spyros, Evangelos Spiliotis und Vassilios Assimakopoulos. „Der M4-Wettbewerb: 100,000 Zeitreihen und 61 Prognosemethoden.“ Internationale Zeitschrift für Prognosen 36.1 (2020): 54-74.


Über die Autoren

Einfache und genaue Prognosen mit AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Caner Turkmenen ist Applied Scientist bei Amazon Web Services, wo er neben der Entwicklung von AutoGluon-TimeSeries an Problemen an der Schnittstelle von maschinellem Lernen und Vorhersagen arbeitet. Bevor er zu AWS kam, arbeitete er in der Managementberatungsbranche als Datenwissenschaftler und betreute die Finanzdienstleistungs- und Telekommunikationsbranche bei Projekten auf der ganzen Welt. Caners persönliche Forschungsinteressen umfassen eine Reihe von Themen, darunter Prognosen, kausale Inferenz und AutoML.

Einfache und genaue Prognosen mit AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Oleksandr Schtschur ist Applied Scientist bei Amazon Web Services, wo er an der Zeitreihenprognose in AutoGluon-TimeSeries arbeitet. Bevor er zu AWS kam, promovierte er in maschinellem Lernen an der Technischen Universität München, Deutschland, und forschte an probabilistischen Modellen für Ereignisdaten. Seine Forschungsinteressen umfassen maschinelles Lernen für zeitliche Daten und generative Modellierung.

Einfache und genaue Prognosen mit AutoGluon-TimeSeries PlatoBlockchain Data Intelligence. Vertikale Suche. Ai.Nick Erickson ist Senior Applied Scientist bei Amazon Web Services. Er erwarb seinen Master-Abschluss in Computer Science and Engineering an der University of Minnesota Twin Cities. Er ist Co-Autor und leitender Entwickler des Open-Source-AutoML-Frameworks AutoGluon. Angefangen als persönliches ML-Toolkit für Wettbewerbe im Jahr 2018 erweiterte Nick kontinuierlich die Fähigkeiten von AutoGluon und trat 2019 Amazon AI bei, um das Projekt als Open-Source-Projekt zu öffnen und Vollzeit daran zu arbeiten, den Stand der Technik in AutoML voranzutreiben.

Zeitstempel:

Mehr von AWS Maschinelles Lernen