Teilen über


Übersicht über Vorhersagemethoden in automatisiertem maschinellem Lernen

In diesem Artikel werden die Methoden behandelt, die automatisiertes maschinelles Lernen verwendet, um Zeitreihendaten vorzubereiten und Vorhersagemodelle zu erstellen. Anweisungen und Beispiele zum Trainieren von Vorhersagemodellen in AutoML finden Sie in unserem Artikel Einrichten von AutoML für Zeitreihenvorhersagen.

Automatisiertes maschinelles Lernen verwendet mehrere Methoden, um Zeitreihenwerte vorherzusagen. Diese Methoden können grob in zwei Kategorien eingeteilt werden:

  1. Zeitreihenmodelle, die historische Werte der Zielmenge verwenden, um Vorhersagen für die Zukunft zu erstellen
  2. Regressionsmodelle oder erklärende Modelle, die Prädiktorvariablen verwenden, um Werte des Ziels vorherzusagen

Betrachten wir als Beispiel die Vorhersage der täglichen Nachfrage nach einer bestimmten Marke von Orangensaft aus einem Lebensmittelgeschäft. $y_t$ sei die Nachfrage nach dieser Marke am Tag $t$. Ein Zeitreihenmodell prognostiziert die Nachfrage bei $t+1$ unter Verwendung einer Funktion des historischen Bedarfs:

$y_{t+1} = f(y_t, y_{t-1}, \ldots, y_{t-s})$.

Die Funktion $f$ verfügt häufig über Parameter, die mithilfe der beobachteten Nachfrage aus der Vergangenheit optimiert werden. Die Menge an historischen Daten, die $f$ zum Generieren von Vorhersagen heranzieht ($s$), kann ebenfalls als Parameter des Modells betrachtet werden.

Das Zeitreihenmodell aus dem Orangensaftbeispiel ist unter Umständen nicht genau genug, da es nur Informationen zum bisherigen Bedarf verwendet. Die zukünftige Nachfrage wird aber wahrscheinlich noch durch viele weitere Faktoren beeinflusst. Beispiele wären etwa der Preis, der Wochentag und ob es sich um einen Feiertag handelt. Sehen Sie sich ein Regressionsmodell an, das die folgenden Prädiktorvariablen verwendet:

$y = g(\text{price}, \text{day of week}, \text{holiday})$.

Auch hier verfügt $g$ in der Regel über eine Reihe von Parametern (einschließlich Parametern zur Steuerung der Abgrenzung), die vom automatisierten maschinellen Lernen anhand historischer Nachfragewerte und der Prädiktoren optimiert werden. Wir lassen $t$ in dem Ausdruck weg, um deutlich zu machen, dass das Regressionsmodell Korrelationsmuster zwischen gleichzeitig definierten Variablen verwendet, um Vorhersagen zu generieren. Das bedeutet: Um $y_{t+1}$ auf der Grundlage von $g$ vorherzusagen, müssen wir wissen, auf welchen Wochentag $t+1$ fällt, ob es sich um einen Feiertag handelt und wie viel der Orangensaft am Tag $t+1$ kostet. Die ersten beiden Informationen können ganz einfach einem Kalender entnommen werden. Ein Einzelhandelspreis wird in der Regel im Voraus festgelegt, sodass der Preis von Orangensaft wahrscheinlich auch einen Tag im Voraus bekannt ist. Der in zehn Tagen geltende Preis ist aber möglicherweise nicht bekannt. Es ist wichtig zu verstehen, dass die Verwendbarkeit dieser Regression dadurch begrenzt ist, wie weit Vorhersagen in die Zukunft reichen müssen (Vorhersagehorizont) und inwieweit die zukünftigen Werte der Prädiktoren bekannt sind.

Wichtig

Bei den Regressionsmodellen der Vorhersage des automatisierten maschinellen Lernens wird davon ausgegangen, dass alle vom Benutzer bereitgestellten Features mindestens bis zum Vorhersagehorizont bekannt sind.

Die Regressionsmodelle der Vorhersage des automatisierten maschinellen Lernens können auch mit historischen Werten des Ziels und der Prädiktoren erweitert werden. Das Ergebnis ist ein Hybridmodell mit den Eigenschaften eines Zeitreihenmodells und eines reinen Regressionsmodells. Historische Mengen sind zusätzliche Vorhersagevariablen in der Regression und werden als verzögerte Mengen bezeichnet. Die Ordnung der Verzögerung bezieht sich darauf, bis zu welchem Punkt in der Vergangenheit der Wert bekannt ist. So ist beispielsweise der aktuelle Wert einer Verzögerung zweiter Ordnung des Ziels für unser Orangensaftbeispiel die Saftnachfrage von vor zwei Tagen.

