Accueil Nos publications Blog Modèles prédictifs : comment lire l’avenir ?

Modèles prédictifs : comment lire l’avenir ?

Prédire et anticiper les comportements constitue un avantage conséquent dans les prises de décision de votre organisation. Alaeddine, Data Scientist au sein de notre agence lilloise, vous donne les clés pour valoriser l’exploitation de vos données.


Caractéristiques d’une série temporelle

Une série chronologique est une série de valeurs numériques représentant l’évolution d’une quantité dans le temps. 

Une série temporelle comporte :

  • Une tendance : la série tend à croître ou à décroître ?
  • Une saisonnalité : Observe-t-on une sorte de répétition d’une certaine forme ?
  • Des outliers (valeurs aberrantes) : Y-a-t-il des points très éloignés de la distribution ?

Benchmark des modèles

Quels sont les modèles prédictifs les plus efficaces et dans quel cas les utiliser ?

Le choix d’un modèle prédictif dépend de la situation et de ce que nous souhaitons démontrer. Selon nos données, avec ou sans tendances/cycles, et selon le résultat souhaité, performances ou modélisation compréhensible par le client, nous utiliserons des approches différentes.

Nous avons regroupé dans cet article 3 catégories de modèles :

 

I. Les méthodes statistiques traditionnelles

Les 2 premières méthodes dont nous disposons font partie des méthodes très simples qui ne sont utilisées, en pratique, que pour comparer les mesures d’exactitude avec les autres modèles plus compliqués.

Par exemple, si le modèle naïf est mieux ajusté, nous ne devons pas utiliser l’autre modèle puisque le modèle naïf est meilleur et plus simple.

  • Méthode naïve : consiste à définir la valeur suivante selon la valeur précédente
  • Moyenne mobile : qui est définit par une moyenne des k observations les plus récentes.

Ensuite, nous proposons les méthodes de lissage exponentiel.

Les prévisions produites à l’aide de méthodes de lissage exponentielles sont des moyennes pondérées d’observations précédentes. Plus l’observation est récente, plus le poids associé est élevé.

Par exemple, pour prédire le chiffre d’affaires de l’année 2021 d’un produit, il est probable que l’on donne plus d’importance à la valeur du CA de 2020 qu’à la valeur du CA de 2010.

On distingue 3 types de méthodes de lissage :

  1. Le lissage exponentiel simple permet à la fois de lisser la série temporelle mais aussi de prédire la prochaine valeur. Il s’applique à des données ne présentant ni tendance, ni saisonnalité.
  2. Lissage exponentiel double : version améliorée du lissage exponentiel simple. En effet, celui-ci est capable de prendre en compte la présence d’une tendance dans les données. Toutefois, il ne permet pas de prédire des données présentant une saisonnalité.
  3. Les lissages de Holt-Winters permettent de prendre en compte des données présentant une tendance et une saisonnalité.

II. Le Machine Learning

Contrairement aux méthodes classiques, « l’apprentissage automatique » ou Machine Learning permet d’écrire des programmes qui apprennent tout seuls les relations entre les variables et créent les modèles de prévision. Ils sont capables de sélectionner puis d’exploiter automatiquement les variables importantes du point de vue de la variable cible, dans notre cas, les ventes.

Pour identifier les facteurs clés de succès, nous passons par une étape de feature engineering pendant laquelle les données brutes sont reformatées, traitées ou enrichies. Dans la majorité des cas, la connaissance métier est requise pour bien choisir les variables pertinentes et optimiser cette partie.

Quelques variables utilisées :

  • Caractéristique de la variable cible : tendance, saisonnalité, variation de la demande
  • Décisions Business : la politique de promotion, variation de prix, dépenses en publicité
  • Facteurs externes : évolution de l’offre, du marché et de la concurrence, la météo, les jours fériés…

Dans cette partie, nous proposons d’utiliser le modèle de Random Forest, ou forêt aléatoire, un algorithme d’apprentissage supervisé de type ensembliste, dont le principe est de combiner les résultats d’un ensemble de modèles plus simples et plus faibles afin de fournir une prédiction globale très fiable.

