Freigeben über


ForecastingSettings Klasse

Vorhersageeinstellungen für einen AutoML-Auftrag.

Vererbung
azure.ai.ml.entities._mixins.RestTranslatableMixin
ForecastingSettings

Konstruktor

ForecastingSettings(*, country_or_region_for_holidays: str | None = None, cv_step_size: int | None = None, forecast_horizon: str | int | None = None, target_lags: str | int | List[int] | None = None, target_rolling_window_size: str | int | None = None, frequency: str | None = None, feature_lags: str | None = None, seasonality: str | int | None = None, use_stl: str | None = None, short_series_handling_config: str | None = None, target_aggregate_function: str | None = None, time_column_name: str | None = None, time_series_id_column_names: str | List[str] | None = None, features_unknown_at_forecast_time: str | List[str] | None = None)

Parameter

Name Beschreibung
country_or_region_for_holidays
Erforderlich

Das Land/die Region, das bzw. die zum Generieren von Feiertagsfunktionen verwendet wird. Dabei sollte es sich um den aus zwei Buchstaben bestehenden Länder-/Regionscode nach ISO 3166 handeln (z. B. „US“ oder „GB“).

cv_step_size
Erforderlich

Die Anzahl von Zeiträumen zwischen der „origin_time“ eines Kreuzvalidierungsfolds und dem nächsten Fold. Wenn für tägliche Daten beispielsweise n_step = 3 ist, liegt die Ursprungszeit für jeden Fold drei Tage auseinander.

forecast_horizon
Erforderlich

Der gewünschte maximale Prognosehorizont in Einheiten der Zeitreihenhäufigkeit. Der Standardwert ist 1.

Die Einheiten basieren auf dem Zeitintervall Ihrer Trainingsdaten (z. B. monatlich oder wöchentlich), die vorhergesagt werden sollen. Bei Vorhersageaufgaben ist dieser Parameter erforderlich. Weitere Informationen zum Festlegen von Vorhersageparametern finden Sie unter Automatisches Trainieren eines Modells für die Zeitreihenprognose.

target_lags
Erforderlich

Die Anzahl vergangener Zeiträume, um die die Zielspalte verzögert werden soll. Standardmäßig sind die Verzögerungen deaktiviert.

Bei Vorhersagen stellt dieser Parameter die Anzahl von Zeilen dar, um die die Zielwerte basierend auf der Häufigkeit der Daten verzögert werden sollen. Dies wird als eine Liste oder als einzelner Integer dargestellt. Die Verzögerung sollte verwendet werden, wenn die Beziehung zwischen den unabhängigen Variablen und der abhängigen Variablen standardmäßig nicht übereinstimmt oder korreliert. Wenn Sie beispielsweise versuchen, die Nachfrage nach einem Produkt vorherzusagen, hängt die Nachfrage in einem Monat möglicherweise vom Preis für bestimmte Produkte vor 3 Monaten ab. In diesem Beispiel möchten Sie möglicherweise den Zielwert (Nachfrage) um 3 Monate negativ verzögern, sodass das Modell mit der richtigen Beziehung trainiert wird. Weitere Informationen finden Sie unter Automatisches Trainieren eines Modells für die Zeitreihenprognose.

Hinweis zur automatischen Erkennung von Zielverzögerungen und der Größe des rollierenden Fensters. Weitere Informationen finden Sie in den entsprechenden Kommentaren im Abschnitt zum rollierenden Fenster. Wir verwenden den nächsten Algorithmus, um die optimale Zielverzögerung und Größe des rollierenden Fensters zu erkennen.

  1. Schätzen Sie die maximale Verzögerung für die Auswahl der Rückblickfeatures. In unserem Fall ist dies die Anzahl von Zeiträumen bis zur nächsten Granularitätsstufe der Datumshäufigkeit, d. h. bei der Häufigkeit „täglich“ ist dies eine Woche (7) und bei „wöchentlich“ ein Monat (4). Diese Werte werden mit 2 multipliziert, um die größtmöglichen Werte für Verzögerungen/rollierende Fenster zu erhalten. In unseren Beispielen beträgt die maximale Verzögerung 14 bzw. 8.

  2. Erstellen Sie eine Reihe mit herausgerechneter Saisonalität, indem Sie Trend- und Restkomponenten hinzufügen. Diese Reihe wird im nächsten Schritt verwendet.

  3. Schätzen Sie den Wert der Funktion für partielle Autokorrelation (Partial Auto Correlation Function, PACF) für die Daten aus Schritt 2, und suchen Sie nach Punkten, bei denen die automatische Korrelation signifikant ist, d. h. ihr absoluter Wert ist größer als 1,96/square_root (maximaler Verzögerungswert), was einer Signifikanz von 95 % entspricht.

  4. Wenn alle Punkte signifikant sind, betrachten wir dies als hohe Saisonalität und erstellen keine Rückblickfeatures.

  5. Wir überprüfen die PACF-Werte vom Anfang. Der Wert vor der ersten nicht signifikanten automatischen Korrelation bestimmt die Verzögerung. Wenn auf das erste signifikante Element (Wert korreliert mit sich selbst) ein nicht signifikantes Element folgt, beträgt die Verzögerung 0, und wir verwenden keine Rückblickfeatures.

