CNN-QR-Algorithmus - Amazon Forecast

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.

CNN-QR-Algorithmus

Amazon Forecast CNN-QR, Convolutional Neural Network — Quantile Regression, ist ein proprietärer Algorithmus für maschinelles Lernen zur Prognose skalarer (eindimensionaler) Zeitreihen unter Verwendung kausaler Konvolutional Neural Networks (CNNs). Dieser Algorithmus für überwachtes Lernen trainiert ein globales Modell aus einer großen Sammlung von Zeitreihen und verwendet einen Quantildecoder, um probabilistische Vorhersagen zu treffen.

Erste Schritte mit CNN-QR

Sie können einen Prädiktor mit CNN-QR auf zwei Arten trainieren:

  1. Manuelles Auswählen des CNN-QR-Algorithmus.

  2. Wählen Sie AutoML (CNN-QR ist Teil von AutoML).

Wenn Sie sich nicht sicher sind, welcher Algorithmus Sie verwenden sollen, empfehlen wir, AutoML auszuwählen. Forecast wählt CNN-QR aus, wenn es sich um den genauesten Algorithmus für Ihre Daten handelt. Um festzustellen, ob CNN-QR als das genaueste Modell ausgewählt wurde, verwenden Sie entweder die DescribePredictorAPI oder wählen Sie den Prädiktornamen in der Konsole.

Hier sind einige wichtige Anwendungsfälle für CNN-QR:

  • Forecast mit großen und komplexen Datensätzen — CNN-QR funktioniert am besten, wenn es mit großen und komplexen Datensätzen trainiert wird. Das neuronale Netzwerk kann in vielen Datensätzen lernen, was nützlich ist, wenn Sie über zugehörige Zeitreihen- und Elementmetadaten verfügen.

  • Forecast mit historischen Zeitreihen — CNN-QR benötigt keine zugehörigen Zeitreihen, um Datenpunkte innerhalb des Prognosehorizonts zu enthalten. Diese zusätzliche Flexibilität ermöglicht es Ihnen, ein breiteres Spektrum verwandter Zeitreihen und Artikelmetadaten einzubeziehen, z. B. Artikelpreis, Ereignisse, Webmetriken und Produktkategorien.

So funktioniert CNN-QR

CNN-QR ist ein sequence-to-sequence (Seq2Seq) Modell für probabilistische Prognosen, das testet, wie gut eine Vorhersage die Dekodierungssequenz rekonstruiert, abhängig von der Kodierungssequenz.

Der Algorithmus ermöglicht unterschiedliche Merkmale in den Kodierungs- und Dekodierungssequenzen, sodass Sie eine verwandte Zeitreihe im Encoder verwenden und sie aus dem Decoder weglassen können (und umgekehrt). Standardmäßig werden zugehörige Zeitreihen mit Datenpunkten im Prognosehorizont sowohl im Encoder als auch im Decoder enthalten. Verwandte Zeitreihen ohne Datenpunkte im Prognosehorizont werden nur in den Encoder aufgenommen.

CNN-QR führt eine Quantilregression durch, wobei ein hierarchisches kausales CNN als Extraktor für erlernbare Merkmale dient.

Um das Erlernen zeitabhängiger Muster wie Spitzen an Wochenenden zu erleichtern, erstellt CNN-QR automatisch Feature-Zeitreihen auf der Grundlage der Granularität von Zeitreihen. CNN-QR erstellt beispielsweise zwei Feature-Zeitreihen (day-of-month und day-of-year) mit einer wöchentlichen Zeitreihenfrequenz. Der Algorithmus verwendet diese abgeleiteten Feature-Zeitreihen zusammen mit den benutzerdefinierten Feature-Zeitreihen, die während des Trainings und der Inferenz bereitgestellt wurden. Das folgende Beispiel zeigt eine Zielzeitreihe und zwei abgeleitete Zeitreihenfunktionen:ui,1,t stellt die Stunde des Tages und den Wochentagui,2,t dar.zi,t


                Bild: CNN-QR mit abgeleiteten Merkmalen für Zeitfrequenzen.

CNN-QR bezieht diese Feature-Zeitreihen automatisch auf der Grundlage der Datenfrequenz und der Größe der Trainingsdaten ein. In der folgenden Tabelle sind die Funktionen aufgeführt, die für jede unterstützte Basiszeithäufigkeit abgeleitet werden können.

Häufigkeit der Zeitreihe Abgeleitete Funktionen
Minute minute-of-hour, hour-of-day, day-of-week, day-of-month, day-of-year
Stunde hour-of-day, day-of-week, day-of-month, day-of-year
Tag day-of-week, day-of-month, day-of-year
Woche week-of-month, week-of-year
Monat month-of-year

