ForecastingSettings Classe

Paramètres de prévision pour un travail AutoML.

Héritage
azure.ai.ml.entities._mixins.RestTranslatableMixin
ForecastingSettings

Constructeur

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)

Paramètres

Nom Description
country_or_region_for_holidays
Obligatoire

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
Obligatoire

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.

forecast_horizon
Obligatoire

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.

target_lags
Obligatoire

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.

target_rolling_window_size
Obligatoire

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.

frequency
Obligatoire

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

feature_lags
Obligatoire

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

seasonality
Obligatoire

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.

use_stl
Obligatoire

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_config
Obligatoire

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 complétée 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 médiane de la valeur cible pour un ID de série chronologique donné. Si la médiane est supérieure ou égale à zéro, la valeur minimale rembourrée est rogné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

gestion de la configuration

gestion résultante

gestion de la configuration résultante

True

auto

True

auto

True

Pad

True

auto

True

drop

True

auto

True

None

False

None

False

auto

False

None

Faux

Pad

False

None

False

drop

False

None

False

None

False

None

target_aggregate_function
Obligatoire
str

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 valeur

Aucun (par défaut)

L’agrégation n’est pas appliquée. Si le nombre de points de données conformes à une grille de fréquence donnée est inférieur à 90 %, ces points seront 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 manquante est générée.

Une valeur

Fonction d’agrégation

Agréger à la fréquence à l’aide de la fonction d’agrégation approvisionnée.

time_column_name
Obligatoire

Nom de la colonne de temps. 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
Obligatoire

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.

features_unknown_at_forecast_time
Obligatoire

Colonnes de fonctionnalité disponibles pour l’entraînement, mais inconnues au moment de la prévision/inférence. Si features_unknown_at_forecast_time est défini sur une liste vide, il est supposé que toutes les colonnes de fonctionnalité du jeu de données sont connues au moment de l’inférence. Si ce paramètre n’est pas défini, la prise en charge des fonctionnalités futures n’est pas activée.

Paramètres de mots-clés uniquement

Nom Description
country_or_region_for_holidays
Obligatoire
cv_step_size
Obligatoire
forecast_horizon
Obligatoire
target_lags
Obligatoire
target_rolling_window_size
Obligatoire
frequency
Obligatoire
feature_lags
Obligatoire
seasonality
Obligatoire
use_stl
Obligatoire
short_series_handling_config
Obligatoire
target_aggregate_function
Obligatoire
time_column_name
Obligatoire
time_series_id_column_names
Obligatoire
features_unknown_at_forecast_time
Obligatoire