Trainingsparameter für Prognosemodelle

Auf dieser Seite finden Sie detaillierte Informationen zu den Parametern, die beim Training von Prognosemodellen verwendet werden. Informationen zum Trainieren eines Prognosemodells finden Sie unter Prognosemodell trainieren und Modell mit tabellarischem Workflow für Prognosen trainieren.

Methoden für das Modelltraining

Zum Trainieren Ihres Modells können Sie zwischen den folgenden Methoden wählen:

Zeitreihen-Dense-Encoder (TiDE): Optimiertes DNN Encoder-Decoder-Modell. Hervorragende Modellqualität mit schnellem Training und Inferenz, insbesondere bei langen Kontexten und Horizonten. Weitere Informationen

Temporal Fusion Transformer (TFT): DNN, das für hohe Genauigkeit und Interpretierbarkeit sorgt, indem das Modell an der allgemeinen Multi-Horizon-Prognoseaufgabe ausgerichtet wird. Weitere Informationen

AutoML (L2L): Eine gute Wahl für eine Vielzahl von Anwendungsfällen. Weitere Informationen

Seq2Seq+: Eine gute Wahl für Tests. Der Algorithmus konvergiert wahrscheinlich schneller als AutoML, da seine Architektur einfacher ist und einen kleineren Suchbereich verwendet. Unsere Experimente haben ergeben, dass Seq2Seq+ mit einem kleinen Budget und Datasets mit einer Größe von weniger als 1 GB gut funktioniert.

Featuretyp und Verfügbarkeit bei Prognose

Jede Spalte, die zum Trainieren eines Prognosemodells verwendet wird, muss einen Typ haben: Attribut oder Kovariate. Kovarianzen werden zum Zeitpunkt der Prognose als verfügbar oder nicht verfügbar definiert.

Serientyp Bei der Prognose verfügbar Beschreibung Beispiele API-Felder
Attribut Verfügbar Ein Attribut ist ein statisches Merkmal, das sich nicht im Laufe der Zeit ändert. Artikelfarbe, Produktbeschreibung. time_series_attribute_columns
Kovariate Verfügbar

Eine exogene Variable, die sich im Laufe der Zeit voraussichtlich ändert. Eine Kovariate, die zum Prognosezeitpunkt verfügbar ist, ist ein Hauptindikator.

Sie müssen Vorhersagedaten für diese Spalte für jeden Punkt im Prognosezeitraum angeben.

Feiertage, geplante Werbeaktionen oder Veranstaltungen available_at_forecast_columns
Kovariate Nicht verfügbar Eine Kovarianz, die nicht zur Prognose verfügbar ist. Sie müssen keine Werte für diese Features angeben, wenn Sie eine Prognose erstellen. Tatsächliches Wetter. unavailable_at_forecast_columns

Weitere Informationen zur Beziehung zwischen der Verfügbarkeit von Features und dem Prognosezeitraum, dem Kontextfenster und dem Prognosefenster

Prognosezeitraum, Kontextfenster und Prognosefenster

Prognosefeatures sind in statische Attribute und zeitvariante Kovariate unterteilt.

Wenn Sie ein Prognosemodell trainieren, müssen Sie angeben, welche Kovariate der Trainingsdaten am wichtigsten ist, um sie zu erfassen. Dies wird in Form eines Prognosefensters ausgedrückt, das aus einer Reihe von Zeilen besteht, die sich so zusammensetzen:

  • Der Kontext oder die Verlaufsdaten bis zur Zeit der Vorhersage.
  • Der Prognosezeitraum oder die Zeilen, die für Vorhersagen verwendet werden.

Insgesamt definieren die Zeilen im Fenster eine Zeitreiheninstanz, die als Modelleingabe dient: Dies ist, was Vertex AI trainiert, bewertet und für Vorhersagen verwendet. Die Zeile, die zum Generieren des Fensters verwendet wird, ist die erste Zeile des Horizons und identifiziert das Fenster in der Zeitreihe.

Der Prognosezeitraum bestimmt, wie weit das Modell den Zielwert für jede Zeile mit Vorhersagedaten prognostiziert.

Das Kontextfenster legt fest, wie weit das Modell während des Trainings (und für Prognosen) zurückblickt. Mit anderen Worten: Für jeden Trainingsdatenpunkt bestimmt das Kontextfenster, wie weit das Modell nach Vorhersagemustern sucht. Best Practices für die Suche nach einem guten Wert für das Kontextfenster.

Beispiel: Wenn Kontextfenster = 14 und Prognosezeitraum = 7 ist, hat jedes Fensterbeispiel 14 + 7 = 21 Zeilen.

Verfügbarkeit zur Prognose

Die Prognosekovarianzen lassen sich in solche unterteilen, die zur Zeit der Prognose verfügbar, und solche, die zur Prognosezeit nicht verfügbar sind.

