Zeitreihenprognose bezieht sich auf den Prozess der Vorhersage zukünftiger Werte von Zeitreihendaten (Daten, die im Laufe der Zeit in regelmäßigen Abständen erfasst werden). Einfache Methoden zur Zeitreihenprognose verwenden historische Werte derselben Variablen, deren zukünftige Werte vorhergesagt werden müssen, während komplexere, auf maschinellem Lernen (ML) basierende Methoden zusätzliche Informationen verwenden, z. B. die Zeitreihendaten verwandter Variablen.
Amazon-Prognose ist ein ML-basierter Zeitreihen-Prognosedienst, der Algorithmen enthält, die auf über 20 Jahren Prognoseerfahrung basieren, die von verwendet werden Amazon.com, die dieselbe Technologie, die bei Amazon verwendet wird, als vollständig verwalteten Dienst für Entwickler verfügbar macht, wodurch die Notwendigkeit entfällt, Ressourcen zu verwalten. Forecast verwendet ML, um nicht nur den besten Algorithmus für jedes Element zu lernen, sondern auch das beste Ensemble von Algorithmen für jedes Element, wodurch automatisch das beste Modell für Ihre Daten erstellt wird.
In diesem Beitrag wird beschrieben, wie Sie wiederkehrende Forecast-Workloads (Zeitreihen-Prognose-Workloads) ohne Code bereitstellen AWS CloudFormation, AWS Step-Funktionen und AWS-Systemmanager. Die hier vorgestellte Methode hilft Ihnen beim Aufbau einer Pipeline, die es Ihnen ermöglicht, den gleichen Workflow vom ersten Tag Ihrer Zeitreihen-Prognose-Experimente bis zur Bereitstellung des Modells in der Produktion zu verwenden.
Zeitreihenprognose mit Forecast
Der Workflow für Forecast umfasst die folgenden allgemeinen Konzepte:
- Datensätze importieren – In Prognose, a Datensatzgruppe ist eine Sammlung von Datensätzen, Schemas und Prognoseergebnissen, die zusammengehören. Jede Datensatzgruppe kann bis zu drei Datensätze haben, jeweils einen Datensatz Typ: Zielzeitreihen (TTS), zugehörige Zeitreihen (RTS) und Elementmetadaten. Ein Dataset ist eine Sammlung von Dateien, die Daten enthalten, die für eine Prognoseaufgabe relevant sind. Ein Datensatz muss dem in Forecast definierten Schema entsprechen. Weitere Einzelheiten finden Sie unter Datensätze importieren.
- Trainingsprädiktoren - Ein Anzeichen ist ein Prognose-trainiertes Modell, das zur Erstellung von Prognosen auf der Grundlage von Zeitreihendaten verwendet wird. Während des Trainings berechnet Forecast Genauigkeitsmetriken, die Sie verwenden, um den Prädiktor auszuwerten und zu entscheiden, ob Sie den Prädiktor zum Generieren einer Prognose verwenden möchten. Weitere Informationen finden Sie unter Trainingsprädiktoren.
- Prognosen erstellen – Sie können das trainierte Modell dann verwenden, um Prognosen für einen zukünftigen Zeithorizont zu erstellen, der als der bezeichnet wird Prognosehorizont. Prognose liefert Prognosen zu verschiedenen festgelegten Quantilen. Beispielsweise wird eine Prognose beim 0.90-Quantil einen Wert schätzen, der in 90 % der Fälle niedriger als der beobachtete Wert ist. Standardmäßig verwendet Forecast die folgenden Werte für die Prädiktor-Prognosetypen: 0.1 (P10), 0.5 (P50) und 0.9 (P90). Prognosen mit verschiedenen Quantilen werden normalerweise verwendet, um ein Vorhersageintervall (eine Ober- und Untergrenze für Prognosen) bereitzustellen, um die Prognoseunsicherheit zu berücksichtigen.
Sie können diesen Workflow in Forecast entweder über die implementieren AWS-Managementkonsole, der AWS-Befehlszeilenschnittstelle (AWS CLI), über API-Aufrufe mit Python-Notebooks, oder über Automatisierungslösungen. Der trösten und AWS-CLI Methoden eignen sich am besten für schnelle Experimente, um die Machbarkeit von Zeitreihenprognosen anhand Ihrer Daten zu überprüfen. Die Python-Notebook-Methode eignet sich hervorragend für Data Scientists, die bereits mit Jupyter-Notebooks und -Codierung vertraut sind, und bietet maximale Kontrolle und Optimierung. Allerdings ist die Notebook-basierte Methode schwer zu operationalisieren. Unser Automatisierungsansatz erleichtert schnelles Experimentieren, eliminiert sich wiederholende Aufgaben und ermöglicht einen einfacheren Übergang zwischen verschiedenen Umgebungen (Entwicklung, Staging, Produktion).
In diesem Beitrag beschreiben wir einen Automatisierungsansatz für die Verwendung von Forecast, der es Ihnen ermöglicht, Ihre eigenen Daten zu verwenden, und der einen einzigen Workflow bietet, den Sie nahtlos während des gesamten Lebenszyklus der Entwicklung Ihrer Prognoselösung verwenden können, von den ersten Tagen des Experimentierens bis zur Bereitstellung der Lösung in Ihrer Produktionsumgebung.
Lösungsüberblick
In den folgenden Abschnitten beschreiben wir einen vollständigen End-to-End-Workflow, der als Vorlage für die automatisierte Bereitstellung von Zeitreihen-Prognosemodellen mit Forecast dient. Dieser Workflow erstellt prognostizierte Datenpunkte aus einem Open-Source-Eingabedatensatz; Sie können jedoch denselben Workflow für Ihre eigenen Daten verwenden, solange Sie Ihre Daten gemäß den in diesem Beitrag beschriebenen Schritten formatieren können. Nachdem Sie die Daten hochgeladen haben, führen wir Sie durch die Schritte zum Erstellen von Prognose-Dataset-Gruppen, zum Importieren von Daten, zum Trainieren von ML-Modellen und zum Produzieren von prognostizierten Datenpunkten für zukünftige, unsichtbare Zeithorizonte aus Rohdaten. All dies ist möglich, ohne Code schreiben oder kompilieren zu müssen.
Das folgende Diagramm veranschaulicht den Prognoseworkflow.
Die Lösung wird mithilfe von zwei CloudFormation-Vorlagen bereitgestellt: der Abhängigkeitsvorlage und der Workload-Vorlage. CloudFormation ermöglicht es Ihnen, AWS-Infrastrukturbereitstellungen vorhersehbar und wiederholt durchzuführen, indem Sie Vorlagen verwenden, die die bereitzustellenden Ressourcen beschreiben. Eine bereitgestellte Vorlage wird als a bezeichnet Stapel. Die Definition der Infrastruktur in der Lösung haben wir für Sie in den beiden mitgelieferten Templates übernommen. Die Abhängigkeitsvorlage definiert vorausgesetzte Ressourcen, die von der Workload-Vorlage verwendet werden, z. B. eine Amazon Simple Storage-Service (Amazon S3) Bucket für Objektspeicher und AWS Identity and Access Management and (IAM)-Berechtigungen für AWS-API-Aktionen. Die in der Abhängigkeitsvorlage definierten Ressourcen können von mehreren Workload-Vorlagen gemeinsam genutzt werden. Die Workload-Vorlage definiert die Ressourcen, die zum Erfassen von Daten, zum Trainieren eines Prädiktors und zum Generieren einer Prognose verwendet werden.
Stellen Sie die CloudFormation-Vorlage für Abhängigkeiten bereit
Lassen Sie uns zunächst die Abhängigkeitsvorlage bereitstellen, um unsere erforderlichen Ressourcen zu erstellen. Die Abhängigkeitsvorlage stellt einen optionalen S3-Bucket bereit, AWS Lambda Funktionen und IAM-Rollen. Amazon S3 ist ein kostengünstiger, hochverfügbarer, belastbarer Objektspeicherdienst. Wir verwenden in dieser Lösung einen S3-Bucket, um Quelldaten zu speichern und den Workflow auszulösen, was zu einer Prognose führt. Lambda ist ein serverloser, ereignisgesteuerter Rechendienst, mit dem Sie Code ausführen können, ohne Server bereitzustellen oder zu verwalten. Die Abhängigkeitsvorlage enthält Funktionen, um beispielsweise eine Datensatzgruppe in Forecast zu erstellen und Objekte in einem S3-Bucket zu bereinigen, bevor der Bucket gelöscht wird. IAM-Rollen definieren Berechtigungen innerhalb von AWS für Benutzer und Services. Die Abhängigkeitsvorlage stellt eine Rolle bereit, die von Lambda verwendet werden soll, und eine weitere für Step Functions, einen Workflow-Management-Service, der die Aufgaben der Datenaufnahme und -verarbeitung sowie das Prediktor-Training und die Inferenz mithilfe von Forecast koordiniert.
Führen Sie die folgenden Schritte aus, um die Abhängigkeitsvorlage bereitzustellen:
- Wählen Sie auf der Konsole die gewünschte aus Von Prognose unterstützte Region für die Lösungsbereitstellung.
- Wählen Sie in der AWS CloudFormation-Konsole aus Stacks im Navigationsbereich.
- Auswählen
Stapel erstellen und wählen Sie Mit neuen Ressourcen (Standard).
- Aussichten für VorlagenquelleWählen Amazon S3-URL.
- Geben Sie die Vorlagen-URL ein:
https://amazon-forecast-samples.s3.us-west-2.amazonaws.com/ml_ops/forecast-mlops-dependency.yaml
. - Auswählen
Weiter.
- Aussichten für Stapelname, eingeben
forecast-mlops-dependency
. - Der Parameter, wählen Sie aus, ob Sie einen vorhandenen S3-Bucket verwenden oder einen neuen erstellen möchten, und geben Sie dann den Namen des Buckets an.
- Auswählen Weiter.
- Auswählen Weiter um die Standard-Stack-Optionen zu akzeptieren.
- Aktivieren Sie das Kontrollkästchen, um zu bestätigen, dass der Stack IAM-Ressourcen erstellt, und wählen Sie dann aus Stapel erstellen um die Vorlage bereitzustellen.
Sie sollten die Vorlagenbereitstellung als sehen forecast-mlops-dependency
Stapel. Wenn sich der Status ändert zu CREATE_COMPLETE
, können Sie mit dem nächsten Schritt fortfahren.
Stellen Sie die Workload-CloudFormation-Vorlage bereit
Als Nächstes stellen wir die Arbeitslastvorlage bereit, um unsere erforderlichen Ressourcen zu erstellen. Die Workload-Vorlage stellt Step Functions-Zustandsmaschinen für das Workflow-Management bereit, AWS Systems Manager-Parameterspeicher Parameter, um Parameterwerte von AWS CloudFormation zu speichern und den Workflow zu informieren, an Amazon Simple Notification Service (Amazon SNS)-Thema für Workflow-Benachrichtigungen und eine IAM-Rolle für Workflow-Service-Berechtigungen.
Die Lösung erstellt fünf Zustandsmaschinen:
- CreateDatasetGroupStateMachine – Erstellt eine Prognosedatensatzgruppe, in die Daten importiert werden können.
- CreateImportDatasetStateMachine – Importiert Quelldaten aus Amazon S3 in eine Datensatzgruppe für das Training.
- CreateForecastStateMachine – Verwaltet die Aufgaben, die zum Trainieren eines Prädiktors und zum Erstellen einer Prognose erforderlich sind.
- AthenaConnectorStateMachine – Ermöglicht das Schreiben von SQL-Abfragen mit der Amazonas Athena Konnektor zum Landen von Daten in Amazon S3. Dies ist ein optionaler Prozess, um historische Daten im erforderlichen Format für die Prognose zu erhalten, indem Athena verwendet wird, anstatt Dateien manuell in Amazon S3 zu platzieren.
- StepFunctionWorkflowStateMachine – Koordiniert Anrufe an die anderen vier Zustandsmaschinen und verwaltet den gesamten Arbeitsablauf.
Parameter Store, eine Funktion von Systems Manager, bietet eine sichere, hierarchische Speicherung und einen programmgesteuerten Abruf von Konfigurationsdatenverwaltung und Geheimnisverwaltung. Parameter Store wird verwendet, um im Workload-Stack festgelegte Parameter sowie andere vom Workflow verwendete Parameter zu speichern.
Führen Sie die folgenden Schritte aus, um die Workload-Vorlage bereitzustellen:
- Wählen Sie in der AWS CloudFormation-Konsole aus Stacks im Navigationsbereich.
- Auswählen Stapel erstellen und wählen Sie Mit neuen Ressourcen (Standard).
- Aussichten für VorlagenquelleWählen Amazon S3-URL.
- Geben Sie die Vorlagen-URL ein:
https://amazon-forecast-samples.s3.us-west-2.amazonaws.com/ml_ops/forecast-mlops-solution-guidance.yaml
. - Auswählen Weiter.
- Aussichten für Stapelname, Geben Sie einen Namen ein.
- Akzeptieren Sie die Standardwerte oder ändern Sie die Parameter.
Stellen Sie sicher, dass Sie den S3-Bucket-Namen aus dem Abhängigkeitsstapel für eingeben S3-Eimer und eine gültige E-Mail-Adresse für SNSEndpoint auch wenn Sie die Standardparameterwerte akzeptieren.
Die folgende Tabelle beschreibt jeden Parameter.
Parameter | Beschreibung | Mehr Informationen |
DatasetGroupFrequencyRTS |
Die Häufigkeit der Datenerfassung für den RTS-Datensatz. | . |
DatasetGroupFrequencyTTS |
Die Häufigkeit der Datenerfassung für den TTS-Datensatz. | . |
DatasetGroupName |
Ein Kurzname für die Dataset-Gruppe, eine eigenständige Workload. | CreateDatasetGroup |
DatasetIncludeItem |
Geben Sie an, ob Sie Elementmetadaten für diesen Anwendungsfall bereitstellen möchten. | . |
DatasetIncludeRTS |
Geben Sie an, ob Sie eine zugehörige Zeitreihe für diesen Anwendungsfall bereitstellen möchten. | . |
ForecastForecastTypes |
Wenn ein CreateForecast-Job ausgeführt wird, deklariert dieser, für welche Quantile Vorhersagen erstellt werden sollen. Sie können bis zu fünf Werte in diesem Array auswählen. Bearbeiten Sie diesen Wert, um Werte nach Bedarf einzuschließen. | Prognose erstellen |
PredictorAttributeConfigs |
Für die Zielvariable in TTS und jedes numerische Feld in den RTS-Datensätzen muss für jedes Zeitintervall für jedes Element ein Datensatz erstellt werden. Diese Konfiguration hilft bei der Bestimmung, wie fehlende Datensätze ausgefüllt werden: mit 0, NaN oder auf andere Weise. Wir empfehlen, die Lücken in der TTS mit NaN anstelle von 0 zu füllen. Mit 0 lernt das Modell möglicherweise fälschlicherweise, Prognosen in Richtung 0 zu verzerren. NaN ist die Art und Weise, wie die Guidance bereitgestellt wird. Wenden Sie sich bei diesbezüglichen Fragen an Ihren AWS-Lösungsarchitekten. | CreateAutoPredictor |
PredictorExplainPredictor |
Gültige Werte sind TRUE oder FALSE. Diese bestimmen, ob die Erklärbarkeit für Ihren Prädiktor aktiviert ist. Dies kann Ihnen helfen zu verstehen, wie Werte in den RTS- und Elementmetadaten das Modell beeinflussen. | Erklärbarkeit |
PredictorForecastDimensions |
Möglicherweise möchten Sie die Prognose mit einer feineren Körnung als dem Element prognostizieren. Hier können Sie Dimensionen wie Standort, Kostenstelle oder was auch immer Sie benötigen angeben. Diese muss mit den Abmessungen in Ihrem RTS und TTS übereinstimmen. Beachten Sie, dass, wenn Sie keine Dimension haben, der richtige Parameter null ist, allein und in Kleinbuchstaben. null ist ein reserviertes Wort, das dem System mitteilt, dass es keinen Parameter für die Dimension gibt. | CreateAutoPredictor |
PredictorForecastFrequency |
Definiert die Zeitskala, in der Ihr Modell und Ihre Vorhersagen generiert werden, z. B. täglich, wöchentlich oder monatlich. Das Dropdown-Menü hilft Ihnen bei der Auswahl zulässiger Werte. Dies muss mit Ihrer RTS-Zeitskala übereinstimmen, wenn Sie RTS verwenden. | CreateAutoPredictor |
PredictorForecastHorizon |
Die Anzahl der Zeitschritte, die das Modell vorhersagt. Der Prognosehorizont wird auch als Prognosehorizont bezeichnet Vorhersagelänge. | CreateAutoPredictor |
PredictorForecastOptimizationMetric |
Definiert die Genauigkeitsmetrik, die zum Optimieren des Prädiktors verwendet wird. Das Dropdown-Menü hilft Ihnen bei der Auswahl gewichteter Quantilverlustsalden für Über- oder Unterprognosen. RMSE befasst sich mit Einheiten und WAPE/MAPE mit prozentualen Fehlern. | CreateAutoPredictor |
PredictorForecastTypes |
Wenn eine CreateAutoPredictor Job läuft, deklariert dies, welche Quantile verwendet werden, um Vorhersagepunkte zu trainieren. Sie können in diesem Array bis zu fünf Werte auswählen, um Über- und Unterprognosen auszugleichen. Bearbeiten Sie diesen Wert, um Werte nach Bedarf einzuschließen. |
CreateAutoPredictor |
S3Bucket |
Der Name des S3-Buckets, in den Eingabedaten und Ausgabedaten für diese Workload geschrieben werden. | . |
SNSEndpoint |
Eine gültige E-Mail-Adresse, um Benachrichtigungen zu erhalten, wenn die Predictor- und Forecast-Jobs abgeschlossen sind. | . |
SchemaITEM |
Dies definiert die physische Reihenfolge, Spaltennamen und Datentypen für Ihr Elementmetadaten-Dataset. Dies ist eine optionale Datei, die im Lösungsbeispiel bereitgestellt wird. | Datensatz erstellen |
SchemaRTS |
Dies definiert die physische Reihenfolge, Spaltennamen und Datentypen für Ihr RTS-Dataset. Die Maße müssen mit Ihrem TTS übereinstimmen. Das Zeitintervall dieser Datei bestimmt das Zeitintervall, in dem Vorhersagen getroffen werden können. Dies ist eine optionale Datei, die im Lösungsbeispiel bereitgestellt wird. | Datensatz erstellen |
SchemaTTS |
Dies definiert die physische Reihenfolge, Spaltennamen und Datentypen für Ihr TTS-Dataset, das einzige erforderliche Dataset. Die Datei muss mindestens einen Zielwert, einen Zeitstempel und ein Element enthalten. | Datensatz erstellen |
TimestampFormatRTS |
Definiert das in der RTS-Datei bereitgestellte Zeitstempelformat. | CreateDatasetImportJob |
TimestampFormatTTS |
Definiert das in der TTS-Datei bereitgestellte Zeitstempelformat. | CreateDatasetImportJob |
- Auswählen Weiter um die Standard-Stack-Optionen zu akzeptieren.
- Aktivieren Sie das Kontrollkästchen, um zu bestätigen, dass der Stack IAM-Ressourcen erstellt, und wählen Sie dann aus Stapel erstellen um die Vorlage bereitzustellen.
Sie sollten die Vorlagenbereitstellung als den Stack-Namen sehen, den Sie zuvor ausgewählt haben. Wenn sich der Status ändert zu CREATE_COMPLETE
, können Sie zum Daten-Upload-Schritt wechseln.
Laden Sie die Daten hoch
Im vorherigen Abschnitt haben Sie einen Stack-Namen und einen S3-Bucket angegeben. Dieser Abschnitt beschreibt, wie Sie den öffentlich zugänglichen Datensatz hinterlegen Nahrungsnachfrage in diesem Eimer. Wenn Sie Ihren eigenen Datensatz verwenden, finden Sie weitere Informationen unter Datensätze um Ihr Dataset in einem Format vorzubereiten, das die Bereitstellung erwartet. Der Datensatz muss mindestens die Zielzeitreihe und optional die zugehörige Zeitreihe und die Elementmetadaten enthalten:
- TTS sind die Zeitreihendaten, die das Feld enthalten, für das Sie eine Prognose erstellen möchten; Dieses Feld wird als bezeichnet Zielfeld
- RTS sind Zeitreihendaten, die das Zielfeld nicht, aber ein Bezugsfeld enthalten
- Die Elementdatendatei besteht nicht aus Zeitreihendaten, sondern enthält Metadateninformationen zu den Elementen in den TTS- oder RTS-Datensätzen
Führen Sie die folgenden Schritte aus:
- Wenn Sie das bereitgestellte Beispiel-Dataset verwenden, laden Sie das Dataset herunter Nahrungsnachfrage auf Ihren Computer und entpacken Sie die Datei, wodurch drei Dateien in drei Verzeichnissen erstellt werden (
rts
,tts
,item
). - Navigieren Sie in der Amazon S3-Konsole zu dem zuvor erstellten Bucket.
- Auswählen Ordner erstellen.
- Verwenden Sie für den Ordnernamen dieselbe Zeichenfolge wie der Name Ihres Workload-Stacks.
- Auswählen Hochladen.
- Wählen Sie die drei Datensatzordner aus, und wählen Sie dann aus Hochladen.
Wenn der Upload abgeschlossen ist, sollten Sie so etwas wie den folgenden Screenshot sehen. Für dieses Beispiel ist unser Ordner aiml42
.
Erstellen Sie eine Prognose-Dataset-Gruppe
Führen Sie die Schritte in diesem Abschnitt aus, um eine Datensatzgruppe als einmaliges Ereignis für jede Workload zu erstellen. In Zukunft sollten Sie planen, die Importdaten auszuführen, den Prädiktor zu erstellen und gegebenenfalls Prognoseschritte als Serie gemäß Ihrem Zeitplan zu erstellen, der täglich, wöchentlich oder auf andere Weise erfolgen kann.
- Suchen Sie in der Step Functions-Konsole den Zustandsautomaten mit
Create-Dataset-Group
. - Wählen Sie auf der Detailseite des Zustandsautomaten aus Starten Sie die Ausführung.
- Auswählen Starten Sie die Ausführung nochmal zur Bestätigung.
Die Ausführung der Zustandsmaschine dauert etwa 1 Minute. Wenn es fertig ist, wird der Wert unter Ausführungsstatus ab ändern sollte Laufen zu Gelungen
Importieren Sie Daten in Forecast
Befolgen Sie die Schritte in diesem Abschnitt, um den Datensatz, den Sie in Ihren S3-Bucket hochgeladen haben, in Ihre Datensatzgruppe zu importieren:
- Suchen Sie in der Step Functions-Konsole den Zustandsautomaten mit
Import-Dataset
. - Wählen Sie auf der Detailseite des Zustandsautomaten aus Ausführung starten.
- Auswählen Starten Sie die Ausführung nochmal zur Bestätigung.
Die Zeitdauer, die der Zustandsautomat zum Ausführen benötigt, hängt von dem verarbeiteten Dataset ab.
- Öffnen Sie während der Ausführung in Ihrem Browser einen weiteren Tab und navigieren Sie zur Forecast-Konsole.
- Wählen Sie in der Prognosekonsole Datensatzgruppen anzeigen und navigieren Sie zu der Datensatzgruppe mit dem angegebenen Namen für
DataGroupName
aus Ihrem Workload-Stack. - Auswählen Datensätze anzeigen.
Sie sollten sehen, dass die Datenimporte im Gange sind.
Wenn die Zustandsmaschine für Import-Dataset
abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren, um Ihr Zeitreihendatenmodell zu erstellen.
AutoPredictor erstellen (ein Zeitreihenmodell trainieren)
In diesem Abschnitt wird beschrieben, wie Sie einen anfänglichen Prädiktor mit Forecast trainieren. Sie können einen neuen Prädiktor (Ihren ersten Basisprädiktor) erstellen oder einen Prädiktor während jedes Produktionszyklus neu trainieren, der täglich, wöchentlich oder anderweitig sein kann. Sie können sich auch dafür entscheiden, nicht in jedem Zyklus einen Prädiktor zu erstellen, und sich auf die Überwachung des Prädiktors verlassen, um Sie bei der Erstellung eines Prädiktors zu unterstützen. Die folgende Abbildung visualisiert den Prozess der Erstellung eines produktionsbereiten Prognose-Prädiktors.
Führen Sie die folgenden Schritte aus, um einen neuen Prädiktor zu erstellen:
- Suchen Sie in der Step Functions-Konsole den Zustandsautomaten mit
Create-Predictor
. - Wählen Sie auf der Detailseite des Zustandsautomaten aus Ausführung starten.
- Auswählen
Starten Sie die Ausführung nochmal zur Bestätigung.
Die Laufzeit kann vom verarbeiteten Dataset abhängen. Dies kann bis zu einer Stunde oder länger dauern. - Öffnen Sie während der Ausführung in Ihrem Browser einen weiteren Tab und navigieren Sie zur Forecast-Konsole.
- Wählen Sie in der Prognosekonsole Datensatzgruppen anzeigen und navigieren Sie zu der Datensatzgruppe mit dem angegebenen Namen für
DataGroupName
aus Ihrem Workload-Stack. - Auswählen Prädiktoren anzeigen.
Sie sollten sehen, dass das Prädiktor-Training läuft (der Trainingsstatus zeigt „Create in progress…“).
Wenn die Zustandsmaschine für Create-Predictor
abgeschlossen ist, können Sie seine Leistung bewerten.
Als Teil der Zustandsmaschine erstellt das System einen Prädiktor und führt auch einen aus BacktestExport
Job, der Vorhersagemetriken auf Zeitreihenebene in Amazon S3 schreibt. Dies sind Dateien, die sich in zwei S3-Ordnern unter der befinden backtest-export
Ordner:
- Genauigkeit-Metriken-Werte – Bietet Genauigkeitsmetrikberechnungen auf Elementebene, damit Sie die Leistung einer einzelnen Zeitreihe verstehen können. Auf diese Weise können Sie den Spread untersuchen, anstatt sich nur auf die globalen Metriken zu konzentrieren.
- prognostizierte Werte – Bietet Vorhersagen auf Schrittebene für jede Zeitreihe im Backtest-Fenster. Auf diese Weise können Sie den tatsächlichen Zielwert aus einem Holdout-Testsatz mit den vorhergesagten Quantilwerten vergleichen. Die Überprüfung dieser Informationen hilft bei der Formulierung von Ideen, wie zusätzliche Datenfunktionen in RTS- oder Artikelmetadaten bereitgestellt werden können, um zukünftige Werte besser abzuschätzen und Verluste weiter zu reduzieren. Sie können herunterladen
backtest-export
Dateien aus Amazon S3 oder fragen Sie sie direkt mit Athena ab.
Bei Ihren eigenen Daten müssen Sie die Prädiktorergebnisse genau prüfen und sicherstellen, dass die Metriken Ihren erwarteten Ergebnissen entsprechen, indem Sie die Backtest-Exportdaten verwenden. Wenn Sie zufrieden sind, können Sie damit beginnen, zukunftsbezogene Vorhersagen zu erstellen, wie im nächsten Abschnitt beschrieben.
Prognose erstellen (Rückschluss auf zukünftige Zeithorizonte)
In diesem Abschnitt wird beschrieben, wie Sie mit Forecast Prognosedatenpunkte generieren. In Zukunft sollten Sie neue Daten aus dem Quellsystem sammeln, die Daten in Forecast importieren und dann Prognosedatenpunkte generieren. Optional können Sie auch nach dem Import und vor der Prognose eine neue Prädiktorerstellung einfügen. Die folgende Abbildung visualisiert den Prozess der Erstellung von Produktionszeitreihenprognosen mit Forecast.
Führen Sie die folgenden Schritte aus:
- Suchen Sie in der Step Functions-Konsole den Zustandsautomaten mit
Create-Forecast
. - Wählen Sie auf der Detailseite des Zustandsautomaten aus Ausführung starten.
- Auswählen
Starten Sie die Ausführung nochmal zur Bestätigung.
Dieser Zustandsautomat wird sehr schnell beendet, da das System nicht zum Generieren einer Prognose konfiguriert ist. Es weiß nicht, welches Prädiktormodell Sie für die Inferenz zugelassen haben.
Lassen Sie uns das System so konfigurieren, dass es Ihren trainierten Prädiktor verwendet. - Suchen Sie in der Prognosekonsole den ARN für Ihren Prädiktor.
- Kopieren Sie den ARN zur Verwendung in einem späteren Schritt.
- Öffnen Sie in Ihrem Browser eine weitere Registerkarte und navigieren Sie zur Systems Manager-Konsole.
- Wählen Sie in der Systems Manager-Konsole Parameterspeicher im Navigationsbereich.
- Suchen Sie den Parameter, der sich auf Ihren Stack bezieht (
/forecast/<StackName>/Forecast/PredictorArn
). - Geben Sie den ARN ein, den Sie für Ihren Prädiktor kopiert haben.
So verknüpfen Sie einen trainierten Prädiktor mit der Inferenzfunktion von Forecast. - Suchen Sie den Parameter
/forecast/<StackName>/Forecast/Generate
und bearbeiten Sie den Wert und ersetzen SieFALSE
mitTRUE
.
Jetzt können Sie einen Prognosejob für diese Datensatzgruppe ausführen. - Führen Sie in der Step Functions-Konsole die
Create-Forecast
Zustandsmaschine.
Diesmal wird der Job wie erwartet ausgeführt. Als Teil der Zustandsmaschine erstellt das System eine Prognose und eine ForecastExport
job, der Zeitreihenvorhersagen an Amazon S3 schreibt. Diese Dateien befinden sich im forecast
Flyer
Im Inneren der forecast
Ordner finden Sie Vorhersagen für Ihre Artikel, die sich je nach Ihrer Auswahl in vielen CSV- oder Parquet-Dateien befinden. Die Vorhersagen für jeden Zeitschritt und ausgewählte Zeitreihen sind mit allen von Ihnen gewählten Quantilwerten pro Datensatz vorhanden. Sie können diese Dateien von Amazon S3 herunterladen, sie direkt mit Athena abfragen oder eine andere Strategie zur Verwendung der Daten wählen.
Damit ist der gesamte Workflow abgeschlossen. Sie können Ihre Ausgabe jetzt mit einem beliebigen Visualisierungstool Ihrer Wahl visualisieren, z Amazon QuickSight. Alternativ können Data Scientists Pandas verwenden, um ihre eigenen Diagramme zu erstellen. Wenn Sie sich für die Verwendung von QuickSight entscheiden, können Sie dies tun Verbinden Sie Ihre Prognoseergebnisse mit QuickSight um Datentransformationen durchzuführen, eine oder mehrere Datenanalysen zu erstellen und Visualisierungen erstellen.
Dieser Prozess stellt eine Vorlage bereit, der zu folgen ist. Sie müssen das Beispiel an Ihr Schema anpassen, den Prognosehorizont, die Zeitauflösung usw. entsprechend Ihrem Anwendungsfall festlegen. Sie müssen auch einen wiederkehrenden Zeitplan festlegen, in dem Daten aus dem Quellsystem gesammelt, die Daten importiert und Prognosen erstellt werden. Falls gewünscht, können Sie eine Prädiktoraufgabe zwischen den Import- und Prognoseschritten einfügen.
Trainieren Sie den Prädiktor neu
Wir haben den Prozess des Trainierens eines neuen Prädiktors durchlaufen, aber was ist mit dem erneuten Trainieren eines Prädiktors? Das erneute Trainieren eines Prädiktors ist eine Möglichkeit, die Kosten und die Zeit zu reduzieren, die mit dem Trainieren eines Prädiktors auf den neuesten verfügbaren Daten verbunden sind. Anstatt einen neuen Prädiktor zu erstellen und ihn mit dem gesamten Datensatz zu trainieren, können wir den vorhandenen Prädiktor neu trainieren, indem wir nur die neuen inkrementellen Daten bereitstellen, die seit dem letzten Training des Prädiktors verfügbar gemacht wurden. Sehen wir uns an, wie Sie einen Prädiktor mithilfe der Automatisierungslösung neu trainieren:
- Wählen Sie in der Prognosekonsole Datensatzgruppen anzeigen.
- Wählen Sie die Datensatzgruppe aus, die dem neu zu trainierenden Prädiktor zugeordnet ist.
- Auswählen Prädiktoren anzeigen, und wählen Sie dann den Prädiktor aus, den Sie neu trainieren möchten.
- Auf dem Einstellungen kopieren Sie den Prädiktor-ARN.
Wir müssen einen Parameter aktualisieren, der vom Workflow verwendet wird, um den neu zu trainierenden Prädiktor zu identifizieren. - Wählen Sie in der Systems Manager-Konsole Parameterspeicher im Navigationsbereich.
- Suchen Sie den Parameter
/forecast/<STACKNAME>/Forecast/Predictor/ReferenceArn
. - Wählen Sie auf der Parameter-Detailseite aus Bearbeiten.
- Aussichten für Wert, geben Sie den Prädiktor-ARN ein.
Dadurch wird der richtige Prädiktor für den neu zu trainierenden Workflow identifiziert. Als Nächstes müssen wir einen vom Workflow verwendeten Parameter aktualisieren, um die Trainingsstrategie zu ändern. - Suchen Sie den Parameter
/forecast/<STACKNAME>/Forecast/Predictor/Strategy
. - Wählen Sie auf der Parameter-Detailseite Bearbeiten.
- Geben Sie für Wert ein
RETRAIN
.
Der Arbeitsablauf trainiert standardmäßig einen neuen Prädiktor; Wir können dieses Verhalten jedoch ändern, um einen vorhandenen Prädiktor neu zu trainieren, oder einfach einen vorhandenen Prädiktor ohne Neutraining wiederverwenden, indem wir diesen Wert auf setzenNONE
. Möglicherweise möchten Sie auf das Training verzichten, wenn Ihre Daten relativ stabil sind oder Sie verwenden automatisierte Prädiktorenüberwachung entscheiden, wann eine Umschulung erforderlich ist. - Laden Sie die inkrementellen Trainingsdaten in den S3-Bucket hoch.
- Suchen Sie in der Step Functions-Konsole den Zustandsautomaten
<STACKNAME>-Create-Predictor
. - Wählen Sie auf der Detailseite des Zustandsautomaten aus Starten Sie die Ausführung mit der Umschulung beginnen.
Wenn die Neuschulung abgeschlossen ist, endet der Workflow und Sie erhalten eine SNS-E-Mail-Benachrichtigung an die E-Mail-Adresse, die in den Parametern der Workload-Vorlage angegeben ist.
Aufräumen
Wenn Sie mit dieser Lösung fertig sind, führen Sie die Schritte in diesem Abschnitt aus, um zugehörige Ressourcen zu löschen.
Löschen Sie den S3-Bucket
- Wählen Sie in der Amazon S3-Konsole aus Eimer im Navigationsbereich.
- Wählen Sie den Bucket aus, in den Daten hochgeladen wurden, und wählen Sie aus leer alle mit der Lösung verbundenen Daten, einschließlich Quelldaten, zu löschen.
- Enter
permanently delete
um den Bucket-Inhalt dauerhaft zu löschen. - Auf dem Eimer Seite, wählen Sie den Bucket aus und wählen Sie Löschen.
- Geben Sie den Namen des Buckets ein, um das Löschen zu bestätigen, und wählen Sie aus Eimer löschen.
Prognoseressourcen löschen
- Wählen Sie in der Prognosekonsole Datensatzgruppen anzeigen.
- Wählen Sie den mit der Lösung verknüpften Dataset-Gruppennamen aus, und wählen Sie dann aus Löschen.
- Enter
delete
, um die Datensatzgruppe und die zugehörigen Prädiktoren, Prädiktor-Backtest-Exportjobs, Prognosen und Prognoseexportjobs zu löschen. - Auswählen Löschen zu bestätigen.
Löschen Sie die CloudFormation-Stacks
- Wählen Sie in der AWS CloudFormation-Konsole aus Stacks im Navigationsbereich.
- Wählen Sie den Workload-Stack aus und wählen Sie Löschen.
- Auswählen Stapel löschen um das Löschen des Stapels und aller zugehörigen Ressourcen zu bestätigen.
- Wenn der Löschvorgang abgeschlossen ist, markieren Sie den Stapel Abhängigkeiten und wählen Sie Löschen.
- Auswählen Löschen zu bestätigen.
Zusammenfassung
In diesem Beitrag haben wir einige verschiedene Möglichkeiten für den Einstieg in die Verwendung von Forecast besprochen. Wir haben eine automatisierte Prognoselösung auf Basis von AWS CloudFormation für eine schnelle, wiederholbare Lösungsbereitstellung einer Prognosepipeline von der Datenaufnahme bis zur Inferenz durchlaufen, wobei nur geringe Infrastrukturkenntnisse erforderlich sind. Schließlich haben wir gesehen, wie wir Lambda verwenden können, um das Neutraining von Modellen zu automatisieren und so Kosten und Trainingszeit zu reduzieren.
Es gibt keinen besseren Zeitpunkt als die Gegenwart, um mit Prognosen zu beginnen. Um mit dem Erstellen und Bereitstellen eines automatisierten Workflows zu beginnen, besuchen Sie Amazon Forecast-Ressourcen. Fröhliche Prognose!
Über die Autoren
Aaron Fagan ist Principal Specialist Solutions Architect bei AWS mit Sitz in New York. Er ist darauf spezialisiert, Kunden bei der Entwicklung von Lösungen für maschinelles Lernen und Cloud-Sicherheit zu unterstützen.
Raju Patil ist Data Scientist bei AWS Professional Services. Er entwickelt und implementiert KI/ML-Lösungen, um AWS-Kunden bei der Bewältigung ihrer geschäftlichen Herausforderungen zu unterstützen. Seine AWS-Engagements haben eine breite Palette von KI/ML-Anwendungsfällen wie Computer Vision, Zeitreihenprognosen und prädiktive Analysen usw. in zahlreichen Branchen abgedeckt, darunter Finanzdienstleistungen, Telekommunikation, Gesundheitswesen und mehr. Zuvor leitete er Data-Science-Teams in der Werbetechnologie und leistete bedeutende Beiträge zu zahlreichen Forschungs- und Entwicklungsinitiativen in den Bereichen Computer Vision und Robotik. Außerhalb der Arbeit genießt er Fotografie, Wandern, Reisen und kulinarische Erkundungen.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoAiStream. Web3-Datenintelligenz. Wissen verstärkt. Hier zugreifen.
- Die Zukunft prägen mit Adryenn Ashley. Hier zugreifen.
- Kaufen und verkaufen Sie Anteile an PRE-IPO-Unternehmen mit PREIPO®. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/automate-the-deployment-of-an-amazon-forecast-time-series-forecasting-model/
- :hast
- :Ist
- :nicht
- :Wo
- $UP
- 1
- 10
- 100
- 11
- 20
- 20 Jahre
- 2022
- 7
- 8
- 9
- a
- Über Uns
- Akzeptieren
- Zugang
- Nach
- Konto
- Genauigkeit
- anerkennen
- über
- Aktionen
- automatisch
- Zusätzliche
- Zusätzliche Angaben
- Adresse
- Marketings
- Nach der
- aufs Neue
- AI / ML
- Algorithmus
- Algorithmen
- Alle
- Zulassen
- erlaubt
- allein
- bereits
- ebenfalls
- Amazon
- Amazon-Prognose
- Betrag
- an
- Analysen
- Analytik
- und
- Ein anderer
- jedem
- Bienen
- Ansatz
- angemessen
- genehmigt
- SIND
- Feld
- AS
- helfen
- Partnerschaftsräte
- damit verbundenen
- At
- automatisieren
- Automatisiert
- Im Prinzip so, wie Sie es von Google Maps kennen.
- Automation
- verfügbar
- AWS
- AWS CloudFormation
- Professionelle AWS-Services
- Backtest
- Balance
- Guthaben
- basierend
- Baseline
- BE
- weil
- Bevor
- beginnen
- Sein
- BESTE
- Besser
- zwischen
- vorspannen
- Bound
- Box
- Bringing
- Browser
- bauen
- Building
- baut
- Geschäft
- aber
- by
- berechnet
- namens
- Aufrufe
- CAN
- österreichische Unternehmen
- Häuser
- Fälle
- Center
- Herausforderungen
- Übernehmen
- Änderungen
- aus der Ferne überprüfen
- Wahl
- Auswählen
- wählten
- gewählt
- eng
- Cloud
- Cloud-Sicherheit
- Code
- Programmierung
- Sammlung
- Kolonne
- COM
- gemeinsam
- vergleichen
- abschließen
- Komplex
- Berechnungen
- Berechnen
- Computer
- Computer Vision
- Konzepte
- betroffen
- Konfiguration
- Schichtannahme
- Konsul (Console)
- enthalten
- Inhalt
- Beiträge
- Smartgeräte App
- Koordinate
- und beseitigen Muskelschwäche
- Kosten
- könnte
- bedeckt
- erstellen
- erstellt
- schafft
- Erstellen
- Schaffung
- Kunden
- Zyklus
- Zyklische
- Unterricht
- technische Daten
- Datenmanagement
- Datenpunkte
- Datenwissenschaft
- Datenwissenschaftler
- Datensatz
- Datensätze
- Tag
- Tage
- entscheidet
- erklärt
- Standard
- defaults
- definiert
- Definiert
- Definition
- geliefert
- Abhängig
- hängt
- einsetzen
- Einsatz
- Bereitstellen
- Einsatz
- Implementierungen
- setzt ein
- Einzahlungen
- beschreiben
- beschrieben
- erwünscht
- Detail
- Details
- Bestimmen
- Entwickler
- Entwicklung
- anders
- schwer
- Abmessungen
- Größe
- Verzeichnisse
- diskutiert
- do
- Tut nicht
- erledigt
- herunterladen
- im
- jeder
- Früher
- einfacher
- entweder
- eliminiert
- freigegeben
- ermöglicht
- Ende
- End-to-End
- gewährleisten
- Enter
- Ganz
- Arbeitsumfeld
- Umgebungen
- Fehler
- schätzen
- etc
- bewerten
- Sogar
- Event
- Beispiel
- Ausführung
- existieren
- vorhandenen
- erwartet
- erwartet
- ERFAHRUNGEN
- exportieren
- erleichtert
- falsch
- vertraut
- Eigenschaften
- Feld
- Abbildung
- Reichen Sie das
- Mappen
- Einreichung
- gefüllt
- Endlich
- Revolution
- Finanzdienstleistungen
- Finden Sie
- Vorname
- Fokussierung
- folgen
- Folgende
- Aussichten für
- Prognose
- Prognosen
- Format
- weiter
- vorwärts
- vier
- Frequenz
- für
- voll
- Funktion
- Funktionen
- weiter
- Zukunft
- erzeugen
- erzeugt
- Erzeugung
- bekommen
- Global
- Go
- gehen
- regiert
- Graph
- groß
- Gruppe an
- Gruppen
- die Vermittlung von Kompetenzen,
- Guide
- glücklich
- Ernte
- Haben
- mit
- he
- Gesundheit
- Gesundheitspflege
- Hilfe
- Unternehmen
- hilft
- hier
- hoch
- seine
- historisch
- Horizont
- Horizons
- Stunde
- Ultraschall
- Hilfe
- aber
- HTML
- http
- HTTPS
- Ideen
- identifiziert
- identifizieren
- Identitätsschutz
- if
- zeigt
- implementieren
- importieren
- Importe
- in
- das
- Dazu gehören
- Einschließlich
- Branchen
- beeinflussen
- informieren
- Information
- Infrastruktur
- Anfangs-
- Initiativen
- Varianten des Eingangssignals:
- beantragen müssen
- in
- untersuchen
- beteiligt
- IT
- Artikel
- SEINE
- selbst
- Job
- Jobs
- jpg
- Wissen
- Wissen
- bekannt
- Land
- Nachname
- später
- neueste
- LERNEN
- lernen
- am wenigsten
- geführt
- Geführte Daten
- Lasst uns
- Lebenszyklus
- Gefällt mir
- Line
- wenig
- located
- Standorte
- Lang
- Verlust
- kostengünstig
- senken
- Maschine
- Maschinelles Lernen
- Maschinen
- gemacht
- Making
- verwalten
- verwaltet
- Management
- Manager
- Managed
- flächendeckende Gesundheitsprogramme
- manuell
- viele
- maximal
- Kann..
- Triff
- MENÜ
- Metadaten
- Methode
- Methoden
- Metrisch
- Metrik
- könnte
- Minimum
- Minute
- Kommt demnächst...
- ML
- Modell
- für
- ändern
- Überwachung
- monatlich
- mehr
- schlauer bewegen
- mehrere
- sollen
- Name
- Namen
- Navigieren
- Menü
- notwendig,
- Need
- Bedürfnisse
- Neu
- New York
- weiter
- nicht
- Notizbuch
- Benachrichtigung
- Benachrichtigungen
- jetzt an
- Anzahl
- und viele
- Objekt
- Objekte
- erhalten
- of
- on
- EINEM
- einzige
- XNUMXh geöffnet
- Open-Source-
- Optimieren
- Optionen
- or
- Auftrag
- Andere
- Andernfalls
- UNSERE
- Ergebnisse
- skizzierte
- Möglichkeiten für das Ausgangssignal:
- aussen
- übrig
- Gesamt-
- besitzen
- Seite
- Pandas
- Brot
- Parameter
- Parameter
- Teil
- Prozent
- Ausführen
- Leistung
- permanent
- Berechtigungen
- Fotografie
- physikalisch
- Pipeline
- Ort
- Platzierung
- Plan
- Plato
- Datenintelligenz von Plato
- PlatoData
- Punkte
- möglich
- Post
- vorhergesagt
- Vorhersage
- Prognose
- Prognosen
- Vorausschauende Analytik
- Predictor
- sagt voraus,
- Danach
- Gegenwart
- vorgeführt
- früher
- Principal
- Vor
- Prozessdefinierung
- Verarbeitet
- Verarbeitung
- produziert
- Produktion
- Professionell
- Programmatic
- Fortschritt
- die
- vorausgesetzt
- bietet
- Bereitstellung
- öffentlich
- Python
- Abfragen
- Fragen
- Direkt
- schnell
- Angebot
- schnell
- lieber
- Roh
- bereit
- erhalten
- empfehlen
- Rekord
- Aufzeichnungen
- wiederkehrend
- Veteran
- Reduzierung
- bezeichnet
- bezieht sich
- regulär
- bezogene
- verhältnismäßig
- relevant
- verlassen
- Entfernen
- wiederholbar
- WIEDERHOLT
- repetitiv
- falls angefordert
- Forschungsprojekte
- Forschung und Entwicklung
- reserviert
- federnde
- Auflösung
- Downloads
- was zu
- Die Ergebnisse
- Wiederverwendung
- Überprüfung
- Robotik
- Rollen
- Rollen
- Führen Sie
- Laufen
- gleich
- Beispieldatensatz
- zufrieden
- Skalieren
- Zeitplan
- Wissenschaft
- Wissenschaftler
- Wissenschaftler
- nahtlos
- Abschnitt
- Abschnitte
- Verbindung
- Sicherheitdienst
- sehen
- ausgewählt
- Auswahl
- Modellreihe
- Serverlos
- Fertige Server
- dient
- Lösungen
- kompensieren
- Einstellung
- von Locals geführtes
- Short
- sollte
- Konzerte
- signifikant
- Einfacher
- einfach
- da
- Single
- So
- Lösung
- Lösungen
- einige
- etwas
- Quelle
- Spezialist
- spezialisiert
- angegeben
- Verbreitung
- stabil
- Stapel
- Aufführung
- Standard
- Anfang
- begonnen
- Beginnen Sie
- Bundesstaat
- Status
- Schritt
- Shritte
- Lagerung
- speichern
- Strategie
- Schnur
- Struktur
- so
- Unterstützte
- System
- Systeme und Techniken
- Tabelle
- Nehmen
- nimmt
- Target
- Aufgabe
- und Aufgaben
- Teams
- Technologie
- Telekom
- Vorlage
- Vorlagen
- Test
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- Die Quelle
- Der Staat
- ihr
- Sie
- dann
- Dort.
- Diese
- fehlen uns die Worte.
- nach drei
- Durch
- während
- Zeit
- Zeitfolgen
- Zeitstempel
- zu
- gemeinsam
- Werkzeug
- Thema
- gegenüber
- Training
- trainiert
- Ausbildung
- Transformationen
- Übergang
- reisen
- auslösen
- was immer dies auch sein sollte.
- XNUMX
- tippe
- Typen
- typisch
- Unsicherheit
- für
- verstehen
- Bereiche
- Aktualisierung
- hochgeladen
- URL
- -
- Anwendungsfall
- benutzt
- Nutzer
- Verwendung von
- Wert
- Werte
- verschiedene
- sehr
- Seh-
- Besuchen Sie
- Visualisierung
- ging
- wollen
- wurde
- Weg..
- Wege
- we
- wöchentlich
- GUT
- Was
- wann
- ob
- welche
- breit
- Große Auswahl
- werden wir
- mit
- .
- ohne
- Word
- Arbeiten
- schreiben
- geschrieben
- Jahr
- York
- Du
- Ihr
- Zephyrnet
- PLZ