Paramètres d'entraînement pour les modèles de prévision

Cette page fournit des informations détaillées sur les paramètres utilisés dans l'entraînement du modèle de prévision. Pour savoir comment entraîner un modèle de prévision, consultez les pages Entraîner un modèle de prévision et Entraîner un modèle avec un workflow tabulaire pour les prévisions.

Méthodes d'entraînement des modèles

Vous pouvez choisir parmi les méthodes suivantes pour entraîner votre modèle :

Encodeur dense de séries temporelles (TiDE) : modèle d'encodeur/décodeur dense optimisé basé sur DNN. Grande qualité de modèle avec entraînement et inférence rapides, en particulier pour les contextes et les horizons longs. En savoir plus

Transformateur de fusion temporelle (TFT) : modèle DNN basé sur l'attention conçu pour produire une précision et une interprétabilité élevées en alignant le modèle avec la tâche générale de prévision multihorizon. En savoir plus

AutoML : un bon choix pour un large éventail de cas d'utilisation. En savoir plus

Seq2Seq+ : un bon choix pour l'expérimentation. L'algorithme est susceptible de converger plus rapidement qu'AutoML, car son architecture est plus simple et il utilise un espace de recherche plus petit. Nos tests montrent que Seq2Seq+ offre de bons résultats avec un petit budget-temps et des ensembles de données dont la taille est inférieure à 1 Go.

Type de fonctionnalité et disponibilité au moment de la prévision

Chaque colonne utilisée pour l'entraînement d'un modèle de prévision doit posséder un type : attribut ou covariable. Les covariables sont également marquées comme disponibles ou indisponibles lors de la prévision.

Type de série Disponible au moment de la prévision Description Exemples Champs de l'API
Attribut Disponible Un attribut est une fonctionnalité statique qui ne change pas dans le temps. Couleur de l'article, description du produit. time_series_attribute_columns
Covariable Disponible

Variable exogène qui évolue au fil du temps. Une covariable disponible au moment de la prévision constitue un indicateur majeur.

Vous devez fournir des données de prédiction pour cette colonne pour chaque point de l'horizon de prévision.

Jours fériés, promotions planifiées ou événements. available_at_forecast_columns
Covariable Non disponible Une covariable n'est pas disponible au moment de la prévision. Vous n'avez pas besoin de fournir de valeurs pour ces caractéristiques lors de la création d'une prévision. Météo réelle. unavailable_at_forecast_columns

En savoir plus sur la relation entre disponibilité des fonctionnalités et Horizon de prévision, fenêtre de contexte et période de prévision.

Horizon de prévision, fenêtre de contexte et période de prévision

Les caractéristiques de prévision sont divisées en attributs statiques et covariées de variantes temporelles.

Lorsque vous entraînez un modèle de prévision, vous devez spécifier les données d'entraînement covariées qui sont les plus importantes à capturer. Ceci est exprimé sous la forme d'une Période de prévision, une série de lignes composées des éléments suivants :

  • Le contexte ou les données historiques, jusqu'au moment de la prédiction.
  • L'horizon ou les lignes utilisées pour la prédiction.

Dans leur ensemble, les lignes de la fenêtre définissent une instance de série temporelle qui sert d'entrée de modèle : elle permet d'entraîner et d'évaluer Vertex AI et de l'utiliser pour la prédiction. La ligne utilisée pour générer la fenêtre est la première ligne de l'horizon et identifie de manière unique la fenêtre de la série temporelle.

L'horizon de prévision détermine jusqu'à quand le modèle prévoit la valeur cible pour chaque ligne de données de prédiction.

La fenêtre de contexte définit jusqu'où le modèle remonte dans le temps lors de l'entraînement (et des prévisions). En d'autres termes, pour chaque point de données d'entraînement, la fenêtre de contexte détermine jusqu'à quelle période le modèle recherche des modèles prédictifs. Découvrez les bonnes pratiques pour trouver une valeur adaptée à la fenêtre de contexte.

Par exemple, si fenêtre de contexte = 14 et horizon de prévision = 7, chaque exemple de fenêtre aura 14 + 7 = 21 lignes.

Disponibilité au moment de la prévision

Les covariées de prévision peuvent être divisées entre celles qui sont disponibles au moment de la prévision et celles qui ne sont pas disponibles au moment de la prévision.