Beim Umgang mit Kovarianzen, die zur Zeit der Prognose verfügbar sind, berücksichtigt Vertex AI Kovarianzwerte aus dem Kontextfenster und aus dem Prognosehorizont für Training, Bewertung und Vorhersage. Beim Umgang mit Kovarianzen, die zur Zeit der Prognose nicht verfügbar sind, berücksichtigt Vertex AI die Kovarianzwerte aus dem Kontextfenster, schließt aber Kovarianzwerte aus dem Prognosehorizont explizit aus.

Rollierende Fensterstrategien

Vertex AI generiert anhand einer rollierenden Fensterstrategie Prognosefenster aus den Eingabedaten. Die Standardstrategie ist Anzahl.

  • Anzahl. Die Anzahl der von Vertex AI generierten Fenster darf das vom Nutzer bereitgestellte Maximum nicht überschreiten. Wenn die Anzahl der Zeilen im Eingabe-Dataset kleiner als die maximale Anzahl der Fenster ist, wird jede Zeile zum Generieren eines Fensters verwendet. Andernfalls führt Vertex AI eine zufällige Stichprobe zur Auswahl der Zeilen durch. Der Standardwert für die maximale Anzahl an Zeitfenstern ist 100,000,000. Die maximale Anzahl von Fenstern darf 100,000,000 nicht überschreiten.
  • Schritt. Vertex AI verwendet eine von jeder X-Eingabezeile, um ein Fenster zu generieren. Die Maximalzahl ist 100.000.000 Fenster. Diese Option ist für saisonale oder regelmäßige Vorhersagen nützlich. Sie können beispielsweise die Prognose auf einen einzelnen Wochentag beschränken. Dazu setzen Sie den Wert der Schrittlänge auf 7. Der Wert kann im Bereich von 1 bis 1000 liegen.
  • Spalte. Sie können Ihren Eingabedaten eine Spalte hinzufügen, in der die Werte entweder True oder False sind. Vertex AI generiert ein Fenster für jede Eingabezeile, in der der Wert der Spalte True ist. Die Werte True und False können in beliebiger Reihenfolge festgelegt werden, solange die Gesamtzahl der True-Zeilen unter 100,000,000 liegt. Boolesche Werte werden bevorzugt, aber auch Stringwerte sind zulässig. Bei den Stringwerten wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Wenn Sie weniger als die standardmäßigen 100,000,000-Fenster generieren, können Sie die Zeit benötigt für die Vorverarbeitung und die Modellbewertung reduzieren. Darüber gibt Ihnen das Fenster-Downsampling mehr Kontrolle über die Verteilung der Fenster, die während des Trainings angezeigt werden. Bei korrekter Verwendung können so bessere und konsistentere Ergebnisse erzielt werden.

Wie das Kontextfenster und der Prognosezeitraum während des Trainings und der Prognose verwendet werden

Angenommen, Sie haben Daten, die monatlich erfasst werden, mit einem Kontextfenster von 5 (Monaten) und einem Prognosezeitraum von 5 (Monate). Das Training Ihres Modells mit zwölf Monaten Daten würde zu den folgenden Gruppen von Eingaben und Prognosen führen:

  • [1-5]:[6-10]
  • [2-6]:[7-11]
  • [3-7]:[8-12]

Nach dem Training kann das Modell zur Vorhersage von den Monaten 13 bis 17 verwendet werden:

  • [8-12]:[13-17]

Das Modell verwendet nur die Daten, die in das Kontextfenster fallen, um die Prognose zu erstellen. Alle von Ihnen angegebenen Daten, die nicht in das Kontextfenster fallen, werden ignoriert.

Nachdem Daten für den 13. Monat erfasst wurden, können sie für die Vorhersage bis zum 18. Monat verwendet werden:

  • [9-13]:[14-18]

Dies kann in der Zukunft fortgesetzt werden, solange Sie gute Ergebnisse erzielen. Sie können das Modell schließlich mit den neuen Daten neu trainieren. Wenn Sie beispielsweise das Modell nach dem Hinzufügen von sechs weiteren Daten neu trainiert haben, werden die Trainingsdaten so verwendet:

  • [2-6]:[7-11]
  • [3-7]:[8-12]
  • [4-8]:[9-13]
  • [5-9]:[10-14]
  • [6-10]:[11-15]
  • [7-11]:[12-16]
  • [8-12]:[13-17]
  • [9-13]:[14-18]

Sie könnten dann das Modell verwenden, um die Monate 19 bis 23 vorherzusagen:

  • [14-18]:[19-23]

Optimierungsziele für Prognosemodelle

Wenn Sie ein Modell trainieren, wählt Vertex AI ein Standardoptimierungsziel basierend auf Ihrem Modelltyp und dem für die Zielspalte verwendeten Datentyp aus. Die folgende Tabelle enthält einige Details dazu, für welche Arten von Problemen Prognosemodelle am besten geeignet sind:

Optimierungsziel API-Wert Zweck
RMSE minimize-rmse Wurzel des mittleren quadratischen Fehlers (RMSE) minimieren. Erfasst Extremwerte genau und ist weniger verzerrt, wenn die Vorhersagen aggregiert werden. Standardwert
MAE minimize-mae Mittleren absoluten Fehler (MAE) minimieren. Extremwerte als Ausreißer mit geringerem Einfluss auf das Modell ansehen.
RMSLE minimize-rmsle Wurzel des mittleren quadratischen Logfehlers (RMSLE) minimieren. Abzüge für Fehler nach der relativen Größe statt des absoluten Werts vornehmen. Dies ist hilfreich, wenn sowohl die vorhergesagten als auch die tatsächlichen Werte groß werden können.
RMSPE minimize-rmspe Wurzel des mittleren quadratischen Prozentfehlers (RMSPE). Erfasst einen großen Bereich von Werten genau. Ähnlich wie RMSE, aber relativ zur Zielhöhe. Dies ist hilfreich, wenn der Wertebereich groß ist.
WAPE minimize-wape-mae Minimieren Sie die Kombination aus gewichtetem absoluten Prozentfehler (WAPE) und mittlerem absoluten Fehler (MAE). Dies ist hilfreich, wenn die tatsächlichen Werte niedrig sind.
Quantilverlust minimize-quantile-loss Minimieren Sie den skalierten Pinball-Verlust der definierten Quantile, um die Unsicherheit bei Schätzungen zu quantifizieren. Quantilvorhersagen quantifizieren die Unsicherheit von Vorhersagen. Sie messen die Wahrscheinlichkeit, dass eine Vorhersage in einem bestimmten Bereich liegt.

Feiertagsregionen

In bestimmten Anwendungsfällen können die Prognosedaten an Tagen, die regionalen Feiertagen entsprechen, ein unregelmäßiges Verhalten aufweisen. Wenn Ihr Modell diesen Effekt berücksichtigen soll, wählen Sie die geografische Region oder die Regionen aus, die Ihren Eingabedaten entsprechen. Während des Trainings erstellt Vertex AI innerhalb des Modells kategoriale Features basierend auf dem Datum aus der Zeitspalte und den angegebenen geografischen Regionen.

Im Folgenden sehen Sie einen Auszug aus den kategorialen Features von Terminen und Feiertagen für die USA. Ein kategoriales Feature wird dem primären Datum, einem oder mehreren Tagen vor dem Feiertag und einem oder mehreren Tagen nach den Feiertagen zugeordnet. Zum Beispiel war das Hauptdatum für den Muttertag in den USA im Jahr 2013 der 12. Mai. Die Muttertagsmerkmale sind dem Hauptdatum, sechs Vorfeiertagen und einem Nachfeiertag zugeordnet.

Datum Kategoriales Feature für Feiertage
2013-05-06Muttertag
2013-05-07Muttertag
2013-05-08Muttertag
2013-05-09Muttertag
2013-05-10Muttertag
2013-05-11Muttertag
2013-05-12Muttertag
2013-05-13Muttertag
2013-05-26US_MemorialDay
2013-05-27US_MemorialDay
2013-05-28US_MemorialDay

Folgende Werte sind für Regionen mit Feiertagen akzeptabel:

  • GLOBAL: Erkennt Feiertage für alle Weltregionen.
  • NA: Erkennt Feiertage für Nordamerika.
  • JAPAC: Erkennt Feiertage für Japan und den asiatisch-pazifischen Raum.
  • EMEA: Erkennt Feiertage für Europa, den Nahen Osten und Afrika.
  • LAC: Erkennt Feiertage für Lateinamerika und die Karibik.
  • ISO 3166-1-Ländercodes: Erkennt Feiertage für einzelne Länder.

Eine vollständige Liste der Feiertage für jede geografische Region finden Sie in der Tabelle holidays_and_events_for_forecasting in BigQuery. So können Sie diese Tabelle über die Google Cloud Console öffnen:

  1. Rufen Sie in der Google Cloud Console im Bereich „BigQuery“ die Seite BigQuery Studio auf.

    Zu BigQuery Studio

  2. Öffnen Sie im Bereich Explorer das Projekt bigquery-public-data. Wenn Sie dieses Projekt nicht finden oder weitere Informationen benötigen, lesen Sie den Hilfeartikel Öffentliches Dataset öffnen.
  3. Öffnen Sie das Dataset ml_datasets.
  4. Öffnen Sie die Tabelle holidays_and_events_for_forecasting.

Im Folgenden finden Sie einen Auszug aus der Tabelle holidays_and_events_for_forecasting:

Feiertage für Prognosen – Beispiel