Nous proposons une nouvelle méthode d'encodage des caractéristiques catégorielles spécifiquement adaptée aux applications de prévision. Essentiellement, cette approche code les caractéristiques catégorielles en modélisant la tendance des quantités associées à chaque catégorie. Dans nos expériences, cette approche présente des avantages substantiels en termes de performance - à la fois en termes de précision et de biais de prévision - car elle permet aux modèles d'ensemble basés sur des arbres de mieux modéliser et extrapoler les tendances.

Lisez notre article sur

class="img-responsive

.

Introduction

Ce travail a été motivé par de nombreux projets de prévision de clients à l'adresse Artefact , dans lesquels nos modèles de stimulation présentaient un biais important au moment de la prédiction. Grâce à une phase de diagnostic, nous avons identifié que l'une des principales sources de biais dans les modèles d'apprentissage ensembliste provenait de leurs difficultés à modéliser avec précision les tendances et les niveaux fluctuants.

Dans ce qui suit, nous démontrons pourquoi et comment nous avons utilisé une nouvelle approche pour coder les caractéristiques catégorielles. Sur la base de nos expériences concernant un projet de prévision du commerce de détail d'un client et divers ensembles de données publiques, nous prouvons que cette technique peut effectivement atténuer les biais et améliorer la précision.

Boosting et tendances, pourquoi est-ce complexe ?

Les algorithmes d'amplification ont du mal à extrapoler

Les algorithmes de boosting ont du mal à modéliser et à extrapoler les tendances car ils ne peuvent pas prédire de nouvelles valeurs qui n'ont pas été observées dans l'ensemble d'apprentissage ou qui sont absentes des feuilles. "Les modèles d'arbres linéairestentent d'atténuer ce problème, mais nos tests n'ont pas donné de résultats concluants avec cette méthode.

Les encodages classiques favorisent les prédictions statiques

Les méthodes d'encodage les plus courantes employées dans le cadre du boosting favorisent les relations statiques entre les variables indépendantes et dépendantes, ce qui contribue à accroître le biais en présence de tendances. Le diagramme ci-dessous illustre ce phénomène :

Les encodages classiques favorisent les prédictions statiques

Représentation visuelle simplifiée mettant en évidence la nature statique de l'encodage des caractéristiques catégorielles utilisé dans les algorithmes d'amplification.

Nous reconnaissons que la représentation ci-dessus est une simplification excessive, car les arbres de décision sont plus complexes et capables d'identifier des relations non linéaires basées sur des facteurs multiples. En effet, la condition "la couleur est noire" pourrait être associée à "le mois de juin". Dans ce cas, la couleur noire n'aurait pas le même impact à tout moment. Mais regardons la situation dans son ensemble :

  • L'attribution d'un impact unique pour la couleur noire en juin n'est toujours pas idéale, car l'impact en juin 2021 peut différer de l'impact en juin 2022. Même si nous incluons l'année, la limite de décision deviendrait trop complexe à construire et à identifier, mais aussi, que se passerait-il si la formation data se termine en 2022 et que des prédictions doivent être faites pour 2023 ?

  • L'ingénierie des caractéristiques a pour but d'aider le modèle à identifier plus facilement les relations. Si nous pouvons aider le modèle à associer l'impact de la couleur noire à un moment donné sans nécessiter l'identification de relations complexes, cela serait très avantageux pour le modèle. C'est pourquoi ...

Notre nouvelle approche : Encodage dynamique des caractéristiques catégorielles

Base de l'encodage dynamique (v1 sans niveau de l'item)

En une phrase, notre méthode de codage des caractéristiques catégorielles pourrait être décrite comme suit : nous modélisons la composante de tendance de chaque catégorie et utilisons ces valeurs de tendance pour coder cette caractéristique catégorielle.

Le diagramme ci-dessous illustre la différence entre l'encodage d'une moyenne statique et l'encodage d'une tendance pour deux catégories de couleurs : le noir et l'or.