Während des Trainings besteht jede Zeitreihe im Trainingsdatensatz aus zwei benachbarten Kontext- und Prognosefenstern mit festen vordefinierten Längen. Dies ist in der Abbildung unten dargestellt, wo das Kontextfenster grün und das Prognosefenster blau dargestellt ist.

Sie können ein Modell verwenden, das mit einem bestimmten Trainingssatz trainiert wurde, um Vorhersagen für Zeitreihen im Trainingssatz und für andere Zeitreihen zu generieren. Der Trainingsdatensatz besteht aus einer Zielzeitreihe, die einer Liste verwandter Zeitreihen und Elementmetadaten zugeordnet werden kann.

Die folgende Abbildung zeigt, wie dies für ein Element eines Trainingsdatensatzes funktioniert, das von indexiert isti. Der Trainingsdatensatz besteht aus einer Zielzeitreihe und zwei zugehörigen zugehörigen Zeitreihen,xi,1,t undxi,2,t.zi,t Die erste verwandte Zeitreihe,xi,1,t, ist eine zukunftsgerichtete Zeitreihe, und die zweite,xi,2,t, ist eine historische Zeitreihe.


                Bild: CNN-QR mit historischen und zukunftsweisenden verwandten Zeitreihen

CNN-QR lernt über die Zielzeitreihe und die zugehörigen Zeitreihen hinwegxi,1,t undxi,2,t, um Prognosen im Prognosefenster zu generieren, die durch die orange Linie dargestellt werden.zi,t

Verwenden verwandter Daten mit CNN-QR

CNNQR unterstützt sowohl historische als auch zukunftsgerichtete Zeitreihendatensätze. Wenn Sie einen zukunftsgerichteten Datensatz für verwandte Zeitreihen angeben, wird jeder fehlende Wert mit der future Füllmethode gefüllt. Weitere Informationen zu historischen und zukunftsgerichteten Zeitreihen finden Sie unter Verwenden verwandter Zeitreihendatensätze.

Sie können Artikel-Metadaten-Datensätze auch mit CNN-QR verwenden. Dies sind Datensätze mit statischen Informationen zu den Elementen in Ihrer Zielzeitreihe. Elementmetadaten sind besonders nützlich für Coldstart-Prognoseszenarien, in denen nur wenige bis keine historischen Daten vorliegen. Weitere Informationen zu Artikelmetadaten finden Sie unter Artikelmetadaten.

CNN-QR-Hyperparameter

Amazon Forecast optimiert CNN-QR-Modelle für ausgewählte Hyperparameter. Wenn Sie CNN-QR manuell auswählen, haben Sie die Möglichkeit, Trainingsparameter für diese Hyperparameter zu übergeben. In der folgenden Tabelle sind die einstellbaren Hyperparameter des CNN-QR-Algorithmus aufgeführt.

Parametername Werte Beschreibung
context_length
Zulässige Werte

Positive Ganzzahlen

Gültiger Bereich

10 bis 500

Typische Werte

2 *ForecastHorizon bis 12 *ForecastHorizon

HPO optimierbar

Ja

Die Anzahl der Zeitpunkte, die das Modell liest, bevor Vorhersagen getroffen werden. Normalerweise hat CNN-QR größere Werte fürcontext_length als DeePar+, da CNN-QR keine Lags verwendet, um weitere historische Daten zu betrachten.

Wenn der Wert für außerhalb eines vordefinierten Bereichscontext_length liegt, setzt CNN-QR den Standardwert automatischcontext_length auf einen entsprechenden Wert.

use_related_data
Zulässige Werte

ALL

NONE

HISTORICAL

FORWARD_LOOKING

Standardwert

ALL

HPO optimierbar

Ja

Legt fest, welche Arten von verwandten Zeitreihendaten in das Modell aufgenommen werden sollen.

Wählen Sie eine von vier Optionen:

  • ALL: Schließt alle bereitgestellten zugehörigen Zeitreihen ein.

  • NONE: Schließt alle bereitgestellten zugehörigen Zeitreihen aus.

  • HISTORICAL: Schließt nur verwandte Zeitreihen ein, die sich nicht bis in den Prognosehorizont erstrecken.

  • FORWARD_LOOKING: Schließt nur verwandte Zeitreihen ein, die sich bis in den Prognosehorizont erstrecken.

HISTORICALumfasst alle historischen Zeitreihen undFORWARD_LOOKING umfasst alle zukunftsgerichteten Zeitreihen. Sie können keine Teilmenge vonHISTORICAL oderFORWARD_LOOKING verwandte Zeitreihen auswählen.

use_item_metadata
Zulässige Werte

ALL

NONE

Standardwert

ALL

HPO optimierbar

Ja

Legt fest, ob das Modell Elementmetadaten enthält.