Ein weiterer wichtiger Unterschied zwischen Zeitreihen- und Regressionsmodellen ist die Art der Vorhersagengenerierung. Zeitreihenmodelle werden in der Regel durch Rekursionsbeziehungen definiert und erzeugen eine Vorhersage nach der anderen. Bei weit in die Zukunft reichenden Vorhersagen werden mehrere Vorhersagen bis zum Vorhersagehorizont durchlaufen und vorherige Vorhersagen wieder dem Modell zugeführt, um die Vorhersage für den jeweils nächsten Zeitraum zu generieren. Im Gegensatz dazu handelt es sich bei den Regressionsmodellen um so genannte Direktvorhersagen, die alle Vorhersagen bis zum Horizont in einem einzelnen Durchlauf generieren. Direktvorhersagen sind ggf. rekursiven Vorhersagen vorzuziehen, da sich bei rekursiven Modellen Vorhersagefehler verstärken können, wenn frühere Vorhersagen wieder dem Modell zugeführt werden. Bei Verwendung von verzögerten Features werden durch das automatisierte maschinelle Lernen einige wichtige Änderungen an den Trainingsdaten vorgenommen, damit die Regressionsmodelle als Direktvorhersagen fungieren können. Weitere Informationen finden Sie im Artikel zu verzögerten Features.

Vorhersagemodelle beim automatisierten maschinellen Lernen

Die folgende Tabelle enthält die Vorhersagemodelle, die im automatisierten maschinellen Lernen implementiert sind, sowie die jeweils zugehörige Kategorie:

Zeitreihenmodelle Regressionsmodelle
„Naiv“, „Saisonal naiv“, „Durchschnitt“, „Saisonaler Durchschnitt“, ARIMA(X), Exponentielle Glättung Stochastisches Gradientenabstiegsverfahren, LARS LASSO, Elastisches Netz, Prophet, K-Pixelwiederholung, Entscheidungsstruktur, Zufällige Gesamtstruktur, Extremely Randomized Trees, Gradient-Boosted-Strukturen, LightGBM, XGBoost, TCNForecaster

Die Modelle in den einzelnen Kategorien sind grob nach der Komplexität der Muster sortiert, die sie integrieren können. Dies wird auch als Modellkapazität bezeichnet. Ein naives Modell, das einfach den zuletzt beobachteten Wert prognostiziert, hat eine geringe Kapazität, während das temporale Faltungsnetzwerk (Temporal Convolutional Network, TCNForecaster) – ein Deep Neural Network mit potenziell Millionen von abstimmbaren Parametern – über eine hohe Kapazität verfügt.

Wichtig: Automatisiertes maschinelles Lernen enthält auch Ensemblemodelle, die gewichtete Kombinationen von Modellen mit der besten Leistung erstellen, um die Genauigkeit noch weiter zu verbessern. Für die Vorhersage wird ein Soft Voting-Ensemble verwendet, bei dem Zusammensetzung und Gewichtung über den Caruana-Algorithmus für die Ensembleauswahl ermittelt werden.

Hinweis

Bei Vorhersagemodellensembles gibt es zwei bedeutende Einschränkungen:

  1. Das TCN kann derzeit nicht in Ensembles eingeschlossen werden.
  2. Automatisiertes maschinelles Lernen deaktiviert standardmäßig eine weitere Ensemblemethode (das Stapelensemble), die in standardmäßigen Regressions- und Klassifizierungsaufgaben des automatisierten maschinellen Lernens enthalten ist. Das Stapelensemble verwendet ein Metamodell für die besten Modellprognosen, um Ensemblegewichtungen zu ermitteln. Interne Benchmarks haben ergeben, dass diese Strategie verstärkt zu einer Überanpassung von Zeitreihendaten tendiert. Dies kann zu einer mangelhaften Generalisierung führen. Daher ist das Stapelensemble standardmäßig deaktiviert. Es kann jedoch bei Bedarf in der Konfiguration des automatisierten maschinellen Lernens aktiviert werden.

