ForecastingParameters Klasse

Verwalten von Parametern, die von Vorhersageaufgaben verwendet werden

Vererbung
builtins.object
ForecastingParameters

Konstruktor

ForecastingParameters(time_column_name: str | None = None, forecast_horizon: str | int = 1, time_series_id_column_names: str | List[str] | None = None, group_column_names: str | List[str] | None = None, target_lags: List[int] | int | str | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, holiday_country: str | None = None, seasonality: str | int | None = 'auto', country_or_region_for_holidays: str | None = None, use_stl: str | None = None, short_series_handling: bool = True, short_series_handling_configuration: str | None = 'auto', freq: str | None = None, target_aggregation_function: str | None = None, cv_step_size: str | int | None = 'auto', features_unknown_at_forecast_time: str | List[str] | None = None, validate_parameters: bool = True, _enable_future_regressors: bool = False, **kwargs: Any)

Parameter

time_column_name
str
Standardwert: None

Der Name der Spalte „time“. 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.

forecast_horizon
int oder str
Standardwert: 1

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.

time_series_id_column_names
str oder list(str)
Standardwert: None

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.

group_column_names
str oder list(str)
Standardwert: None
target_lags
int, str oder list(int)
Standardwert: None

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.

feature_lags
str oder None
Standardwert: None

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

target_rolling_window_size
int, str oder None
Standardwert: None

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“.

holiday_country
str oder None
Standardwert: None
seasonality
int, str oder None
Standardwert: auto

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.

country_or_region_for_holidays
str oder None
Standardwert: None

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

use_stl
str oder None
Standardwert: None

Konfigurieren der 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
bool
Standardwert: True

Konfigurieren der Verarbeitung kurzer Datenreihen für Vorhersageaufgaben.

short_series_handling_configuration
str oder None
Standardwert: auto

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

handling_configuration

resultierende Handhabung

sich ergebende handling_configuration

True

auto

True

auto

Richtig

Pad

True

auto

Richtig

drop

True

auto

Richtig

Keine

False

Keine

Falsch

auto

False

Keine

Falsch

Pad

False

Keine

Falsch

drop

False

Keine

False

Keine

False

Keine

freq
str oder None
Standardwert: None

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

target_aggregation_function
str oder None
Standardwert: None

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

Mechanismus zur Korrektur der Datenermäßigkeit

Keine (Standard)

Keine (Standard)

Die Aggregation wird nicht angewendet. Wenn die gültige Häufigkeit 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 fehlende Häufigkeitsparameter wird ausgelöst.

Einige Werte

Aggregationsfunktion

Aggregieren Sie mit der bereitgestellten Aggregationsfunktion zur Häufigkeit.

cv_step_size
str, int oder None
Standardwert: auto

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.

validate_parameters
bool
Standardwert: True

Konfigurieren der Überprüfung von Eingabeparametern.

features_unknown_at_forecast_time
Standardwert: None
_enable_future_regressors
Standardwert: False

Methoden

from_parameters_dict

Erstellt die ForecastingParameters-Klasse anhand eines Wörterbuchs.

validate_parameters

Überprüfen der Parameter in der ForecastingParameters-Klasse

from_parameters_dict

Erstellt die ForecastingParameters-Klasse anhand eines Wörterbuchs.

static from_parameters_dict(parameter_dict: Dict[str, Any], validate_params: bool, show_deprecate_warnings: bool | None = True) -> ForecastingParameters

Parameter

parameter_dict
Erforderlich

Das Wörterbuch enthält alle Vorhersageparameter.

validate_params
Erforderlich

Gibt an, ob Eingabeparameter überprüft werden sollen.

show_deprecate_warnings
Standardwert: True

Option zum Anzeigen von Warnungen zu veralteten Parametern.

validate_parameters

Überprüfen der Parameter in der ForecastingParameters-Klasse

validate_parameters()

Attribute

country_or_region_for_holidays

Das Land/die Region, das bzw. die zum Generieren von Feiertagfeatures 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

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.

drop_column_names

Die Namen von Spalten, die für Vorhersageaufgaben gelöscht werden sollen.

dropna