Ce modèle simple, appelé « arbre de décision » fonctionne en appliquant de manière itérative des règles logiques très simples. Chaque règle étant choisie en fonction du résultat de la précédente.

Les arbres de décision ont pour avantage d’être simples à interpréter, très rapides à entraîner, d’être non paramétrique et de nécessiter très peu de prétraitement des données.

Valorisation de votre Data

L’algorithme Random Forest effectue un apprentissage en parallèle sur de multiples arbres de décision construits aléatoirement et entrainées sur des sous-ensembles de données différents, avec un sous-ensemble aléatoire de features (caractéristiques variables des données).

Le nombre idéal d’arbres est très variable et dépend du problème.

III. Le Deep Learning

À l’inverse des modèles statistiques, ce modèle contient des dizaines de millions de paramètres sur lesquels il peut être entraîné, soit 1000 fois plus de paramètres que nos modèles précédents les plus complexes. Il doit disposer d’une puissance de calcul importante et de machines très puissantes pour réaliser le traitement. Ce modèle nécessite de grandes quantités de données pour être performant et surpasser les autres.

L’apprentissage profond est un type d’intelligence artificielle dérivé du machine learning qui s’appuie sur un réseau de neurones artificiels s’inspirant du cerveau humain. Ce réseau est composé de dizaines, voire de centaines, de « couches » de neurones, chacune recevant et interprétant les informations de la couche précédente.

La capacité du cerveau humain à reconnaître les « patterns » est due à son immense nombre de neurones qui filtrent et transmettent de l’information.

Un réseau de neurones (artificiel) représente donc une façon de capter les « patterns » dans une immense quantité de données.

Pour illustrer l’architecture d’un réseau de neurones, nous pouvons nous baser sur l’architecture d’un perceptron, qui peut être vu comme le type de réseau de neurones le plus simple ayant une seule couche.

Les variables d’entrée X1, X2 et X3 présentent l’historique des ventes et/ou d’autres variables exogènes (comme pour le Machine Learning) et notre variable de sortie (la cible) qui est une variable quantitative représente la demande d’un produit donné ŷ.

Les Wi présentent le poids associé à chaque neurone.

Z présente la somme des poids pondérés avec les données d’entrée : ∑ WiXi

i xi dont applique la fonction F , une fonction d’activation que l’on va appliquer à un neurone pour décider si ce dernier va s’activer ou non.

Comment ce modèle apprend-il ?

Nous pouvons considérer que notre modèle est bon s’il est capable de trouver la bonne valeur de sortie « y » (la demande réelle), associée aux données d’entrée correspondantes. Nous pouvons donc construire une fonction d’erreur simple, aussi appelée « coût du modèle. » L’objectif est donc de chercher à minimiser cette fonction de coût, ce qui revient à minimiser les erreurs de prédiction sur les produits.

En fait, ce que nous cherchons réellement à réaliser est d’identifier les meilleurs poids à l’entrée du modèle, (nos w1, w2, w3, sans oublier le biais de neurone b) afin que le modèle prédise le mieux possible.

Il existe différents types de réseaux de neurones, les deux plus populaires sont :

  • Réseau de neurones récurrent
  • Réseau de neurones de convolution

Comment mesurer la performance d’un modèle ?

Quels indicateurs de performance faut-il utiliser ?

Plusieurs indicateurs permettent de mesurer la performance des modèles. Chacun a ses spécificités et il faut bien souvent en utiliser plusieurs pour avoir une vision complète de la performance de votre modèle.

Pour mesurer efficacement la performance, nous devons tout d’abord séparer les données en 2 parties :

  • Un dataset d’apprentissage afin d’entrainer les modèles
  • Un dataset de test : une fois notre modèle est entrainé sur l’échantillon d’apprentissage, nous l’appliquons sur le dataset de test. Nous obtenons ainsi les ventes réelles ainsi que les prédictions faites par les modèles.

