Unabhängig davon, ob Sie Ressourcen effizienter für den Webverkehr zuweisen, die Patientennachfrage nach Personalbedarf prognostizieren oder den Verkauf der Produkte eines Unternehmens antizipieren möchten, sind Prognosen in vielen Unternehmen ein unverzichtbares Werkzeug. Ein bestimmter Anwendungsfall, bekannt als Kaltstartprognose, erstellt Prognosen für eine Zeitreihe, die nur wenige oder keine vorhandenen historischen Daten enthält, z. B. ein neues Produkt, das gerade in der Einzelhandelsbranche auf den Markt gekommen ist. Herkömmliche Zeitreihen-Prognosemethoden wie der autoregressive integrierte gleitende Durchschnitt (ARIMA) oder die exponentielle Glättung (ES) stützen sich stark auf historische Zeitreihen jedes einzelnen Produkts und sind daher für Kaltstartprognosen nicht effektiv.
In diesem Beitrag demonstrieren wir, wie man eine Kaltstart-Vorhersage-Engine mit erstellt AutoGluon AutoML für Zeitreihenprognosen, ein Open-Source-Python-Paket zur Automatisierung von maschinellem Lernen (ML) für Bild-, Text-, Tabellen- und Zeitreihendaten. AutoGluon bietet eine End-to-End-Pipeline für automatisiertes maschinelles Lernen (AutoML) für Anfänger bis hin zu erfahrenen ML-Entwicklern und ist damit die genaueste und benutzerfreundlichste vollautomatische Lösung. Wir nutzen die kostenlose Amazon SageMaker Studio Lab Dienst für diese Demonstration.
Einführung in AutoGluon-Zeitreihen
AutoGluon ist eine führende Open-Source-Bibliothek für AutoML für Text-, Bild- und Tabellendaten, mit der Sie mit nur einer Codezeile hochpräzise Modelle aus Rohdaten erstellen können. Vor kurzem hat das Team daran gearbeitet, diese Fähigkeiten auf Zeitreihendaten auszudehnen, und hat ein automatisiertes Prognosemodul entwickelt, das öffentlich verfügbar ist GitHubdem „Vermischten Geschmack“. Seine autogluon.forecasting
Das Modul verarbeitet automatisch Zeitreihen-Rohdaten in das geeignete Format und trainiert und optimiert dann verschiedene hochmoderne Deep-Learning-Modelle, um genaue Prognosen zu erstellen. In diesem Beitrag demonstrieren wir die Verwendung autogluon.forecasting
und wenden Sie es auf Kaltstart-Prognoseaufgaben an.
Lösungsüberblick
Da AutoGluon ein Open-Source-Python-Paket ist, können Sie diese Lösung implementieren örtlich auf Ihrem Laptop oder auf Amazon SageMaker Studio Lab. Wir gehen durch die folgenden Schritte:
- Richten Sie AutoGluon für Amazon SageMaker Studio Lab ein.
- Bereiten Sie den Datensatz vor.
- Definieren Sie Trainingsparameter mit AutoGluon.
- Trainieren Sie eine Kaltstart-Prognose-Engine für die Zeitreihen-Prognose.
- Visualisieren Sie Vorhersagen für Kaltstartprognosen.
Die Hauptannahme der Kaltstartprognose ist, dass Elemente mit ähnlichen Merkmalen ähnliche Zeitreihenverläufe haben sollten, was es der Kaltstartprognose ermöglicht, Vorhersagen für Elemente ohne historische Daten zu treffen, wie in der folgenden Abbildung dargestellt.
In unserer exemplarischen Vorgehensweise verwenden wir einen synthetischen Datensatz basierend auf dem Stromverbrauch, der aus den stündlichen Zeitreihen für 370 Elemente mit jeweils einem besteht item_id
von 0–369. Innerhalb dieses synthetischen Datensatzes, jeder item_id
ist auch mit einem statischen Merkmal verknüpft (ein Merkmal, das sich im Laufe der Zeit nicht ändert). Wir trainieren u DeepAR modellieren Sie mit AutoGluon, um das typische Verhalten ähnlicher Elemente zu lernen, und übertragen Sie dieses Verhalten, um Vorhersagen für neue Elemente zu treffen (item_id
370–373), die keine historischen Zeitreihendaten haben. Obwohl wir den Kaltstart-Vorhersageansatz mit nur einem statischen Merkmal demonstrieren, sind in der Praxis informative und hochwertige statische Merkmale der Schlüssel für eine gute Kaltstart-Vorhersage.
Das folgende Diagramm bietet einen allgemeinen Überblick über unsere Lösung. Der Open-Source-Code ist auf der verfügbar GitHub Repo.
Voraussetzungen:
Für diese exemplarische Vorgehensweise sollten Sie die folgenden Voraussetzungen erfüllen:
- An Amazon SageMaker Studio Lab-Konto
- GitHub Kontozugriff
Melden Sie sich bei Ihrem Amazon SageMaker Studio Lab-Konto an und richten Sie die Umgebung über das Terminal ein:
Diese Anweisungen sollten auch auf Ihrem Laptop funktionieren, wenn Sie keinen Zugriff auf Amazon SageMaker Studio Lab haben (wir empfehlen, zuerst Anaconda auf Ihrem Laptop zu installieren).
Wenn Sie die virtuelle Umgebung vollständig eingerichtet haben, starten Sie das Notebook AutoGluon-cold-start-demo.ipynb
und wählen Sie die benutzerdefinierte Umgebung aus .conda-autogluon:Python
Kernel.
Bereiten Sie die Zielzeitreihe und das Element-Meta-Dataset vor
Laden Sie die folgenden Datasets auf Ihre Notebook-Instance herunter, falls sie nicht enthalten sind, und speichern Sie sie unter dem Verzeichnis data/
. Sie finden diese Datensätze auf unserer GitHub Repo:
- Test.csv.gz
- coldStartTargetData.csv
- itemMetaData.csv
Führen Sie das folgende Snippet aus, um das Zielzeitreihen-Dataset in den Kernel zu laden:
AutoGluon-Zeitreihen erfordern die Darstellung statischer Features im numerischen Format. Dies kann durch eine Bewerbung erreicht werden LabelEncoder()
auf unserer statischen Funktion type
, wobei wir A=0, B=1, C=2, D=3 codieren (siehe folgenden Code). Standardmäßig leitet AutoGluon ab, dass das statische Merkmal entweder ordinal oder kategorial ist. Sie können dies auch überschreiben, indem Sie die statische Feature-Spalte in den Objekt-/String-Datentyp für kategoriale Features oder den Integer-/Float-Datentyp für ordinale Features konvertieren.
Richten Sie das AutoGluon-Modelltraining ein und starten Sie es
Wir müssen angeben save_path = ‘autogluon-coldstart-demo’
als Ordnername des Modellartefakts (siehe folgenden Code). Wir stellen auch unsere ein eval_metric
as mittlerer absoluter prozentualer Fehler, oder ‘MAPE’
kurz gesagt, wo wir definiert haben prediction_length
als 24 Std. Wenn nicht angegeben, erstellt AutoGluon standardmäßig probabilistische Prognosen und bewertet sie über die gewichteter Quantilverlust. Wir schauen nur auf die DeepAR-Modell in unserer Demo, weil wir wissen, dass der DeepAR-Algorithmus eine Kaltstartprognose per Design ermöglicht. Wir legen einen der DeepAR-Hyperparameter willkürlich fest und übergeben diesen Hyperparameter an die ForecastingPredictor().fit()
Anruf. Dadurch kann AutoGluon nur in das angegebene Modell schauen. Eine vollständige Liste der einstellbaren Hyperparameter finden Sie unter gluonts.model.deepar-Paket.
Das Training dauert 30–45 Minuten. Sie können die Modellzusammenfassung abrufen, indem Sie die folgende Funktion aufrufen:
Prognose für den Kaltstartartikel
Jetzt können wir Prognosen für das Kaltstartelement erstellen. Wir empfehlen jeweils mindestens fünf Reihen item_id
. Daher für die item_id
die weniger als fünf Beobachtungen hat, füllen wir mit NaNs aus. In unserer Demo beides item_id
370 und 372 haben null Beobachtung, ein reines Kaltstartproblem, während die anderen beiden fünf Sollwerte haben.
Laden Sie den Kaltstart-Zielzeitreihen-Datensatz mit dem folgenden Code:
Wir speisen die Kaltstart-Zielzeitreihe zusammen mit dem Item-Metadatensatz für den Kaltstart in unser AutoGluon-Modell ein item_id
:
Visualisieren Sie die Vorhersagen
Wir können eine Plotfunktion erstellen, um eine Visualisierung der Kaltstartprognose zu erstellen, wie in der folgenden Grafik gezeigt.
Aufräumen
Um die Ressourcennutzung zu optimieren, sollten Sie die Laufzeit in Amazon SageMaker Studio Lab beenden, nachdem Sie das Notebook vollständig erkundet haben.
Zusammenfassung
In diesem Beitrag haben wir gezeigt, wie man eine Kaltstart-Prognose-Engine mit AutoGluon AutoML für Zeitreihendaten in Amazon SageMaker Studio Lab erstellt. Für diejenigen unter Ihnen, die sich fragen, was der Unterschied zwischen ist Amazon-Prognose und AutoGluon (Zeitreihen) ist Amazon Forecast ein vollständig verwalteter und unterstützter Service, der maschinelles Lernen (ML) verwendet, um hochpräzise Prognosen zu erstellen, ohne dass vorherige ML-Erfahrung erforderlich ist. Während AutoGluon ein Open-Source-Projekt ist, das von der Community mit den neuesten Forschungsbeiträgen unterstützt wird. Wir sind ein End-to-End-Beispiel durchgegangen, um zu demonstrieren, wozu AutoGluon für Zeitreihen in der Lage ist, und haben einen Datensatz und einen Anwendungsfall bereitgestellt.
AutoGluon für Zeitreihendaten ist ein Open-Source-Python-Paket, und wir hoffen, dass dieser Beitrag Ihnen zusammen mit unserem Codebeispiel eine unkomplizierte Lösung für schwierige Kaltstart-Prognoseprobleme bietet. Sie können auf das gesamte Beispiel auf unserer zugreifen GitHub Repo. Probieren Sie es aus und teilen Sie uns Ihre Meinung mit!
Über die Autoren
Ivan Cui ist Data Scientist bei AWS Professional Services, wo er Kunden bei der Entwicklung und Bereitstellung von Lösungen mit maschinellem Lernen auf AWS unterstützt. Er hat mit Kunden aus verschiedenen Branchen zusammengearbeitet, darunter Software, Finanzen, Pharma und Gesundheitswesen. In seiner Freizeit liest er gerne, verbringt Zeit mit seiner Familie und maximiert sein Aktienportfolio.
Jonas Müller ist Senior Applied Scientist in der KI-Forschungs- und Bildungsgruppe bei AWS, wo er neue Algorithmen entwickelt, um Deep Learning zu verbessern und automatisiertes maschinelles Lernen zu entwickeln. Bevor er zu AWS kam, um ML zu demokratisieren, promovierte er am MIT Computer Science and Artificial Intelligence Lab. In seiner Freizeit erkundet er gerne die Berge und die Natur.
Wenming Ja ist Research Product Manager bei AWS AI. Er ist leidenschaftlich daran interessiert, Forschern und Unternehmenskunden dabei zu helfen, ihre Innovationen durch Open-Source- und hochmoderne Technologien für maschinelles Lernen schnell zu skalieren. Wenming verfügt über vielfältige F&E-Erfahrung von Microsoft Research, dem SQL-Engineering-Team und erfolgreichen Startups.
- Coinsmart. Europas beste Bitcoin- und Krypto-Börse.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. DEN FREIEN ZUGANG.
- CryptoHawk. Altcoin-Radar. Kostenlose Testphase.
- Quelle: https://aws.amazon.com/blogs/machine-learning/build-a-cold-start-time-series-forecasting-engine-using-autogluon/
- "
- 100
- 9
- Über uns
- Absolute
- Zugang
- Konto
- genau
- erreicht
- über
- AI
- ai Forschung
- Algorithmus
- Algorithmen
- Zulassen
- Obwohl
- Amazon
- Anwendung
- Ansatz
- künstlich
- künstliche Intelligenz
- Automatisiert
- verfügbar
- durchschnittlich
- AWS
- bauen
- baut
- Unternehmen
- rufen Sie uns an!
- Kann bekommen
- Fähigkeiten
- CD
- Übernehmen
- Kasse
- Code
- Kolonne
- community
- Unternehmen
- Computerwissenschaften
- Verbrauch
- Kunden
- technische Daten
- Datenwissenschaftler
- Demand
- einsetzen
- Design
- entwickeln
- entwickelt
- Entwickler
- Tut nicht
- Bildungswesen
- Effektiv
- Strom
- Entwicklung
- eingegeben
- Unternehmen
- Arbeitsumfeld
- essential
- Beispiel
- ERFAHRUNGEN
- erfahrensten
- erweitern
- Familie
- Merkmal
- Eigenschaften
- Abbildung
- Finanzen
- Vorname
- Folgende
- Format
- Frei
- voller
- Funktion
- Zukunft
- erzeugen
- Git
- gut
- Gruppe an
- mit
- Gesundheitswesen
- hilft
- hoch
- historisch
- Ultraschall
- Hilfe
- HTTPS
- Image
- implementieren
- zu unterstützen,
- inklusive
- Einschließlich
- Krankengymnastik
- Branchen
- Energiegewinnung
- integriert
- Intelligenz
- IT
- Wesentliche
- bekannt
- Laptop
- neueste
- starten
- führenden
- LERNEN
- lernen
- Bibliothek
- Line
- Liste
- wenig
- Belastung
- Maschine
- Maschinelles Lernen
- Making
- Manager
- Markt
- Meta
- Microsoft
- MIT
- ML
- Modell
- für
- vor allem warme
- ziehen um
- neue Produkt
- Notizbuch
- Open-Source-Code
- Andere
- im Freien
- Prozentsatz
- Biowissenschaften
- Mappe
- Prognosen
- Aufgabenstellung:
- Probleme
- anpassen
- produziert
- Produkt
- Produkte
- Professionell
- Projekt
- bietet
- F&E
- Roh
- Lesebrillen
- empfehlen
- Forschungsprojekte
- Ressourcen
- Downloads
- Einzelhandel
- Vertrieb
- Skalieren
- Skalierung
- Wissenschaft
- Wissenschaftler
- Modellreihe
- Leistungen
- kompensieren
- Short
- ähnlich
- Software
- Lösungen
- Ausgabe
- Anfang
- Startups
- -bestands-
- Studio Adressen
- erfolgreich
- Unterstützte
- Target
- und Aufgaben
- Team
- Technologie
- Terminal
- Durch
- Zeit
- gemeinsam
- traditionell
- der Verkehr
- Ausbildung
- schult Ehrenamtliche
- us
- -
- Assistent
- Visualisierung
- Netz
- Was
- WHO
- .
- ohne
- Arbeiten
- gearbeitet
- arbeiten,
- Null