Lors du traitement des covariées qui sont disponibles au moment de la prévision, Vertex AI prend en compte les valeurs covariées de la fenêtre de contexte et de l'horizon de prévision pour l'entraînement, l'évaluation et la prédiction. Lors du traitement des covariées qui ne sont pas disponibles au moment de la prévision, Vertex AI considère les valeurs covariées de la fenêtre de contexte, mais exclut explicitement ces valeurs de l'horizon de prévision.

Stratégies de fenêtre glissante

Vertex AI génère des fenêtres de prévision à partir des données d'entrée à l'aide d'une stratégie de fenêtre glissante. La stratégie par défaut est Count (Nombre).

  • Count (Nombre). Le nombre de fenêtres générées par Vertex AI ne doit pas dépasser une valeur maximale fournie par l'utilisateur. Si le nombre de lignes dans l'ensemble de données d'entrée est inférieur au nombre maximal de fenêtres, chaque ligne est utilisée pour générer une fenêtre. Sinon, Vertex AI effectue un échantillonnage aléatoire pour sélectionner les lignes. La valeur par défaut pour le nombre maximal de fenêtres est 100,000,000. Le nombre maximal de fenêtres ne peut pas dépasser 100,000,000.
  • Pas : Vertex AI utilise une ligne toutes les X lignes d'entrée pour générer une fenêtre, jusqu'à 100 000 000 de fenêtres maximum. Cette option est utile pour les prédictions saisonnières ou périodiques. Par exemple, vous pouvez limiter les prévisions à un seul jour de la semaine en définissant la valeur du pas sur 7. Cette valeur peut être comprise entre 1 et 1000.
  • Colonne : vous pouvez ajouter à vos données d'entrée une colonne dont les valeurs sont True ou False. Vertex AI génère une fenêtre pour chaque ligne d'entrée dont la valeur de colonne est True. Les valeurs True et False peuvent être définies dans n'importe quel ordre, à condition que le nombre total de lignes True soit inférieur à 100,000,000. Les valeurs booléennes sont préférées, mais les valeurs de chaîne sont également acceptées. Les valeurs de chaîne ne sont pas sensibles à la casse.

En générant moins de fenêtres que le nombre de fenêtres par défaut (100,000,000), vous pouvez réduire le temps nécessaire au prétraitement et à l'évaluation du modèle. De plus, le sous-échantillonnage des fenêtres vous permet de mieux contrôler la distribution des fenêtres observées pendant l'entraînement. Si elle est utilisée correctement, cette méthode peut apporter des résultats plus précis et plus cohérents.

Utilisation de la fenêtre de contexte et de l'horizon de prévision pendant l'entraînement et les prévisions

Supposons que vous collectiez des données tous les mois, avec une fenêtre de contexte de cinq mois et un horizon de prévision de cinq mois. L'entraînement de votre modèle avec 12 mois de données donnerait les ensembles d'entrées et de prévisions suivants :

  • [1-5]:[6-10]
  • [2-6]:[7-11]
  • [3-7]:[8-12]

Après l'entraînement, le modèle peut être utilisé pour prédire les mois 13 à 17 :

  • [8-12]:[13-17]

Le modèle n'utilise que les données incluses dans la fenêtre de contexte pour effectuer la prévision. Toutes les données fournies en dehors de la fenêtre de contexte sont ignorées.

Une fois les données du mois 13 collectées, elles peuvent être utilisées pour les prédictions du mois 18 :

  • [9-13]:[14-18]

Pour pouvez suivre cette procédure pour effectuer les prochaines prédictions, à condition d'obtenir de bons résultats. Vous pourrez éventuellement réentraîner le modèle avec les nouvelles données. Par exemple, si vous avez réentraîné le modèle après avoir ajouté six mois de données supplémentaires, les données d'entraînement sont utilisées comme suit :

  • [2-6]:[7-11]
  • [3-7]:[8-12]
  • [4-8]:[9-13]
  • [5-9]:[10-14]
  • [6-10]:[11-15]
  • [7-11]:[12-16]
  • [8-12]:[13-17]
  • [9-13]:[14-18]

Vous pouvez ensuite utiliser ce modèle pour prédire les mois 19 à 23 :

  • [14-18]:[19-23]

Objectifs d'optimisation pour les modèles de prévision

Lorsque vous entraînez un modèle, Vertex AI sélectionne un objectif d'optimisation par défaut en fonction de votre type de modèle et du type de données utilisé pour votre colonne cible. Le tableau suivant fournit quelques détails sur les problèmes pour lesquels les modèles de prévision sont les mieux adaptés :