Konfiguriert „dropna“ im Transformator für Zeitreihendaten.

feature_lags

Flag zum Generieren von Verzögerungen für numerische Features.

features_unknown_at_forecast_time

Die Spaltennamen der Features, die für das Training verfügbar sind, aber zum Zeitpunkt der Vorhersage/Rückschlusszeit unbekannt sind. Wenn dies nicht definiert ist, wird davon ausgegangen, dass alle Featurespalten zum Vorhersagezeitpunkt bekannt sind.

forecast_horizon

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.

formatted_drop_column_names

Die formatierten Namen von Spalten, die für Vorhersageaufgaben gelöscht werden sollen.

formatted_group_column_names

formatted_target_lags

Die formatierte Anzahl vergangener Zeiträume, um die die Zielspalte verzögert werden soll.

formatted_time_series_id_column_names

Die Namen von Spalten, die zum Gruppieren einer Zeitreihe verwendet werden. Dieser Parameter kann zum Erstellen mehrerer Reihen verwendet werden. Wenn time_series_id_column_names nicht definiert ist, wird bei dem Dataset von einer einzelnen Zeitreihe ausgegangen.

formatted_unknown_features

Die Spaltennamen der Features, die für das Training verfügbar sind, aber zum Zeitpunkt der Vorhersage/Rückschlusszeit unbekannt sind. Wenn dies nicht definiert ist, wird davon ausgegangen, dass alle Featurespalten zum Vorhersagezeitpunkt bekannt sind. Wird nur in dnn/tcn unterstützt. Wenn der Benutzer nichts angibt, werden zukünftige Features in dnn nicht aktiviert. Wenn sie jedoch eine leere Liste bereitstellen, werden zukünftige Features aktiviert, und es wird davon ausgegangen, dass alle Featurespalten zum Vorhersagezeitpunkt bekannt sind.

freq

Die Häufigkeit des Datasets.

group_column_names

holiday_country

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

overwrite_columns

Konfigurieren von „overwrite_columns“ im Transformator für Zeitreihendaten.

seasonality

Die Saisonalität von Zeitreihen als ganzzahliges Vielfaches der Zeitreihenhäufigkeit.

short_series_handling_configuration

Gibt zurück, ob ein kurzes Aggregationsintervall aufgefüllt werden soll.

target_aggregation_function

Dient zum Zurückgeben der Zielaggregationsfunktion.

target_lags

Die Anzahl vergangener Zeiträume, um die die Zielspalte verzögert werden soll.

target_rolling_window_size

time_column_name

Der Name der Spalte „time“. 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

Die Namen von Spalten, die zum Gruppieren einer Zeitreihe verwendet werden. Dieser Parameter kann zum Erstellen mehrerer Reihen verwendet werden. Wenn time_series_id_column_names nicht definiert ist, wird bei dem Dataset von einer einzelnen Zeitreihe ausgegangen.

transform_dictionary

Konfiguriert transform_dictionary im Transformator für Zeitreihendaten.

use_stl

Konfiguriert die STL-Aufschlüsselung der Zielspalte „time-series“. 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).

DEFAULT_TIMESERIES_VALUE

DEFAULT_TIMESERIES_VALUE = {'_enable_future_regressors': False, 'cv_step_size': 'auto', 'feature_lags': None, 'features_unknown_at_forecast_time': None, 'forecast_horizon': 1, 'freq': None, 'max_horizon': 1, 'seasonality': 'auto', 'short_series_handling': True, 'short_series_handling_configuration': 'auto', 'target_aggregation_function': None, 'target_lags': None, 'target_rolling_window_size': None, 'use_stl': None}

DEPRECATED_DICT

DEPRECATED_DICT = {'country': 'country_or_region_for_holidays', 'country_or_region': 'country_or_region_for_holidays', 'grain_column_names': 'time_series_id_column_names', 'holiday_country': 'country_or_region_for_holidays', 'max_horizon': 'forecast_horizon'}

EMPTY_TIME_COLUMN_NAME

EMPTY_TIME_COLUMN_NAME = '_EMPTY_TIME_COLUMN_NAME'

MAX_LAG_LENGTH

MAX_LAG_LENGTH = 2000