Verwendung Ihrer Daten durch das automatisierte maschinelle Lernen

Automatisiertes maschinelles Lernen akzeptiert Zeitreihendaten im „breiten“ tabellarischen Format. Das bedeutet, jede Variable muss über eine eigene entsprechende Spalte verfügen. AutoML erfordert, dass eine der Spalten die Zeitachse für das Vorhersageproblem ist. Diese Spalte muss als datetime-Typ analysiert werden können. Das einfachste Zeitreihen-Dataset besteht aus einer Zeitspalte und einer numerischen Zielspalte. Das Ziel ist die Variable, für die eine Vorhersage generiert werden soll. Im Folgenden sehen Sie ein Beispiel für das Format in diesem einfachen Fall:

timestamp quantity
01.01.2012 100
02.01.2012 97
03.01.2012 106
... ...
31.12.2013 347

In komplexeren Fällen können die Daten weitere Spalten enthalten, die am Zeitindex ausgerichtet sind:

timestamp SKU Preis Beworben quantity
01.01.2012 SAFT1 3,5 0 100
01.01.2012 BROT3 5.76 0 47
02.01.2012 SAFT1 3,5 0 97
02.01.2012 BROT3 5.5 1 68
... ... ... ... ...
31.12.2013 SAFT1 3,75 0 347
31.12.2013 BROT3 5.7 0 94

In diesem Beispiel gibt es neben Zeitstempel und Zielmenge auch eine SKU, einen Einzelhandelspreis und ein Flag, das angibt, ob ein Artikel beworben wurde. Dieses Dataset enthält offensichtlich zwei Reihen: eine für die SKU „SAFT1“ und eine für die SKU „BROT3“. Die Spalte SKU ist eine Zeitreihen-ID-Spalte, da die Gruppierung nach dieser Spalte zwei Gruppen mit jeweils einer einzelnen Reihe ergibt. Vor dem Modell-Sweeping führt das automatisierte maschinelle Lernen eine grundlegende Validierung der Eingabekonfiguration und der Daten durch und fügt entwickelte Features hinzu.

Datenlängenanforderungen

Für das Training eines Vorhersagemodells müssen Sie über eine ausreichende Menge an Verlaufsdaten verfügen. Dieser Schwellenwert hängt von der Konfiguration des Trainings ab. Wenn Sie Validierungsdaten zur Verfügung gestellt haben, ist die Mindestanzahl der erforderlichen Trainingsbeobachtungen pro Zeitreihe gegeben durch

$T_{\text{user validation}} = H + \text{max}(l_{\text{max}}, s_{\text{window}}) + 1$,

wobei $H$ der Vorhersagehorizont, $l_{\text{max}}$ die maximale Verzögerungsreihenfolge und $s_{\text{window}}$ die Fenstergröße für rollierende Aggregationsfeatures ist. Wenn Sie eine Kreuzvalidierung verwenden, beträgt die Mindestanzahl der Beobachtungen

$T_{\text{CV}} = 2H + (n_{\text{CV}} - 1) n_{\text{step}} + \text{max}(l_{\text{max}}, s_{\text{window}}) + 1$,

wobei $n_{\text{CV}}$ die Anzahl der Kreuzvalidierungsfaltungen und $n_n_{\text{step}}$ die CV-Schrittgröße oder der Versatz zwischen CV-Faltungen ist. Die grundlegende Logik hinter diesen Formeln ist, dass Sie immer über mindestens einen Horizont von Trainingsbeobachtungen für jede Zeitreihe verfügen sollten, einschließlich einiger Auffüllungen für Verzögerungen und Kreuzvalidierungsaufteilungen. Weitere Einzelheiten zur Kreuzvalidierung für Vorhersagen finden Sie unter Auswahl von Vorhersagemodellen.

Behandlung fehlender Daten

Die Zeitreihenmodelle von AutoML erfordern regelmäßig verteilte Beobachtungen im Zeitverlauf. Regelmäßige Abstände schließen hier auch Szenarien wie monatliche oder jährliche Beobachtungen ein, bei denen die Anzahl von Tagen zwischen den Beobachtungen variieren kann. Vor der Modellierung muss AutoML sicherstellen, dass keine Reihenwerte fehlen und dass die Beobachtungen regelmäßig sind. Somit gibt es zwei Fälle für fehlende Daten:

  • Ein fehlender Wert für eine Zelle in den tabellarischen Daten
  • Eine fehlende Zeile, die einer erwarteten Beobachtung entspricht (aufgrund der Zeitreihenfrequenz)

