Übersicht über Vorhersagemethoden in automatisiertem maschinellem Lernen
In diesem Artikel werden die Methoden beschrieben, mit denen AutoML in Azure Machine Learning Zeitreihendaten vorbereiten und Prognosemodelle erstellen. Anweisungen und Beispiele zu Trainingsprognosemodellen in AutoML finden Sie unter Einrichten von AutoML für Zeitreihenprognosen.
Prognosemethoden in AutoML
Automatisiertes maschinelles Lernen verwendet mehrere Methoden, um Zeitreihenwerte vorherzusagen. Diese Methoden können grob in zwei Kategorien eingeteilt werden:
- Zeitreihenmodelle, die historische Werte der Zielmenge verwenden, um Vorhersagen für die Zukunft zu erstellen
- Regressionsmodelle oder erklärende Modelle, die Prädiktorvariablen verwenden, um Werte des Ziels vorherzusagen
Angenommen, Sie müssen die tägliche Nachfrage nach einer bestimmten Marke von Orangensaft aus einem Lebensmittelgeschäft prognostizieren. Für den Ausdruck sei $y_t$ die Nachfrage nach dieser Marke am Tag $t$. Ein Zeitreihenmodell prognostiziert die Nachfrage an $t+1$ unter Verwendung einer Funktion des historischen Bedarfs mit dem folgenden Ausdruck:
$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 im Orangensaftbedarfsbeispiel ist möglicherweise nicht genau genug, da es nur Informationen über die vergangene Nachfrage verwendet. Es gibt viele andere Faktoren, welche die zukünftige Nachfrage beeinflussen können, z. B. Preis, Wochentag und Urlaubszeiten. Betrachten Sie ein Regressionsmodell, das diese Prädiktorvariablen mit dem folgenden Ausdruck verwendet:
$y = g(\text{price}, \text{day of week}, \text{holiday})$
Auch hier verfügt die Funktion $g$ generell über eine Reihe von Parametern, einschließlich der Werte, welche die Regularisierung steuern, welche AutoML-Tunes mithilfe früherer Werte der Nachfrage und der Prädiktoren einstellt. Sie lassen $t$ in dem Ausdruck weg, um deutlich zu machen, dass das Regressionsmodell Korrelationsmuster zwischen gleichzeitig definierten Variablen verwendet, um Vorhersagen zu generieren. Um $y_{t+1}$ aus $g$ vorherzusagen, müssen Sie wissen, welcher Wochentag $t+1$ ist, ob der Tag ein Feiertag ist, und den Orangensaftpreis am Tag $t+1$. Die ersten beiden Informationselemente sind einfach mithilfe eines Kalenders zu identifizieren. 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 das 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 Direktvorhersagen, die alle Vorhersagen bis zum Horizont in einem einzelnen Durchlauf generieren. Direktvorhersagen sind ggf. rekursiven Methoden 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 unter Verzögerte Features für Zeitreihenvorhersagen in AutoML.
Vorhersagemodelle beim automatisierten maschinellen Lernen
AutoML in Machine Learning implementiert die folgenden Vorhersagemodelle. Für jede Kategorie werden die Modelle ungefähr in der Reihenfolge der Komplexität von Mustern aufgeführt, die sie integrieren können, auch bekannt als Modellkapazität. 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 (DNN) mit potenziell Millionen von abstimmbaren Parametern – über eine hohe Kapazität verfügt.
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:
- Das TCN kann derzeit nicht in Ensembles eingeschlossen werden.
- AutoML deaktiviert standardmäßig die Stapelensemblemethode, 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. Dieses Ergebnis kann zu einer mangelhaften Generalisierung führen. Daher ist das Stapelensemble standardmäßig deaktiviert. Sie können das Ensemble bei Bedarf in der AutoML-Konfiguration aktivieren.
Verwendung Ihrer Daten durch das automatisierte maschinelle Lernen
AutoML akzeptiert Zeitreihendaten im tabellarischen „breiten“ Format. Jede Variable muss über eine eigene entsprechende Spalte verfügen. AutoML erfordert, dass eine Spalte 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 Sie eine Vorhersage generieren wollen. Die folgende Tabelle enthält Beispielwerte für dieses Format:
Zeitstempel | quantity |
---|---|
01.01.2012 | 100 |
02.01.2012 | 97 |
03.01.2012 | 106 |
... | ... |
31.12.2013 | 347 |
In komplexeren Fällen könnte der Datensatz weitere Spalten enthalten, die am Zeitindex ausgerichtet sind:
Zeitstempel | 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 |
Das zweite Beispiel beinhaltet neben Zeitstempel und Zielmenge auch eine SKU, einen Einzelhandelspreis und ein Flag, das angibt, ob ein Artikel beworben wurde. Das zweite Dataset zeigt zwei Datenreihen an: eine für die JUICE1-SKU und eine für die BREAD3-SKU. Die SKU-Spalte ist eine Zeitreihen-ID-Spalte, da die Gruppierung nach diesen Spaltenwerten zwei Gruppen erzeugt, die jeweils eine einzelne Datenreihe enthalten. Vor dem Sweep des Modells 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, wird die Mindestanzahl der erforderlichen Trainingsbeobachtungen pro Zeitreihe wie folgt ausgedrückt:
$T_{\text{user validation}} = H + \text{max}(l_{\text{max}}, s_{\text{window}}) + 1$
In diesem Ausdruck ist $H$ der Vorhersagehorizont, $l_{\text{max}}$ die maximale Verzögerungsreihenfolge und $s_{\text{window}}$ die Fenstergröße für rollierende Aggregationsfeatures. Wenn Sie die Kreuzüberprüfung verwenden, wird die Mindestanzahl der Beobachtungen wie folgt ausgedrückt:
$T_{\text{CV}} = 2H + (n_{\text{CV}} - 1) n_{\text{step}} + \text{max}(l_{\text{max}}, s_{\text{window}}) + 1$
In dieser Version ist $n_{\text{CV}}$ die Anzahl der Kreuzvalidierungsfaltungen und $n_n_{\text{step}}$ die CV-Schrittgröße oder der Versatz zwischen CV-Faltungen. 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 Informationen zur Kreuzvalidierung für Prognosen finden Sie unter Modellauswahl in AutoML.
Behandlung fehlender Daten
Die Zeitreihenmodelle in AutoML erfordern regelmäßig Zeitbeobachtungen, die Fälle wie monatliche oder jährliche Beobachtungen umfassen, bei denen die Anzahl der Tage zwischen Beobachtungen variieren kann. Bevor der Modellierungsprozess initiiert wird, muss AutoML sicherstellen, dass keine Datenreihenwerte fehlen, und dass die Beobachtungen normal sind. Daher gibt es zwei fehlende Datenfälle:
- Ein fehlender Wert für eine Zelle in den tabellarischen Daten.
- Eine fehlende Zeile, die einer erwarteten Beobachtung entspri.cht (aufgrund der Zeitreihenfrequenz).
Im ersten Fall imputiert das automatisierte maschinelle Lernen fehlende Werte mithilfe gängiger, konfigurierbarer Techniken. Die folgende Tabelle zeigt ein Beispiel für eine erwartete Zeile, die fehlt:
Zeitstempel | 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 (2012-01-02). In diesem Fall versucht AutoML, die Daten auszufüllen, indem eine neue Zeile für den fehlenden Wert hinzugefügt wird. 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. Um diesen Prozess auszuführen, muss AutoML die Reihenhäufigkeit erkennen, um Beobachtungslücken zu füllen, wie in diesem Fall gezeigt. Die Frequenz wird vom automatisierten maschinellen Lernen automatisch erkannt oder kann optional vom Benutzer in der Konfiguration angegeben werden.
Die Berechnungsmethode zum Bereitstellen fehlender Werte kann in der Eingabe konfiguriert werden. In der folgenden Tabelle sind die Standardmethoden aufgeführt:
Spaltentyp | Standardmethode für die Imputation |
---|---|
Ziel | Forward-Fill-Methode (Übertragung der letzten Beobachtung) |
Numerisches Feature | Medianwert |
Fehlende Werte für kategorisierte Features werden während der numerischen Codierung behandelt, indem eine andere Kategorie einbezogen wird, die einem fehlenden Wert entspricht. 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. Technische Features können Standard- oder optionale Elemente enthalten.
Standardmäßige entwickelte Features:
- Vom Zeitindex abgeleitete Kalenderfeatures, z. B. der Wochentag
- Kategorische Features, die von Zeitreihen-IDs abgeleitet sind
- Codierung kategorischer Typen als numerischer Typ
Optional entwickelte Features:
- Indikatorfeatures für Feiertage einer bestimmten Region
- Verzögerung bei der Zielmenge
- Verzögerung bei Featurespalten
- Aggregationen von rollierenden Zeitfenstern, wie gleitender Durchschnitt der Zielmenge
- Saisonale Zerlegung ((Saisonale- und Trendzerlegung mithilfe von Loess (STL))
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 von Natur aus nicht stationär.
Die folgende Abbildung zeigt eine Visualisierung für dieses Szenario. Das Diagramm bildet eine Datenreihe ab, die generell ansteigt zeigt. Wenn Sie die Mittelwerte für die erste und zweite Hälfte der Datenreihe berechnen und vergleichen, können Sie die Unterschiede feststellen. Hier ist der Mittelwert der Reihe in der ersten Hälfte der Darstellung kleiner als der Mittelwert in der zweiten Hälfte. Die Tatsache, dass der Mittelwert der Reihe vom Zeitintervall abhängt, das überprüft wird, ist ein Beispiel für die zeitbezogenen Momente. In diesem Szenario ist der Mittelwert einer Reihe der erste Moment.
Die folgende Abbildung zeigt ein Diagramm, das 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. Dieses Szenario zeigt ein Beispiel für eine stationäre Zeitreihe erster Ordnung:
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 sein Level oder seine 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 sind, 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. Weitere Informationen finden Sie unter Modell-Sweeping und -Auswahl für Vorhersagen mit AutoML.
Modellgruppierung
Wenn ein Dataset mehrere Zeitreihen enthält, gibt es mehrere Möglichkeiten, diese Daten zu modellieren. Sie können die Daten nach den Zeitreihen-ID-Spalten gruppieren und unabhängige Modelle für die einzelnen Reihen 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.
So verwendet jeder Modelltyp Gruppen:
Jede Datenreihe in einer separaten Gruppe (1:1): „Naiv“, „Saisonal naiv“, „Durchschnitt“, „Saisonaler Durchschnitt“, „Exponentielle Glättung“, „ARIMA“, „ARIMAX“, „Prophet“
Alle Datenreihe in der gleichen Gruppe (N:1): „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 mithilfe der vielen Modelllösungen in AutoML möglich. Weitere Informationen finden Sie unter Viele Modelle – Automatisiertes ML-Notebook.