0 / 0
Zurück zur englischen Version der Dokumentation
Details der Zeitreihenimplementierung
Letzte Aktualisierung: 04. Okt. 2024
Details der Zeitreihenimplementierung

Diese Implementierungsdetails beschreiben die Phasen und die Verarbeitung, die für ein AutoAI -Zeitreihenexperiment spezifisch sind.

Implementierungsdetails

Lesen Sie diese Implementierungs-und Konfigurationsdetails für Ihr Zeitreihenexperiment.

Zeitreihenphasen

Bei der Ausführung eines AutoAI-Zeitreihenexperiments gibt es folgende Phasen:

  1. Initialisierung
  2. Pipelineauswahl
  3. Modellevaluierung
  4. Generierung der endgültigen Pipelines
  5. Backtest

Stufe 1: Initialisierung

In der Initialisierungsphase werden die Trainingsdaten in der folgenden Reihenfolge verarbeitet:

  • Daten laden
  • Dataset L in Trainingsdaten T und Holdout-Daten H aufteilen
  • Legen Sie die Validierung, die Behandlung von Zeitmarkenspalten und die Generierung des Lookback-Fensters fest. Hinweise:
    • Die Trainingsdaten (T) entsprechen dem Dataset (L) minus dem Holdout (H). Wenn Sie das Experiment konfigurieren, können Sie die Größe der Holdout-Daten anpassen. Standardmäßig beträgt die Größe der Holdout-Daten 20 Schritte.
    • Sie können optional die Zeitmarkenspalte angeben.
    • Standardmäßig wird ein Lookback-Fenster automatisch generiert, indem die saisonale Periode mithilfe der Signalverarbeitungsmethode erkannt wird. Wenn Sie jedoch eine Vorstellung von einem geeigneten Rückschaufenster haben, können Sie den Wert direkt angeben.

Phase 2: Pipeline-Auswahl

Der Pipelineauswahlschritt verwendet eine effiziente Methode namens T-Daub (Time Series Data Allocation Using Upper Bounds). Die Methode wählt Pipelines aus, indem sie mehr Trainingsdaten zu den am meisten zusagenden Pipelines zuordnet, während weniger Trainingsdaten zu nicht zusagenden Pipelines zugeordnet werden. Auf diese Weise sehen nicht alle Pipelines den vollständigen Datensatz und der Auswahlprozess ist in der Regel schneller. Die folgenden Schritte beschreiben die Prozessübersicht:

  1. Alle Pipelines werden nacheinander mehreren kleinen Untergruppen von Trainingsdaten zugeordnet. Die neuesten Daten werden zuerst zugeordnet.
  2. Jede Pipeline wird für jede zugeordnete Untergruppe von Trainingsdaten trainiert und mit Testdaten (Holdout-Daten) ausgewertet.
  3. Ein lineares Regressionsmodell wird auf jede Pipeline angewendet, indem das im vorherigen Schritt beschriebene Dataset verwendet wird.
  4. Die Genauigkeitsbewertung der Pipeline wird für das gesamte Trainingsdataset projiziert. Diese Methode führt zu einem Dataset, das die Genauigkeit und Größe der zugeordneten Daten für jede Pipeline enthält.
  5. Die beste Pipeline wird entsprechend der projizierten Genauigkeit und dem zugewiesenen Rang 1 ausgewählt.
  6. Mehr Daten werden der besten Pipeline zugeordnet. Anschließend wird die projizierte Genauigkeit für die anderen Pipelines aktualisiert.
  7. Die beiden vorherigen Schritte werden wiederholt, bis die obersten N Pipelines für alle Daten trainieren.

Stufe 3: Modellevaluierung

In diesem Schritt werden die erfolgreichen Pipelines N für das gesamte Trainingsdataset Terneut trainiert. Darüber hinaus werden sie mit den Holdout-Daten Hausgewertet.

Stufe 4: Endgültige Pipelinegenerierung

In diesem Schritt werden die Gewinnerpipelines im gesamten Dataset (L) erneut trainiert und als endgültige Pipelines generiert.

Wenn das erneute Training jeder Pipeline abgeschlossen ist, wird die Pipeline an die Bestenliste übergeben. Sie können die Pipelinedetails überprüfen oder die Pipeline als Modell speichern.

Stufe 5: Backtest