La mesure de la performance se fait toujours sur l’échantillon de test. Tout simplement parce que vous devez tester la performance de votre modèle sur les données qui n’ont pas été utilisées pour construire le modèle. Le schéma ci-contre illustre toutes ces étapes.

L’explicabilité des modèles

Modèle statistique (Holt Winters)

Un modèle statistique se base sur une décomposition du modèle en plusieurs composants. Parmi ceux-ci, on compte la tendance, une ou plusieurs saisonnalités, ainsi que des résidus.

L’explicabilité globale d’un tel modèle consiste alors en la décomposition de celui-ci en chacun de ses composants. Dans le cas de Holt-Winters, cette décomposition est simple car elle ne fait apparaître qu’une tendance et un cycle quotidien.

Modèle Machine Learning (Random Forest)

Pour ce qui est des modèles de Machine Learning (Random Forest dans notre cas), la décomposition est différente puisqu’elle ne fait pas apparaître de cycles mais plutôt l’importance de chaque variable sur les décisions.

Modèle Deep Learning (réseau de neurones)

L’efficacité du réseau de neurones réside dans la succession des couches de neurones. Or nous utilisons pour chaque neurone les résultats de la précédente, il est donc difficile, voire impossible, d’interpréter ces résultats.

La succession des coefficients obtenus n’ont plus de sens pour l’humain. C’est pour cela que nous parlons d’effet « boîte noire ». Les résultats sont bons mais nous ne sommes pas capables de comprendre la totalité du cheminement.

Nous pouvons dire que les réseaux de neurones peuvent être utiles dans le cas où les autres modèles produisent des résultats insatisfaisants.

Comparaison des modèles

Méthode statistique traditionnelle (Holt Winters)

Avantages :

  • Facile à comprendre et à appliquer
  • N’est pas couteux en termes de calcul
  • Rapide et souvent performant
  • Donne plus d’importance sur les observations les plus récentes
  • Renvoie des résultats interprétables
  • S’adapte aux changements de tendance et de saisonnalité
  • Interprétable (tendance, saisonnalité…)

Limitations :

  • Sensible aux outliers (valeurs aberrantes)
  • Supporte seulement les séries univariées
  • Impossible d’introduire d’autres variables exogènes
  • Un seul modèle pour chaque produit (ou produit-magasin)

Méthode Machine Learning (Random Forest)

Avantages :

  • Efficacité dans le cas où on dispose de plusieurs données d’entrées
  • Supporte les variables exogènes
  • Interprétables (les variables importantes et leur pourcentage de contribution dans la prévision)
  • Gérer les outliers
  • Supporte les données non linéaires
  • Pas de risque de sur-apprentissage
  • Possibilité de parallélisation des arbres de décision puisqu’ils sont indépendants
  • Ne nécessite pas un grand effort dans la partie de feature engineering

Inconvénients :

  • Pas aussi interprétable qu’un modèle de régression linéaire : nous avons l’importance des variables mais pas leurs coefficients
  • Couteux en termes de calcul
  • Très lent (surtout lorsque nous envisageons une large volumétrie de données et en utilisant plusieurs arbres)
  • Il ne prédit pas une valeur hors de l’intervalle de ses données d’apprentissage.
  • Applicable à court terme (nécessite un effort de monitoring)

Méthode Deep Learning

Avantages :

  • Très efficace pour les problèmes complexes
  • Capacité de représenter n’importe quelle fonction, linéaire ou pas, simple ou complexe
  • Résistance au bruit ou au manque de fiabilité des données
  • Une fois entrainé, les prédictions sont assez rapides

Inconvénients :

  • Nécessite beaucoup de ressources et de temps de calcul dans la phase d’apprentissage
  • Black box (pas d’interprétabilité)
  • Risque de sur-apprentissage
  • Le déploiement nécessite beaucoup d’efforts et plus d’infrastructures

L’importance de la sélectivité de votre méthode

Au final, et vous l’aurez aisément compris, il n’y a pas de bonnes ou de mauvaises méthodes, il y a simplement la bonne méthode à privilégier en fonction des données, du besoin et des ressources allouées. 

C’est simple la data, non ?