ForecastingParameters Classe

Gérer les paramètres utilisés par les tâches de prévision.

Héritage
builtins.object
ForecastingParameters

Constructeur

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)

Paramètres

time_column_name
str
valeur par défaut: None

Nom de la colonne d’heure. Ce paramètre permet de spécifier la colonne DateHeure dans les données d’entrée utilisées pour la génération de la série chronologique et la déduction de sa fréquence.

forecast_horizon
int ou str
valeur par défaut: 1

Horizon maximal de prévision souhaité en unités de fréquence de série chronologique. La valeur par défaut est 1.

Les unités sont basées sur l’intervalle de temps de vos données d’entraînement (par ex., mensuelles, hebdomadaires) que l’analyste doit prévoir. Quand la tâche est de type prévision, ce paramètre est obligatoire. Pour plus d’informations sur la définition des paramètres de prévision, consultez Entraîner automatiquement un modèle de prévision de série chronologique.

time_series_id_column_names
str ou list(str)
valeur par défaut: None

Noms des colonnes utilisées pour regrouper une série chronologique. Elle permet de créer plusieurs séries. Si les noms de colonnes de l’ID de la série chronologique ne sont pas définis ou si les colonnes d’identificateur spécifiées n’identifient pas toutes les séries du jeu de données, les identificateurs de série chronologique seront automatiquement créés pour votre jeu de données.

group_column_names
str ou list(str)
valeur par défaut: None
target_lags
int, str ou list(int)
valeur par défaut: None

Nombre de périodes passées à décaler par rapport à la colonne cible. Par défaut, les latences sont désactivées.

Pendant la prévision, ce paramètre correspond au nombre de lignes dont les valeurs cibles doivent être décalées en fonction de la fréquence des données. Ce paramètre est représenté sous la forme d’une liste ou d’un entier unique. Un décalage est nécessaire en l’absence de correspondance ou de corrélation par défaut des relations entre les variables indépendantes et la variable dépendante. Par exemple, quand vous essayez de prévoir la demande d’un produit, la demande mensuelle peut dépendre du prix de certaines matières premières trois mois auparavant. Dans ce cas, vous pouvez appliquer un décalage négatif de trois mois à la cible (la demande) afin que le modèle soit entraîné sur la relation appropriée. Pour plus d’informations, consultez Entraîner automatiquement un modèle de prévision de série chronologique.

Remarque sur la détection automatique des décalages cibles et de la taille de fenêtre dynamique. Consultez les commentaires correspondants dans la section de la fenêtre dynamique. Nous utilisons l’algorithme suivant pour détecter la latence cible optimale et la taille de fenêtre dynamique.

  1. Estimez l’ordre de latence maximale pour la sélection de la fonctionnalité de consultation. Dans notre cas, il s’agit du nombre de périodes jusqu’à la granularité de la fréquence suivante, c.-à-d. si la fréquence est quotidienne, il s’agit d’une semaine (7), s’il s’agit d’une semaine, il s’agit du mois (4). Les valeurs multipliées par deux sont les plus grandes valeurs possibles des latences/fenêtres dynamiques. Dans nos exemples, nous examinerons l’ordre de latence maximale de 14 et 8 respectivement.

  2. Créez une série désaisonnière en ajoutant des composants de tendance et des restes. Ce sera utilisé à l’étape suivante.

  3. Estimez la fonction d'auto-corrélation partielle (PACF) sur les données de (2) et recherchez les points où l'auto-corrélation est significative, c'est-à-dire que sa valeur absolue est supérieure à 1,96/racine carrée (valeur maximale du retard), ce qui correspond à une signification de 95 %.

  4. Si tous les points sont significatifs, nous considérons qu’il s’agit d’un caractère saisonnier fort et que vous ne créez pas de fonctionnalités de recherche.

  5. Nous balayons les valeurs PACF à partir du début et la valeur avant la première corrélation insignifiante automatique désignera la latence. Si le premier élément significatif (la valeur corrélée elle-même) est suivi de manière non significative, le décalage sera 0 et nous n’utiliserons pas de fonctionnalités de recherche.

feature_lags
str ou None
valeur par défaut: None

Indicateur de génération de décalages pour les caractéristiques numériques avec « auto » ou None.

target_rolling_window_size
int, str ou None
valeur par défaut: None

Nombre de périodes passées utilisées pour créer une moyenne de fenêtres dynamiques de la colonne cible.

Pendant la prévision, ce paramètre correspond à n périodes historiques à utiliser pour générer les valeurs prévues, < = taille du jeu d’entraînement. En cas d’omission, n est la taille du jeu d’apprentissage complet. Spécifiez ce paramètre si vous souhaitez prendre en compte seulement une partie des données historiques pour l’entraînement du modèle. Si la valeur est définie sur « auto », la fenêtre dynamique est estimée comme dernière valeur où le PACF est plus le seuil de précision. Veuillez consulter la section target_lags pour plus de détails.

holiday_country
str ou None
valeur par défaut: None
seasonality
int, str ou None
valeur par défaut: auto

Définissez le caractère saisonnier de la série chronologique sous la forme d’un entier multiple de la fréquence de la série. Si la saisonnalité est définie sur « auto », elle est déduite. Si la valeur est None, la série chronologique est supposée non saisonnière, ce qui équivaut à caractère saisonnier = 1.

country_or_region_for_holidays
str ou None
valeur par défaut: None

Pays/région utilisé pour générer les caractéristiques de congés. Il doit s’agir des codes de pays/région à deux lettres au format ISO 3166, par exemple, « US » ou « GB ».

use_stl
str ou None
valeur par défaut: None

Configurez la décomposition STL de la colonne cible de série chronologique. use_stl peut prendre trois valeurs : None (valeur par défaut) : aucune décomposition STL, season : génère uniquement le composant de saison, et season_trend : génère des composants de saison et de tendance.

short_series_handling
bool
valeur par défaut: True

Configurez la gestion des séries courtes pour les tâches de prévision.

short_series_handling_configuration
str ou None
valeur par défaut: auto

Paramètre définissant la manière dont AutoML doit gérer les séries chronologiques courtes.

Valeurs possibles : « auto » (par défaut), « Remplir », « Annuler » et Aucune.

  • auto les séries courtes sont remplies en l’absence de séries longues. Sinon, les séries courtes sont annulées.
  • remplir toutes les séries courtes sont remplies.
  • annuler toutes les séries courtes sont annulées.
  • Aucune les séries courtes ne sont pas modifiées. Si la valeur est « pad », la table est remplie avec les zéros et les valeurs vides pour les régresseurs et les valeurs aléatoires pour la cible avec la moyenne égale à la valeur cible médiane pour un ID de série chronologique donné. Si la valeur médiane est supérieure ou égale à zéro, la valeur minimale remplie est coupée de zéro. Entrée :

Date

numeric_value

string

cible

2020-01-01

23

green

55

Sortie en supposant que le nombre minimal de valeurs est de quatre :

Date

numeric_value

string

cible

2019-12-29

0

N/D

55.1

2019-12-30

0

N/D

55.6

2019-12-31

0

N/D

54.5

2020-01-01

23

green

55

Remarque : Nous avons deux paramètres short_series_handling_configuration et legacy short_series_handling. Lorsque les deux paramètres sont définis, nous les synchronisons comme indiqué dans le tableau ci-dessous (short_series_handling_configuration et short_series_handling par souci de concision sont marqués respectivement comme handling_configuration et handling).

Manipulation

handling_configuration

gestion résultante

handling_configuration résultants

True

auto

True

auto

Vrai

Pad

True

auto

Vrai

drop

True

auto

Vrai

Aucun

False

None

Faux

auto

False

None

Faux

Pad

False

None

Faux

drop

False

None

False

None

False

None

freq
str ou None
valeur par défaut: None

Fréquence de prévision.

Lors d'une prévision, ce paramètre représente la période pour laquelle la prévision est souhaitée, par exemple tous les jours, toutes les semaines, tous les ans, etc. La fréquence de prévision correspond à la fréquence du jeu de données par défaut. Vous pouvez la définir sur une valeur supérieure (mais pas inférieure) à la fréquence du jeu de données. Nous allons agréger les données et générer les résultats à la fréquence prévue. Par exemple, pour les données quotidiennes, vous pouvez définir une fréquence quotidienne, hebdomadaire ou mensuelle, mais pas toutes les heures. La fréquence doit correspondre à un alias de décalage Pandas. Pour plus d’informations, consultez la documentation Pandas : https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str ou None
valeur par défaut: None

Fonction à utiliser pour agréger la colonne cible de la série chronologique de façon à ce qu’elle soit conforme à une fréquence spécifiée par l’utilisateur. Si target_aggregation_function est défini, mais que le paramètre freq ne l’est pas, une erreur est générée. Les fonctions d’agrégation cibles possibles sont les suivantes : « sum », « max », « min » et « mean ».

  • Les valeurs de la colonne cible sont agrégées en fonction de l’opération spécifiée. En général, la somme est appropriée pour la plupart des scénarios.

  • Les colonnes de prédiction numériques dans vos données sont agrégées par somme, moyenne, valeur minimale et valeur maximale. Par conséquent, le ML automatisé génère de nouvelles colonnes suffixées avec le nom de la fonction d’agrégation et applique l’opération d’agrégation sélectionnée.

  • Pour les colonnes de prédiction catégoriques, les données sont agrégées par mode, la catégorie la plus visible dans la fenêtre.

  • Les colonnes de prédiction de date sont agrégées par valeur minimale, valeur maximale et mode.

Freq

target_aggregation_function

Mécanisme de correction de la régularité des données

Aucun (par défaut)

Aucun (par défaut)

L’agrégation n’est pas appliquée. Si la fréquence valide ne peut pas être déterminée, l’erreur est déclenchée.

Une certaine valeur

Aucun (par défaut)

L’agrégation n’est pas appliquée. Si le nombre de points de données conformes à la grille de fréquence donnée est inférieur à 90 %, ces points sont supprimés, sinon l’erreur est déclenchée.

Aucun (par défaut)

Fonction d’agrégation

L’erreur concernant les paramètres de fréquence manquants est générée.

Une certaine valeur

Fonction d’agrégation

Agréger à la fréquence à l’aide de la fonction providedaggregation.

cv_step_size
str, int ou None
valeur par défaut: auto

Nombre de périodes entre origin_time d’un repli de validation croisée et le repli suivant. Par exemple, si n_step = 3 pour les données quotidiennes, l’heure d’origine de chaque repli sera espacée de trois jours.

validate_parameters
bool
valeur par défaut: True

Configurez pour valider les paramètres d’entrée.

features_unknown_at_forecast_time
valeur par défaut: None
_enable_future_regressors
valeur par défaut: False

Méthodes

from_parameters_dict

Construisez la classe ForecastingParameters à partir d’un dictionnaire.

validate_parameters

Validez les paramètres de la classe ForecastingParameters.

from_parameters_dict

Construisez la classe ForecastingParameters à partir d’un dictionnaire.

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

Paramètres

parameter_dict
Obligatoire

Le dictionnaire contient tous les paramètres de prévision.

validate_params
Obligatoire

Indique s’il faut valider le paramètre d’entrée ou non.

show_deprecate_warnings
valeur par défaut: True

Affichez l’avertissement relatif aux paramètres déconseillés.

validate_parameters

Validez les paramètres de la classe ForecastingParameters.

validate_parameters()

Attributs

country_or_region_for_holidays

Pays/région utilisé pour générer les caractéristiques de congés. Il doit s’agir d’un code de pays/région à deux lettres au format ISO 3166, par exemple, « US » ou « GB ».

cv_step_size

Nombre de périodes entre origin_time d’un repli de validation croisée et le repli suivant. Par exemple, si n_step = 3 pour les données quotidiennes, l’heure d’origine de chaque repli sera espacée de trois jours.

drop_column_names

Noms des colonnes à supprimer pour les tâches de prévision.

dropna

Configurez dropna dans le transformateur de données de série chronologique.

feature_lags

Indicateur de génération de décalages pour les fonctionnalités numériques.

features_unknown_at_forecast_time

Nom(s) de colonne des fonctionnalités disponibles pour l’entraînement, mais inconnus au moment de la prévision/inférence. Si ce n’est pas défini, il est supposé que toutes les colonnes de fonctionnalité sont connues au moment de la prévision.

forecast_horizon

Horizon maximal de prévision souhaité en unités de fréquence de série chronologique. La valeur par défaut est 1. Les unités sont basées sur l’intervalle de temps de vos données d’apprentissage (par exemple, mensuelles, hebdomadaires) que l’analyste doit prévoir.

formatted_drop_column_names

Noms formatés des colonnes à supprimer pour les tâches de prévision.

formatted_group_column_names

formatted_target_lags

Nombre formaté de périodes passées mises en forme à décaler de la colonne cible.

formatted_time_series_id_column_names

Noms des colonnes utilisées pour regrouper une série chronologique. Elle permet de créer plusieurs séries. Si time_series_id_column_names n’est pas défini, le jeu de données est supposé être une série chronologique.

formatted_unknown_features

Nom(s) de colonne des fonctionnalités disponibles pour l’entraînement, mais inconnus au moment de la prévision/inférence. Si ce n’est pas défini, il est supposé que toutes les colonnes de fonctionnalité sont connues au moment de la prévision. Pris en charge uniquement dans dnn/tcn. Lorsque l’utilisateur ne spécifie rien, les fonctionnalités futures ne sont pas activées dans dnn. Toutefois, s’ils fournissent une liste vide, les fonctionnalités futures sont activées et toutes les colonnes de fonctionnalité sont supposées être connues au moment de la prévision.

freq

Fréquence du jeu de données.

group_column_names

holiday_country

Pays/région utilisé pour générer les caractéristiques de congés. Il doit s’agir d’un code de pays/région à deux lettres au format ISO 3166, par exemple, « US » ou « GB ».

overwrite_columns

Configurez overwrite_columns dans le transformateur de données de série chronologique.

seasonality

Caractère saisonnier de la série chronologique sous la forme d’un entier multiple de la fréquence de la série.

short_series_handling_configuration

Retourne si le fragment bref doit être rempli.

target_aggregation_function

Retourne la fonction d’agrégation cible.

target_lags

Nombre de périodes passées à décaler par rapport à la colonne cible.

target_rolling_window_size

time_column_name

Nom de la colonne d’heure. Ce paramètre permet de spécifier la colonne DateHeure dans les données d’entrée utilisées pour la génération de la série chronologique et la déduction de sa fréquence.

time_series_id_column_names

Noms des colonnes utilisées pour regrouper une série chronologique. Elle permet de créer plusieurs séries. Si time_series_id_column_names n’est pas défini, le jeu de données est supposé être une série chronologique.

transform_dictionary

Configurez transform_dictionary dans le transformateur de données de série chronologique.

use_stl

Configurez la décomposition STL de la colonne cible de série chronologique. use_stl peut prendre trois valeurs : None (valeur par défaut) : aucune décomposition STL, season : génère uniquement le composant de saison, et season_trend : génère des composants de saison et de tendance.

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