Optimization objective Valeur de l'API Utilisez cet objectif si vous voulez...
RMSE minimize-rmse Minimiser la racine carrée de l'erreur quadratique moyenne (RMSE). Capturer les valeurs les plus extrêmes avec précision et réduire le biais lors de l'agrégation des prédictions. Valeur par défaut.
EAM minimize-mae Minimiser l'erreur absolue moyenne (EAM). Afficher les valeurs extrêmes comme des anomalies ayant moins d'incidence sur le modèle.
RMSLE minimize-rmsle Minimiser la racine carrée de l'erreur quadratique moyenne (RMSLE). Pénaliser l'erreur sur la taille relative plutôt que sur la valeur absolue. Utile lorsque les valeurs prédites et réelles peuvent être élevées.
RMSPE minimize-rmspe Minimiser le pourcentage de la racine carrée de l'erreur quadratique moyenne (RMSPE). Capturer une plage de valeurs plus grande avec précision. Semblable à l'option RMSE, mais le calcul concerne la magnitude cible. Utile lorsque la plage de valeurs est large.
WAPE minimize-wape-mae Minimiser la combinaison de l'erreur absolue pondérée en pourcentage (WAPE) et de l'erreur absolue moyenne (EAM). Utile lorsque les valeurs réelles sont basses.
Perte de quantiles minimize-quantile-loss Minimiser la perte pinball mise à l'échelle des quantiles définis pour quantifier l'incertitude des estimations. Les prédictions de quantiles quantifient l'incertitude des prédictions. Elles mesurent la probabilité qu'une prédiction se situe dans une fourchette.

Jours fériés par région

Dans certains cas d'utilisation, les données de prévision peuvent présenter un comportement irrégulier les jours correspondant aux jours fériés régionaux. Si vous souhaitez que votre modèle prenne cet effet, sélectionnez la ou les régions géographiques qui correspondent à vos données d'entrée. Pendant l'entraînement, Vertex AI crée des caractéristiques catégorielles de jours fériés dans le modèle en fonction de la date de la colonne Heure et des régions géographiques spécifiées.

Voici un extrait des dates et caractéristiques catégorielles de jours fériés aux États-Unis. Notez qu'une caractéristique catégorielle est attribuée à la date principale, à un ou plusieurs jours précédant les jours fériés et à un ou plusieurs jours qui suivent. Par exemple, la date principale de la Fête des Mères aux États-Unis en 2013 était le 12 mai. Les caractéristiques du jour de la Fête des Mères sont attribuées au jour en question, aux six jours antérieurs et au jour qui suit.

Date Caractéristique catégorielle de jours fériés
2013-05-06MothersDay
2013-05-07MothersDay
2013-05-08MothersDay
2013-05-09MothersDay
2013-05-10MothersDay
2013-05-11MothersDay
2013-05-12MothersDay
2013-05-13MothersDay
2013-05-26US_MemorialDay
2013-05-27US_MemorialDay
2013-05-28US_MemorialDay

Les valeurs acceptées pour les régions concernées par les jours fériés sont les suivantes :

  • GLOBAL : détecte les jours fériés dans toutes les régions du monde.
  • NA : détecte les jours fériés en Amérique du Nord.
  • JAPAC : détecte les jours fériés au Japon et en Asie-Pacifique.
  • EMEA : détecte les jours fériés en Europe, au Moyen-Orient et en Afrique.
  • LAC : détecte les jours fériés en Amérique latine et dans les Caraïbes.
  • Codes pays ISO 3166-1 : détecte les jours fériés des pays individuels.

Pour afficher la liste complète des dates de jours fériés pour chaque région géographique, reportez-vous à la table holidays_and_events_for_forecasting de BigQuery. Vous pouvez ouvrir cette table via la console Google Cloud en procédant comme suit :

  1. Dans la section BigQuery de la console Google Cloud, accédez à la page BigQuery Studio.

    Accéder à BigQuery Studio

  2. Dans le panneau Explorer, ouvrez le projet bigquery-public-data. Si vous ne trouvez pas ce projet ou si vous souhaitez en savoir plus, consultez la page Ouvrir un ensemble de données public.
  3. Ouvrez l'ensemble de données ml_datasets.
  4. Ouvrez la table holidays_and_events_for_forecasting.

Voici un extrait de la table holidays_and_events_for_forecasting :

Exemple de jours fériés pour les prévisions