So funktioniert der DeepAR-Algorithmus - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

So funktioniert der DeepAR-Algorithmus

DeepAR verwendet für die Schulung einen Trainingsdatensatz und optional einen Testdatensatz. Der Testdatensatz wird zur Bewertung des geschulten Modells verwendet. Im Allgemeinen müssen das Schulungs- und Trainingsdatensatz nicht dieselben Zeitreihen enthalten. Sie können das mit einem bestimmten Trainingsdatensatz geschulte Modell nutzen, um Prognosen für künftige Versionen der Zeitreihe im Trainingsdatensatz sowie für andere Zeitreihen zu erstellen. Sowohl der Trainings- als auch der Testdatensatz enthalten (vorzugsweise mehr als) eine Ziel-Zeitreihe. Jede Ziel-Zeitreihe kann optional mit einem Vektor von Funktionszeitreihen und einem Vektor kategorischer Features verknüpft werden. Weitere Informationen finden Sie unter Eingabe/Ausgabe-Schnittstelle für den DeepAR-Algorithmus.

Das folgende Beispiel ist ein Element eines durch i indizierten Trainingssatzes, der aus einer Zielzeitreihe Zi,t und zwei dazugehörigen Feature-Zeitreihen Xi,1,t und Xi,2,t besteht:


                Abbildung 1: Ziel-Zeitreihen und zugehörige Funktionszeitreihen

Die Ziel-Zeitreihe kann fehlende Werte enthalten, die durch Zeilenumbrüche in der Zeitreihe dargestellt werden. DeepAR unterstützt nur Funktionszeitreihen, die in der Zukunft bekannt sind. Damit können Sie „What-if“ -Szenarien durchspielen. Was passiert beispielsweise, wenn ich den Preis eines Produkts anpasse?

Jede Ziel-Zeitreihe kann auch einer Reihe von kategorischen Features zugeordnet werden. Sie können diese Funktionen verwenden, um zu codieren, an welche Gruppierungen eine Zeitreihe gebunden ist. Mithilfe von kategorischen Features kann das Modell typische Verhaltensweisen für Gruppen erlernen und so genauere Prognosen erstellen. Dies wird in DeepAR implementiert, indem das Modell für jede Gruppe, die die allgemeinen Eigenschaften aller Zeitreihen in der Gruppe erfasst, einen eingebetteten Vektor lernt.

So funktionieren Funktionszeitreihen im DeepAR-Algorithmus

Um das Erlernen zeitabhängiger Muster wie Spitzen an Wochenenden zu vereinfachen, erstellt DeepAR automatisch Funktionszeitreihen basierend auf der Häufigkeit der Ziel-Zeitreihen. Diese abgeleiteten Funktionszeitreihen werden mit der benutzerdefinierten Funktionszeitreihe verwendet, die Sie während der Schulung und Inferenz bereitstellen. Die folgende Abbildung zeigt zwei dieser abgeleiteten Zeitreihen-Features: ui,1,t steht für die Uhrzeit und ui,2,t für den Wochentag.


                    Abbildung 2: Abgeleitete Zeitreihen

Der DeepAR-Algorithmus generiert diese Funktionszeitreihen automatisch. In der folgenden Tabelle sind die abgeleiteten Funktionen für die unterstützten Basiszeithäufigkeiten aufgeführt.

Häufigkeit der Zeitreihe Abgeleitete Funktionen
Minute

minute-of-hour, hour-of-day, day-of-week, day-of-month, day-of-year

Hour

hour-of-day, day-of-week, day-of-month, day-of-year

Day

day-of-week, day-of-month, day-of-year

Week

day-of-month, week-of-year

Month

Monat des Jahres

Für die Schulung eines DeepAR-Modells werden zufällige Stichproben verschiedener Schulungsbeispiele aus den einzelnen Zeitreihen des Trainingsdatensatzes verwendet. Jedes Schulungsbeispiel besteht aus einem Paar benachbarter Kontext- und Prognosefenstern mit festen vordefinierten Längen. Mithilfe des Hyperparameters context_length wird festgelegt, wie weit in die Vergangenheit das Netzwerk blicken kann. Ebenso wird mit dem Hyperparameter prediction_length festgelegt, wie weit in der Zukunft Prognosen vorgenommen werden können. Während der Schulung ignoriert der Algorithmus Dataset-Elemente mit Zeitreihen, die kürzer sind als die angegebene Prognoselänge. In der folgenden Abbildung sehen Sie fünf Stichproben mit Kontextlängen von 12 Stunden und Prognoselängen von 6 Stunden, die dem Element i entnommen sind. Der Kürze halber haben wir die Feature-Zeitreihen xi,1,t und ui,2,t weggelassen.


                    Abbildung 3: Stichproben-Zeitreihen

Um saisonal bedingte Muster zu erfassen, stellt DeepAR automatisch verzögerte Werte aus der Ziel-Zeitreihe bereit. Im Beispiel mit stündlicher Häufigkeit gibt das Modell für jeden Zeitindex t = T die zi,t-Werte an, die etwa einen, zwei und drei Tage in der Vergangenheit lagen.


                    Abbildung 4: Verzögerte Zeitreihen

Bei der Inferenz zieht das geschulte Modell die Ziel-Zeitreihe als Eingabe heran (diese kann während der Schulung genutzt worden sein) und generiert eine Prognose mit einer Wahrscheinlichkeitsverteilung für die nächsten prediction_length Werte. Da DeepAR mit dem gesamten Dataset geschult wurde, werden bei der Prognose erlernte Muster aus ähnlichen Zeitreihen berücksichtigt.

Informationen zur Mathematik hinter DeepAR finden Sie unter DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks.