Partager via


Fonctionnalités du calendrier pour la prévision de séries chronologiques dans AutoML

Cet article se concentre sur les caractéristiques basées sur le calendrier créées par AutoML pour augmenter la précision des modèles de régression de prévision. Étant donné que les jours fériés peuvent fortement affecter le comportement du système modélisé, la période précédant, pendant et suivant un jour férié peut influencer les modèles de la série. Chaque jour férié génère une fenêtre sur votre jeu de données existant à laquelle l’étudiant peut attribuer un effet. Cela s’avère particulièrement utile dans des scénarios de jours fériés qui génèrent des demandes élevées pour certains produits spécifiques. Consultez l’article Vue d’ensemble des méthodes pour plus d’informations générales sur la méthodologie de prévision dans AutoML. Vous trouverez des instructions et des exemples pour l’apprentissage des modèles de prévision dans AutoML dans notre article Configurer AutoML pour effectuer l’apprentissage d’un modèle de prévision de série chronologique.

Dans le cadre de l’ingénierie de caractéristiques, AutoML transforme les colonnes de type DateHeure fournies dans les données d’apprentissage en nouvelles colonnes de caractéristiques basées sur le calendrier. Ces caractéristiques permettent aux modèles de régression d’apprendre des modèles saisonniers à plusieurs cadences. AutoML peut toujours créer des caractéristiques de calendrier à partir de l’index d’heure de la série chronologique, car il s’agit d’une colonne obligatoire dans les données d’apprentissage. Les caractéristiques de calendrier sont également constituées à partir d’autres colonnes de type DateHeure le cas échéant. Pour plus d’informations sur les exigences en matière de données, consultez le guide expliquant comment AutoML utilise vos données.

AutoML prend en compte deux catégories de caractéristiques de calendrier : les caractéristiques standard qui se basent entièrement sur les valeurs de date et d’heure et les caractéristiques de jour férié qui sont spécifiques à un pays ou à une région du monde. Nous abordons ces caractéristiques dans le reste de l’article.

Caractéristiques de calendrier standard

Le tableau suivant montre l’ensemble complet des caractéristiques de calendrier standard d’AutoML, ainsi qu’un exemple de sortie. L’exemple utilise le format standard YY-mm-dd %H-%m-%d pour la représentation DateHeure.

Nom de la fonctionnalité Description Exemple de sortie pour 2011-01-01 00:25:30
year Caractéristique numérique représentant l’année civile 2011
year_iso Représente l’année ISO comme définie par la norme ISO 8601. Les années ISO commencent la première semaine de l’année qui a un jeudi. Si le 1er janvier est un vendredi par exemple, l’année ISO commence le 4 janvier. Les années ISO peuvent différer des années civiles. 2010
half Caractéristique indiquant si la date est comprise dans le premier ou le deuxième semestre de l’année. La valeur est 1 si la date est antérieure au 1er juillet, 2 dans le cas contraire.
quarter Caractéristique numérique représentant le trimestre de la date donnée. Les valeurs 1, 2, 3 ou 4 représentent le premier, le deuxième, le troisième et le quatrième trimestre de l’année civile. 1
month Caractéristique numérique représentant le mois de l’année civile. Les valeurs sont comprises entre 1 et 12. 1
month_lbl Caractéristique de chaîne représentant le nom du mois. « Janvier »
day Caractéristique numérique représentant le jour du mois. Les valeurs sont comprises entre 1 et 31. 1
hour Caractéristique numérique représentant l’heure de la journée. Les valeurs sont comprises entre 0 et 23. 0
minute Caractéristique numérique représentant les minutes dans l’heure donnée. Les valeurs sont comprises entre 0 et 59. 25
second Caractéristique numérique représentant la seconde de l’heure donnée. Si seul le format de date est fourni, la valeur est définie sur 0. Les valeurs sont comprises entre 0 et 59. 30
am_pm Caractéristique numérique indiquant si l’heure correspond au matin ou au soir. 0 correspond aux heures antérieures à midi, 1 correspond aux heures après midi. 0
am_pm_lbl Caractéristique de chaîne indiquant si l’heure correspond au matin ou à l’après-midi. « am »
hour12 Caractéristique numérique représentant l’heure de la journée au format 12 heures. Les valeurs 0 à 12 correspondent à la première moitié de la journée et les valeurs 1 à 11 à la deuxième moitié. 0
wday Caractéristique numérique représentant le jour de la semaine. Les valeurs sont comprises entre 0 et 6, où 0 correspond au lundi. 5
wday_lbl Caractéristique de chaîne représentant le jour de la semaine.
qday Caractéristique numérique représentant le jour dans le trimestre. Les valeurs sont comprises entre 1 et 92. 1
yday Caractéristique numérique représentant le jour de l’année. Les valeurs sont comprises entre 1 et 365, ou 1 et 366 en cas d’année bissextile. 1
week Caractéristique numérique représentant la semaine ISO comme définie dans la norme ISO 8601. Les semaines ISO commencent toujours le lundi et se terminent le dimanche. Les valeurs sont comprises entre 1 et 52, ou entre 1 et 53 dans le cas des années où le 1er janvier est un jeudi ou des années bissextiles où le 1er janvier est un mercredi. 52

L’ensemble complet des caractéristiques de calendrier standard peut ne pas être créé dans certains cas. L’ensemble généré dépend de la fréquence des séries chronologiques et du fait que les données d’apprentissage contiennent ou non des caractéristiques DateHeure en plus de l’index d’heure. Le tableau suivant présente les caractéristiques créées pour différents types de colonnes :

Usage des colonnes Fonctionnalités du calendrier
Index d’heure Ensemble complet sauf caractéristiques de calendrier présentant une corrélation élevée avec d’autres caractéristiques. Si la fréquence des séries chronologiques est quotidienne par exemple, toutes les caractéristiques dont la fréquence est plus granulaire que quotidienne sont supprimées, car elles ne fournissent pas d’informations utiles.
Autre colonne DateHeure Ensemble réduit composé de Year, Month, Day, DayOfWeek, DayOfYear, QuarterOfYear, WeekOfMonth, Hour, Minute et Second. Si la colonne est une date sans heure, Hour, Minute et Second sont définis sur la valeur 0.

Caractéristiques de jour férié

AutoML peut également créer des caractéristiques pour représenter les jours fériés d’un pays ou d’une région spécifique. Ces caractéristiques sont configurées dans AutoML à l’aide du paramètre country_or_region_for_holidays, qui accepte un code de pays ISO.

Remarque

Les caractéristiques de jour férié peuvent être effectuées uniquement pour les séries chronologiques avec une fréquence quotidienne.

Le tableau suivant récapitule les caractéristiques de jour férié :

Nom de la fonctionnalité Description
Holiday Caractéristique de chaîne qui spécifie si une date est un jour férié national/régional. Les jours compris dans une plage de jours fériés sont également marqués.
isPaidTimeOff Caractéristique binaire avec la valeur 1 si le jour est un « congé rémunéré » dans le pays ou la région donné.

AutoML utilise Azure Open Datasets comme source d’informations sur les jours fériés. Pour plus d’informations, consultez la documentation PublicHolidays.

Pour mieux comprendre la génération de caractéristiques de jour férié, prenez en compte les exemples de données suivants :

sample_data

Pour créer des caractéristiques de jours fériés américains pour ces données, nous définissons country_or_region_for_holiday sur « US » dans les paramètres de prévision, comme indiqué dans l’exemple de code suivant :

from azure.ai.ml import automl

# create a forcasting job
forecasting_job = automl.forecasting(
    compute='test_cluster',   # Name of single or multinode AML compute infrastructure created by user
    experiment_name=exp_name, # name of experiment 
    training_data=sample_data,  
    target_column_name='demand',
    primary_metric='NormalizedRootMeanSquaredError',
    n_cross_validations=3,
    enable_model_explainability=True
)

# set custom forecast settings
forecasting_job.set_forecast_settings(
    time_column_name='timeStamp',
    country_or_region_for_holidays='US'
)

Les caractéristiques de jour férié générées se présentent comme la sortie suivante :

sample_data_output

Notez que le préfixe _automl_ est ajouté aux noms de colonnes des caractéristiques générées. AutoML utilise généralement ce préfixe pour distinguer les caractéristiques entrées des caractéristiques d’ingénierie.

Étapes suivantes