class="img-responsive

Illustration du principe d'encodage dynamique, qui implique une modélisation des tendances pour chaque catégorie

Dans nos expériences, nous avons choisi d'utiliser Prophet pour extraire la composante de tendance. Naturellement, il est possible d'envisager d'autres modèles de prévision des séries temporelles.

Il convient de noter que le codage statique de la moyenne implique que les ventes d'articles au noir se situent à un niveau moyen de 100 unités/mois à tout moment. L'encodage dynamique, en revanche, permet de tenir compte de la tendance à la hausse observée pour les articles noirs et de l'extrapoler à l'avenir. Une constatation similaire peut être faite en ce qui concerne les articles en or. Notre approche sera donc particulièrement utile dans les ensembles de données où la variable cible à prévoir suit des tendances marquées dans les différentes catégories disponibles.

Notre objectif principal est de permettre au modèle de s'adapter plus facilement aux relations changeantes entre les variables indépendantes et la variable dépendante à prévoir. Par conséquent, cette méthode d'encodage dynamique pourrait également être appliquée aux caractéristiques numériques. Prenons l'exemple du prix. Bien que le prix soit numérique et que le modèle puisse directement construire des règles basées sur lui, les préférences des gens pour les articles bon marché ou coûteux peuvent encore évoluer dans le temps et suivre une tendance de vente spécifique. Dans le contexte d'une crise économique, par exemple, les produits abordables peuvent suivre une tendance à la hausse des ventes, tandis que les produits onéreux peuvent suivre une tendance à la baisse. En considérant "abordable" comme une catégorie et "cher" comme une autre, nous pourrions proposer un codage dynamique pour la caractéristique de prix, tout comme nous l'avons fait pour les couleurs.

Il est important de noter que pour les caractéristiques numériques, les variables de base et les variables codées dynamiquement peuvent être utilisées dans le modèle, car elles fourniront différents types d'informations.

Accorder plus d'importance aux caractéristiques dynamiques (v2 avec niveau de l'élément)

Bien que cette nouvelle méthode d'encodage constitue une amélioration, il arrive souvent que l'importance des caractéristiques catégorielles ne soit pas suffisamment élevée pour avoir un impact significatif sur les prédictions lors de l'examen de l'importance des caractéristiques. Pour donner plus d'importance aux caractéristiques dynamiques et favoriser ainsi une meilleure modélisation et extrapolation des tendances, nous adaptons les valeurs d'encodage à chaque série chronologique/élément individuellement.

class="img-responsive

Formule représentant les deux composantes de l'encodage dynamique : le niveau de la catégorie et le niveau de l'élément.

Pour en revenir à notre exemple de couleur, si l'on considère deux articles noirs différents, cela permet d'encoder de manière dynamique la catégorie "noir" pour chaque article en fonction de ses ventes passées.

Tableau illustrant le calcul de l'encodage dynamique à travers un exemple simple

Tableau illustrant le calcul de l'encodage dynamique à travers un exemple simple

Expériences et résultats

Ensemble de données du client

Nous avons utilisé notre approche pour prévoir les ventes de l'un de nos clients du secteur de la vente au détail. Nous avons validé notre méthode sur un large éventail de champs d'application afin de nous assurer de son efficacité. Voici quelques points du site data concernant le contexte expérimental :

  • Les expériences ont été menées sur 9 produits différents, avec un modèle de renforcement (LightGBM) pour chaque produit.
  • Pour chaque champ d'application, une validation croisée k-fold avec une fenêtre d'expansion a été réalisée (k=5).

  • Horizon de prévision : Du jour+1 au jour+180.

  • Les performances ont été évaluées à l'aide de deux paramètres :

class="img-responsive