target_rolling_window_size
Erforderlich

Die Anzahl vergangener Zeiträume, die zum Erstellen eines Durchschnittswerts für das rollierende Fenster der Zielspalte verwendet werden.

Bei Vorhersagen stellt dieser Parameter n historische Zeiträume zum Generieren von vorhergesagten Werten dar, <= Größe des Trainingssatzes. Wenn nicht angegeben, ist n die vollständige Trainingsmenge. Geben Sie diesen Parameter an, wenn Sie beim Trainieren des Modells nur eine bestimmte Menge des Verlaufs beachten möchten. Wenn „auto“ festgelegt ist, wird das rollierende Fenster geschätzt und der letzte Wert verwendet, bei dem der PACF-Wert größer als der Signifikanzschwellenwert ist. Weitere Informationen finden Sie im Abschnitt zu „target_lags“.

frequency
Erforderlich

Die Vorhersagehäufigkeit.

Bei Vorhersagen stellt dieser Parameter den Zeitraum dar, für den die Vorhersage erfolgen soll, z. B. täglich, wöchentlich, jährlich usw. Die Vorhersagehäufigkeit ist standardmäßig auf die Dataset-Häufigkeit festgelegt. Sie können sie optional auf einen größeren (aber nicht auf einen kleineren) Wert als die Dataset-Häufigkeit festlegen. Wir aggregieren die Daten und generieren die Ergebnisse mit der Vorhersagehäufigkeit. Für tägliche Daten können Sie die Häufigkeit beispielsweise auf täglich, wöchentlich oder monatlich festlegen, aber nicht auf stündlich. Die Häufigkeit muss ein Pandas-Offset-Alias sein. Weitere Informationen finden Sie in der Pandas-Dokumentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

feature_lags
Erforderlich

Flag zum Generieren von Verzögerungen für numerische Features mit „auto“ oder „None“.

seasonality
Erforderlich

Festlegen der Saisonalität von Zeitreihen als ganzzahliges Vielfaches der Zeitreihenhäufigkeit. Wenn „auto“ festgelegt ist, wird die Saisonalität abgeleitet. Wenn „None“ festgelegt ist, wird davon ausgegangen, dass die Zeitreihe nicht saisonal ist, was „seasonality=1“ entspricht.

use_stl
Erforderlich

Konfigurieren Sie die STL-Aufschlüsselung der Zeitreihen-Zielspalte. Für „use_stl“ sind drei Werte möglich: „None“ (Standardwert, keine STL-Aufschlüsselung), „season“ (nur die Saisonkomponente generieren) und „season_trend“ (sowohl Saison- als auch Trendkomponenten generieren).

short_series_handling_config
Erforderlich

Der Parameter definiert, wie kurze Zeitreihen beim automatisierten maschinellen Lernen verarbeitet werden.

Mögliche Werte: „auto“ (Standardwert), „pad“, „drop“ und „None“.

  • auto: kurze Zeitreihen werden aufgefüllt, wenn keine langen Zeitreihen vorhanden sind, andernfalls werden sie abgelegt.
  • pad: alle kurzen Zeitreihen werden aufgefüllt.
  • drop: alle kurzen Zeitreihen werden abgelegt.
  • None: kurze Zeitreihen werden nicht geändert. Wenn diese Einstellung auf "pad" festgelegt ist, wird die Tabelle mit den Nullen und leeren Werten für die Regressoren und den Zufallswerten für ziel mit dem Mittelwert median für die angegebene Zeitreihen-ID aufgefüllt. Wenn median größer oder gleich 0 ist, wird der minimale aufgefüllte Wert um 0 (null) gekürzt. Eingabe:

Date

numeric_value

string

Ziel

2020-01-01

23

green

55

Ausgabe, wenn die Mindestanzahl von Werten 4 ist:

Date

numeric_value

string

Ziel

2019-12-29

0

Nicht verfügbar

55.1

2019-12-30

0

Nicht verfügbar

55.6

2019-12-31

0

Nicht verfügbar

54.5