Im ersten Fall imputiert das automatisierte maschinelle Lernen fehlende Werte mithilfe gängiger, konfigurierbarer Techniken.

Die folgende Tabelle enthält ein Beispiel für eine fehlende erwartete Zeile:

timestamp quantity
01.01.2012 100
03.01.2012 106
04.01.2012 103
... ...
31.12.2013 347

Diese Reihe hat anscheinend eine tägliche Frequenz, es gibt aber keine Beobachtung für den 2. Januar 2012. In diesem Fall versucht das automatisierte maschinelle Lernen, die Daten durch Hinzufügen einer neuen Zeile für den 2. Januar 2012 zu ergänzen. Der neue Wert für die Spalte quantity sowie für alle anderen Spalten in den Daten wird dann genau wie andere fehlende Werte imputiert. Das automatisierte maschinelle Lernen muss natürlich die Frequenz der Reihe kennen, um solche Beobachtungslücken schließen zu können. Die Frequenz wird vom automatisierten maschinellen Lernen automatisch erkannt oder kann optional vom Benutzer in der Konfiguration angegeben werden.

Die Imputationsmethode zum Auffüllen fehlender Werte kann in der Eingabe konfiguriert werden. Die Standardmethoden sind in der folgenden Tabelle aufgeführt:

Spaltentyp Standardmethode für die Imputation
Ziel Forward-Fill-Methode (Übertragung der letzten Beobachtung)
Numerisches Feature Medianwert

Fehlende Werte für kategorische Features werden im Rahmen der numerischen Codierung behandelt, indem eine zusätzliche Kategorie für einen fehlenden Wert eingeschlossen wird. In diesem Fall ist die Imputation implizit.

Automatisierte Featureentwicklung

Das automatisierte maschinelle Lernen fügt Benutzerdaten im Allgemeinen neue Spalten hinzu, um die Modellierungsgenauigkeit zu erhöhen. Entwickelte Features können Folgendes umfassen:

Featuregruppe Standard/Optional
Vom Zeitindex abgeleitete Kalenderfeatures (z. B. Wochentag) Standard
Kategorische Features, die von Zeitreihen-IDs abgeleitet sind Standard
Codierung kategorischer Typen als numerischer Typ Standard
Indikatorfeatures für Feiertage eines bestimmten Lands oder einer bestimmten Region Optional
Verzögerung bei der Zielmenge Optional
Verzögerung bei Featurespalten Optional
Aggregationen von rollierenden Zeitfenstern (z. B. gleitender Durchschnitt) der Zielmenge Optional
Saisonale Aufschlüsselung (STL) Optional

Sie können die Featurisierung über das SDK des automatisierten maschinellen Lernens mithilfe der Klasse ForecastingJob oder über die Weboberfläche von Azure Machine Learning Studio konfigurieren.

Erkennung und Verarbeitung von Nicht-Stationaritäts-Zeitreihen

Eine Zeitreihe, bei der sich Mittelwert und Varianz im Laufe der Zeit ändern, wird als nicht stationär bezeichnet. Zeitreihen, die stochastische Trends aufweisen, sind beispielsweise von Natur aus nicht stationär. Zur Visualisierung ist in der folgenden Abbildung eine Reihe dargestellt, deren Trend im Allgemeinen nach oben geht. Berechnen und vergleichen Sie nun die Mittelwerte (Durchschnitt) für die erste und die zweite Hälfte der Reihe. Sind sie identisch? Hier ist der Mittelwert der Reihe in der ersten Hälfte der Darstellung deutlich kleiner als in der zweiten Hälfte. Die Tatsache, dass der Mittelwert der Reihe vom Zeitintervall abhängt, das betrachtet wird, ist ein Beispiel für die zeitbezogenen Momente. Hier ist der Mittelwert einer Reihe der erste Moment.

Diagramm: Einzelhandelsumsatz für eine Nicht-Stationaritäts-Zeitreihe

Betrachten wir als nächstes die folgende Abbildung, die die ursprüngliche Reihe in ersten Differenzen darstellt: $\Delta y_{t} = y_t - y_{t-1}$. Der Mittelwert der Reihe ist über die Zeitspanne ungefähr konstant, während die Varianz zu variieren scheint. Daher ist dies ein Beispiel für eine stationäre Zeitreihe erster Ordnung.