Dans l'ensemble, la méthode s'est avérée très efficace, entraînant une diminution absolue moyenne du biais de 9,82 % et une augmentation absolue moyenne de la précision des prévisions de 6,29 % sur les 9 champs d'application des produits et les 5 plis de validation croisée.

La section suivante valide la pertinence de notre méthode en la testant sur un ensemble de données publiques.

Ensemble de données sur les ventes des magasins publics

Dans cette étude de cas simplifiée, nous utilisons le jeu de données Kaggle Store Sales - Time Series Forecasting. Cet ensemble de données présente une tendance abrupte lorsque l'on examine la série chronologique des ventes moyennes, ce qui rend notre méthode particulièrement pertinente. En outre, l'horizon de prédiction choisi est de trois mois, ce qui est suffisamment éloigné pour bénéficier des capacités d'extrapolation de l'encodage dynamique. À des fins de démonstration, nous limitons l'ensemble des données au 31 mars 2016, juste avant qu'un tremblement de terre ne se produise, entraînant l'aplatissement de la courbe des ventes.

Avant tout encodage, notre ensemble de données initial comprend environ 75 % de caractéristiques numériques, englobant les décalages, les moyennes mobiles, les caractéristiques du calendrier et les événements de vacances. Les 25 % restants sont constitués d'attributs catégoriels tels que la famille de produits, le numéro de magasin, la ville, etc.

Deux modèles distincts sont formés : l'un utilise les caractéristiques catégorielles encodées dynamiquement à l'aide de notre méthode personnalisée, tandis que l'autre utilise le traitement natif des caractéristiques catégorielles de LightGBM.

En comparant leurs performances, nous observons une amélioration significative de l'approche d'encodage dynamique. Le tableau suivant fournit un résumé des résultats :

Comparaison des valeurs RMSE, FA et %Bias entre la méthode d'encodage LightGBM et l'encodage dynamique

Comparaison des valeurs RMSE, FA et %Bias entre la méthode d'encodage LightGBM et l'encodage dynamique

class="img-responsive

Ventes hebdomadaires moyennes + prévisions sur 3 mois (encodage dynamique vs méthode d'encodage LightGBM)

Comme le montre le graphique ci-dessus, le modèle incorporant des encodages dynamiques capture efficacement la tendance et l'extrapole, alors que le modèle alternatif peine à le faire.

Utilisation et limites

Notre méthode s'avère particulièrement utile dans les scénarios où la série temporelle présente des tendances prononcées et où l'horizon de prédiction est suffisamment éloigné pour bénéficier de l'extrapolation des tendances. En outre, au fur et à mesure que nous encodons et incorporons dynamiquement dans le modèle davantage de caractéristiques catégorielles dotées d'un pouvoir prédictif significatif, l'effet obtenu par notre approche sur les prédictions augmente. Cependant, il est important de reconnaître que d'autres méthodes d'encodage ont leurs propres avantages et peuvent être plus avantageuses dans différents contextes. En outre, il est possible de combiner les deux types d'encodage pour obtenir des résultats potentiellement meilleurs.

Conclusion

  • Les techniques d'encodage conventionnelles pour les caractéristiques catégorielles ne sont pas idéales pour les prévisions, en particulier lorsque les séries temporelles présentent des tendances marquées et que l'horizon de prévision est lointain.
  • Notre méthode est une variante de l'empilement de modèles, puisque nous utilisons un modèle Prophète - qui possède des capacités supérieures de modélisation et d'extrapolation des tendances - pour construire l'encodage des caractéristiques catégorielles.

  • Nos expériences ont démontré les avantages de la réduction des biais et de l'amélioration de la précision des prévisions.

Nous prévoyons de publier un article dans les mois à venir, qui contiendra tous les détails de notre approche et de notre mise en œuvre. Restez à l'écoute pour de nouvelles mises à jour !

class="img-responsive

Moyen Blog par Artefact.

Cet article a été initialement publié sur Medium.com.
Suivez-nous sur notre Medium Blog !