Im letzten Schritt werden die Gewinnerpipelines mithilfe der Backtest-Methode erneut trainiert und ausgewertet. Die folgenden Schritte beschreiben die Methode "backtest":

  1. Die Länge der Trainingsdaten wird anhand der Anzahl der Backtests, der Länge der Lücke und der Holdout-Größe bestimmt. Weitere Informationen zu diesen Parametern finden Sie unter Experiment für Zeitreihen erstellen.
  2. Ausgehend von den ältesten Daten wird das Experiment mithilfe der Trainingsdaten trainiert.
  3. Außerdem wird das Experiment im ersten Validierungsdataset ausgewertet. Wenn die Länge der Lücke ungleich null ist, werden alle Daten in der Lücke übersprungen.
  4. Das Fenster für Trainingsdaten wird erweitert, indem die Holdout-Größe und die Spaltlänge erhöht werden, um ein neues Trainingsset zu bilden.
  5. Ein neues Experiment wird mit diesen neuen Daten trainiert und mit dem nächsten Validierungsdataset ausgewertet.
  6. Die beiden vorherigen Schritte werden für die verbleibenden Rücktestzeiträume wiederholt.

Optimierungsmetriken für Zeitreihen

Akzeptieren Sie die Standardmetrik oder wählen Sie eine Metrik zur Optimierung Ihres Experiments aus.

Metrik Beschreibung
Symmetrischer mittlerer absoluter Fehler in Prozent (Symmetric Mean Absolute Percentage Error, SMAPE) An jedem angepassten Punkt wird die absolute Differenz zwischen dem tatsächlichen Wert und dem vorhergesagten Wert durch die Hälfte der Summe aus dem absoluten tatsächlichen Wert und dem vorhergesagten Wert geteilt. Anschließend wird der Durchschnitt für alle diese Werte über alle angepassten Punkte berechnet.
Mittlerer absoluter Fehler (Mean Absolute Error, MAE) Durchschnitt der absoluten Differenzen zwischen den tatsächlichen Werten und den vorhergesagten Werten.
Fehler-Effektivwert (Root Mean Squared Error, RMSE) Quadratwurzel des Mittelwerts der quadrierten Differenzen zwischen den tatsächlichen Werten und den vorhergesagten Werten.
R2 Eine Messung, wie die Leistung des Modells im Vergleich zum Baselinemodell oder dem Mittelwertmodell abschneidet. R2 muss kleiner-gleich 1 sein. Ein negativer R2 -Wert bedeutet, dass das betrachtete Modell schlechter ist als das mittlere Modell. Der Wert Null R2 bedeutet, dass das betrachtete Modell genauso gut oder schlecht ist wie das mittlere Modell. Ein positiver R-Wert2 bedeutet, dass das betrachtete Modell besser ist als das Mittelwertmodell.

Metriken für ein Experiment überprüfen

Wenn Sie die Ergebnisse für ein Zeitreihenexperiment anzeigen, sehen Sie die Werte für Metriken, die zum Trainieren des Experiments in der Pipeline-Bestenliste verwendet werden:

Experimentergebnisse überprüfen

Sie sehen, dass die Genauigkeitsmaße für Zeitreihenexperimente abhängig von den ausgewerteten Experimentdaten sehr unterschiedlich sein können.

  • Die Validierung ist die anhand von Trainingsdaten berechnete Bewertung.
  • Holdout ist der Score, der für die reservierten Holdout-Daten berechnet wird.
  • Backtest ist der mittlere Score aller Backtest-Scores.

Zeitreihenalgorithmen

Diese Algorithmen sind für Ihr Zeitreihenexperiment verfügbar. Sie können die standardmäßig ausgewählten Algorithmen verwenden oder Ihr Experiment so konfigurieren, dass bestimmte Algorithmen ein-oder ausgeschlossen werden.

Algorithmus Beschreibung
ARIMA (X11 ARIMA) Das autoregressive ARIMA-Modell (ARIMA = Integrated Moving Average) ist ein typisches Zeitreihenmodell, das nicht stationäre Daten durch Differenzenbildung in stationäre Daten umwandeln und anschließend den nächsten Wert unter Verwendung der vergangenen Werte vorhersagen kann, einschließlich der verzögerten Werte und der verzögerten Vorhersagefehler.
BATS Der BATS-Algorithmus kombiniert Box-Cox-Transformation, ARMA-Residuen, Trend- und Saisonalitätsfaktoren, um zukünftige Werte zu prognostizieren.
Ensembler Ensembler kombiniert mehrere Vorhersagemethoden, um die Genauigkeit der einfachen Vorhersage zu überwinden und eine mögliche Überanpassung zu vermeiden.
Holt-Winters Verwendet die dreifache exponentielle Glättung zur Vorhersage von Datenpunkten in einer Zeitreihe, wenn die Zeitreihe im Zeitverlauf (saisonal) wiederholt wird. Es stehen zwei Typen von Holt-Winters-Modellen zur Verfügung: additive Holt-Winters-Modelle und multiplikative Holt-Winters-Modelle.
Random Forest Baumbasiertes Regressionsmodell, bei dem jeder Baum im Ensemble aus einer Stichprobe erstellt wird, die mit einer Ersetzung (z. B. einer Bootstrap-Stichprobe) aus dem Trainingsset gezogen wird.
Support Vector Machine (SVM) SVMs sind ein Typ von Machine Learning-Modellen, die sowohl für die Regression als auch für die Klassifizierung verwendet werden können. SVMs verwenden eine Hyperebene, um die Daten in separate Klassen aufzuteilen.
Lineare Regressions Erstellt eine lineare Beziehung zwischen Zeitreihenvariablen und dem Datums-/Zeit-oder Zeitindex mit Residuen, die dem AR-Prozess folgen.