Diagramm: Einzelhandelsumsatz für eine leicht stationäre Zeitreihe

AutoML-Regressionsmodelle können stochastische Trends oder andere bekannte Probleme im Zusammenhang mit nicht stationären Zeitreihen nicht inhärent behandeln. Infolgedessen kann die Prognosegenauigkeit außerhalb von Stichproben ungeeignet sein, wenn solche Trends vorhanden sind.

AutoML analysiert automatisch ein Dataset mit Zeitreihen, um die Stationarität zu bestimmen. Wenn nicht stationäre Zeitreihen erkannt werden, wendet automatisiertes ML automatisch eine unterscheidende Transformation an, um die Auswirkungen nicht stationärer Verhaltensweisen zu verringern.

Modell-Sweeping

Nachdem die Daten mit Behandlung fehlender Daten und Featurisierung vorbereitet wurden, prüft das automatisierte maschinelle Lernen eine Reihe von Modellen und Hyperparametern unter Verwendung eines Modellempfehlungsdiensts. Die Modelle werden anhand von Validierungs- oder Kreuzvalidierungsmetriken bewertet, und die besten Modelle können anschließend optional in einem Ensemblemodell verwendet werden. Das beste Modell oder ein beliebiges der trainierten Modelle kann nach Bedarf überprüft, heruntergeladen oder bereitgestellt werden, um Vorhersagen zu generieren. Ausführlichere Informationen finden Sie im Artikel Modell-Sweeping und -Auswahl.

Modellgruppierung

Wenn ein Dataset wie im bereitgestellten Datenbeispiel mehrere Zeitreihen enthält, gibt es mehrere Möglichkeiten, diese Daten zu modellieren. Es ist beispielsweise möglich, nach den Zeitreihen-ID-Spalten zu gruppieren und unabhängige Modelle für die einzelnen Reihen zu trainieren. Ein allgemeinerer Ansatz wäre, die Daten in Gruppen zu partitionieren, die jeweils mehrere, wahrscheinlich verwandte Reihen enthalten können, und jeweils ein Modell pro Gruppe zu trainieren. Standardmäßig wird bei Vorhersagen des automatisierten maschinellen Lernens ein gemischter Ansatz für die Modellgruppierung verwendet. Zeitreihenmodelle sowie ARIMAX und Prophet weisen einer einzelnen Gruppe eine einzelne Reihe zu. Andere Regressionsmodelle weisen alle Reihen einer einzelnen Gruppe zu. In der folgenden Tabelle sind die Modellgruppierungen in zwei Kategorien (1:1 und n:1) zusammengefasst:

Jede Reihe in einer eigenen Gruppe (1:1) Alle Reihen in einer einzelnen Gruppe (n:1)
„Naiv“, „Saisonal naiv“, „Durchschnitt“, „Saisonaler Durchschnitt“, „Exponentielle Glättung“, „ARIMA“, „ARIMAX“, „Prophet“ „Stochastisches Gradientenabstiegsverfahren (SGD)“, „LARS LASSO“, „Elastisches Netz“, „K-Pixelwiederholung“, „Entscheidungsstruktur“, „Zufällige Gesamtstruktur“, „Extremely Randomized Trees“, „Gradient-Boosted-Strukturen“, „LightGBM“, „XGBoost“, „TCNForecaster“

Allgemeinere Modellgruppierungen sind über die Lösung für zahlreiche Modelle des automatisierten maschinellen Lernens möglich. Weitere Informationen finden Sie in unserem Notebook für automatisiertes maschinelles Lernen mit vielen Modellen.

Nächste Schritte

  • Erfahren Sie mehr über Deep Learning-Modelle für Vorhersagen in automatisiertem ML.
  • Weitere Informationen zu Modell-Sweeping und -Auswahl für Vorhersagen mit automatisiertem maschinellem Lernen finden Sie hier.
  • Informationen zur Erstellung kalenderbasierter Features durch das automatisierte maschinelle Lernen finden Sie hier.
  • Informationen zur Erstellung verzögerter Features durch das automatisierte maschinelle Lernen finden Sie hier.
  • Antworten auf häufig gestellte Fragen zu Vorhersagen mit automatisiertem maschinellem Lernen finden Sie hier.