Wählen Sie eine von zwei Optionen:

  • ALL: Schließt alle bereitgestellten Artikelmetadaten ein.

  • NONE: Schließt alle bereitgestellten Elementmetadaten aus.

use_item_metadataenthält entweder alle bereitgestellten Elementmetadaten oder keine. Sie können keine Teilmenge der Elementmetadaten auswählen.

epochs
Zulässige Werte

Positive Ganzzahlen

Typische Werte

10 bis 1.000

Standardwert

100

HPO optimierbar

Nein

Die maximale Anzahl abgeschlossener Durchläufe durch die Schulungsdaten. Kleinere Datensätze benötigen mehr Epochen.

Bei großen Werten vonForecastHorizon und sollten Sie erwägencontext_length, die Epochen zu verringern, um die Trainingszeit zu verbessern.

Hyperparameter-Optimierung (HPO)

Hyperparameter-Optimierung (HPO) ist die Aufgabe, die optimalen Hyperparameterwerte für ein bestimmtes Lernziel auszuwählen. Mit Forecast können Sie diesen Prozess auf zwei Arten automatisieren:

  1. Wenn Sie AutoML wählen, wird HPO automatisch für CNN-QR ausgeführt.

  2. Manuelles Auswählen von CNN-QR und EinstellungPerformHPO = TRUE.

Zusätzliche zugehörige Zeitreihen- und Artikelmetadaten verbessern nicht immer die Genauigkeit Ihres CNN-QR-Modells. Wenn Sie AutoML ausführen oder HPO aktivieren, testet CNN-QR die Genauigkeit Ihres Modells mit und ohne die bereitgestellten zugehörigen Zeitreihen- und Elementmetadaten und wählt das Modell mit der höchsten Genauigkeit aus.

Amazon Forecast optimiert während des HPO automatisch die folgenden drei Hyperparameter und stellt Ihnen die endgültigen trainierten Werte zur Verfügung:

  • context_length — bestimmt, wie weit das Netzwerk in die Vergangenheit blicken kann. Der HPO-Prozess legt automatisch einen Wert festcontext_length, der die Modellgenauigkeit maximiert und gleichzeitig die Trainingszeit berücksichtigt.

  • use_related_data — bestimmt, welche Formen verwandter Zeitreihendaten in Ihr Modell aufgenommen werden sollen. Der HPO-Prozess überprüft automatisch, ob Ihre zugehörigen Zeitreihendaten das Modell verbessern, und wählt die optimale Einstellung aus.

  • use_item_metadata — bestimmt, ob Elementmetadaten in Ihr Modell aufgenommen werden sollen. Der HPO-Prozess überprüft automatisch, ob Ihre Artikelmetadaten das Modell verbessern, und wählt die optimale Einstellung aus.

Anmerkung

Wenn dieHoliday Zusatzfunktion aktiviertuse_related_data istNONE oderHISTORICAL wenn sie ausgewählt ist, bedeutet dies, dass die Einbeziehung von Urlaubsdaten die Modellgenauigkeit nicht verbessert.

Sie können die HPO-Konfiguration für dencontext_length Hyperparameter festlegen, wenn Sie siePerformHPO = TRUE bei der manuellen Auswahl einstellen. Sie können jedoch keinen Aspekt der HPO-Konfiguration ändern, wenn Sie AutoML wählen. Weitere Informationen zur HPO-Konfiguration finden Sie in der IntergerParameterRangeAPI.

Tipps und bewährte Methoden

Vermeiden Sie große Werte für ForecastHorizon — Die Verwendung von Werten über 100ForecastHorizon erhöht die Trainingszeit und kann die Modellgenauigkeit verringern. Wenn Sie Prognosen für einen Zeitpunkt weiter in der Zukunft erstellen wollen, sollten Sie Daten für eine höhere Häufigkeit aggregieren. Verwenden Sie z. B. 5min statt 1min.

CNNs ermöglichen eine höhere Kontextlänge - Mit CNN-QR können Sie diecontext_length etwas höhere als die für DeePar+ einstellen, da CNNs im Allgemeinen effizienter sind als RNNs.

Feature-Engineering verwandter Daten — Experimentieren Sie beim Training Ihres Modells mit verschiedenen Kombinationen verwandter Zeitreihen und Elementmetadaten und beurteilen Sie, ob die zusätzlichen Informationen die Genauigkeit verbessern. Verschiedene Kombinationen und Transformationen verwandter Zeitreihen und Elementmetadaten führen zu unterschiedlichen Ergebnissen.

CNN-QR prognostiziert nicht mit dem mittleren Quantil — Wenn Sie diesmean mit der CreateForecastAPI festlegenForecastTypes, werden Prognosen stattdessen mit dem Medianquantil (0.5oderP50) generiert.