2020-01-01

23

green

55

Hinweis: Wir haben zwei Parameter, short_series_handling_configuration und Legacy-short_series_handling. Wenn beide Parameter festgelegt sind, werden sie wie in der folgenden Tabelle dargestellt synchronisiert (short_series_handling_configuration und short_series_handling sind aus Gründen der Einfachheit als handling_configuration bzw. handling angegeben).

Handhabung

Behandeln der Konfiguration

resultierende Behandlung

resultierende handlingconfiguration

True

auto

True

auto

True

Pad

True

auto

True

drop

True

auto

True

Keine

False

Keine

False

auto

False

Keine

False

Pad

False

Keine

False

drop

False

Keine

False

Keine

False

Keine

target_aggregate_function
Erforderlich
str

Die Funktion zum Aggregieren der Zeitreihen-Zielspalte, um sie an eine benutzerdefinierte Häufigkeit anzupassen. Wenn die target_aggregation_function festgelegt ist, aber nicht der freq-Parameter, wird ein Fehler ausgelöst. Die möglichen Zielaggregationsfunktionen sind „sum“, „max“, „min“ und „mean“.

  • Die Zielspaltenwerte werden basierend auf dem angegebenen Vorgang aggregiert. „sum“ eignet sich für die meisten Szenarien.

  • Numerische Vorhersagespalten in den Daten werden nach Summe, Mittelwert, Minimalwert und Maximalwert aggregiert. Deshalb werden durch automatisiertes ML neue Spalten mit dem Namen der Aggregationsfunktion als Suffix erstellt und der ausgewählte Aggregationsvorgang angewendet.

  • Bei kategorischen Vorhersagespalten werden die Daten nach Modus aggregiert. Dies ist die auffälligste Kategorie im Fenster.

  • Datumsvorhersagespalten werden nach Minimalwert, Maximalwert und Modus aggregiert.

Freq

target_aggregation_function

Data RegularityFixing-Mechanismus

Keine (Standard)

Keine (Standard)

Die Aggregation wird nicht angewendet. Wenn die Gültigkeitsfrequenz nicht bestimmt werden kann, wird der Fehler ausgelöst.

Einige Werte

Keine (Standard)

Die Aggregation wird nicht angewendet. Wenn die Anzahl der Datenpunkte, die mit dem angegebenen Frequenzraster kompatibel sind, kleiner ist, werden diese Punkte um 90 % entfernt, andernfalls wird der Fehler ausgelöst.

Keine (Standard)

Aggregationsfunktion

Der Fehler über den Parameter "Fehlende Frequenz" wird ausgelöst.

Einige Werte

Aggregationsfunktion

Aggregieren sie mit der bereitgestellten Aggregationsfunktion zur Häufigkeit.

time_column_name
Erforderlich

Der Name der Zeitspalte. Dieser Parameter ist bei Vorhersageaufgaben erforderlich, um die Spalte „datetime“ in den Eingabedaten anzugeben, die zum Erstellen der Zeitreihe sowie zum Ableiten des Intervalls verwendet wird.

time_series_id_column_names
Erforderlich

Die Namen von Spalten, die zum Gruppieren einer Zeitreihe verwendet werden. Dieser Parameter kann zum Erstellen mehrerer Reihen verwendet werden. Wenn die Namen der Spalten mit der Zeitreihen-ID nicht definiert sind oder durch die angegebenen Bezeichnerspalten nicht alle Reihen im Dataset identifiziert werden, werden die Zeitreihenbezeichner automatisch für Ihr Dataset erstellt.

features_unknown_at_forecast_time
Erforderlich

Die Featurespalten, die für das Training verfügbar sind, aber zum Zeitpunkt der Vorhersage/Rückschlüsse unbekannt sind. Wenn features_unknown_at_forecast_time auf eine leere Liste festgelegt ist, wird davon ausgegangen, dass alle Featurespalten im Dataset zum Rückschlusszeitpunkt bekannt sind. Wenn dieser Parameter nicht festgelegt ist, wird die Unterstützung für zukünftige Features nicht aktiviert.

Keyword-Only Parameter

Name Beschreibung
country_or_region_for_holidays
Erforderlich
cv_step_size
Erforderlich
forecast_horizon
Erforderlich
target_lags
Erforderlich
target_rolling_window_size
Erforderlich
frequency
Erforderlich
feature_lags
Erforderlich
seasonality
Erforderlich
use_stl
Erforderlich
short_series_handling_config
Erforderlich
target_aggregate_function
Erforderlich
time_column_name
Erforderlich
time_series_id_column_names
Erforderlich
features_unknown_at_forecast_time
Erforderlich