Unterstützte Datums-und Zeitformate

Die in Zeitreihenexperimenten unterstützten Datums-/Zeitformate basieren auf den Definitionen, die von dateutilbereitgestellt werden.

Die folgenden Datumsformate werden unterstützt:

Gängig:

    YYYY
    YYYY-MM, YYYY/MM, or YYYYMM
    YYYY-MM-DD or YYYYMMDD
    mm/dd/yyyy
    mm-dd-yyyy
    JAN YYYY

Unüblich:

    YYYY-Www or YYYYWww - ISO week (day defaults to 0)
    YYYY-Www-D or YYYYWwwD - ISO week and day

Die Anzahl der ISO-Werte für Woche und Tag folgt derselben Logik wie datetime.date.isocalendar().

Die folgenden Zeitformate werden unterstützt:

    hh
    hh:mm or hhmm
    hh:mm:ss or hhmmss
    hh:mm:ss.ssssss (Up to 6 sub-second digits)
    dd-MMM 
    yyyy/mm 

Hinweise:

  • Mitternacht kann als 00:00 oder 24:00 angezeigt werden. Das Dezimaltrennzeichen kann ein Punkt oder ein Komma sein.
  • Datumsangaben können als Zeichenfolgen mit Anführungszeichen wie "1958-01-16" übergeben werden.

Unterstützende Merkmale

Unterstützende Merkmale, auch als exogene Merkmale bezeichnet, sind Eingabemerkmale, die das Vorhersageziel beeinflussen können. Sie können unterstützende Funktionen verwenden, um zusätzliche Spalten aus Ihrem Dataset einzuschließen, um die Vorhersage zu verbessern und die Genauigkeit Ihres Modells zu erhöhen. Beispiel: In einem Zeitreihenexperiment zur Vorhersage von Preisen im Zeitverlauf kann eine unterstützende Funktion Daten zu Verkäufen und Werbeaktionen sein. Oder in einem Modell, das den Energieverbrauch, einschließlich der täglichen Temperatur, vorhersagt, macht die Vorhersage genauer.

Algorithmen und Pipelines, die Unterstützungsfeatures verwenden

Nur eine Untergruppe von Algorithmen lässt unterstützende Features zu. Beispielsweise unterstützen Holt-winters und BATS keine unterstützenden Funktionen. Algorithmen, die keine unterstützenden Features unterstützen, ignorieren Ihre Auswahl für unterstützende Features, wenn Sie das Experiment ausführen.

Einige Algorithmen verwenden unterstützende Funktionen für bestimmte Varianten des Algorithmus, aber nicht für andere. Sie können zum Beispiel zwei verschiedene Pipelines mit dem Random Forest-Algorithmus erstellen, RandomForestRegressor und ExogenousRandomForestRegressor. Die ExogenousRandomForestRegressor bietet Unterstützung für unterstützende Merkmale, während RandomForestRegressor dies nicht tut.

Diese Tabelle enthält Details dazu, ob ein Algorithmus Unterstützung für Unterstützungsfunktionen in einem Zeitreihenexperiment bietet:

Algorithmus Pipeline Unterstützung für unterstützende Features bereitstellen
Random Forest RandomForestRegressor Nein
Random Forest ExogenousRandomForestRegressor Ja
SVM SVM Nein
SVM ExogenousSVM Ja
Ensembler LocalizedFlattenEnsembler Ja
Ensembler DifferenceFlattenEnsembler Nein
Ensembler FlattenEnsembler Nein
Ensembler ExogenousLocalizedFlattenEnsembler Ja
Ensembler ExogenousDifferenceFlattenEnsembler Ja
Ensembler ExogenousFlattenEnsembler Ja
Regression MT2RForecaster Nein
Regression ExogenousMT2RForecaster Ja
Holt-Winters HoltWinterAdditive Nein
Holt-Winters HoltWinterMultiplicative Nein
BATS BATS Nein
ARIMA (X11 ARIMA) ARIMA (X11 ARIMA) Nein
ARIMA (X11 ARIMA) ARIMAX Ja
ARIMA (X11 ARIMA) ARIMAX_RSAR Ja
ARIMA (X11 ARIMA) ARIMAX_PALR Ja
ARIMA (X11 ARIMA) ARIMAX_RAR Ja
ARIMA (X11 ARIMA) ARIMAX_DMLR Ja

Weitere Informationen

Scoring für ein Zeitreihenmodell durchführen

Übergeordnetes Thema: Zeitreihenexperiment erstellen