Machine Learning: attention aux erreurs pour les questions de pricing

Romain Aeberhardt
12 min readOct 9, 2020

--

Quand privilégier l’approche économétrique plutôt que celle du machine learning ? Zoom sur le cas du pricing, pour mieux comprendre à quelles questions répond chacune des deux approches.

tl;dr

La démocratisation du machine learning offre des possibilités très vastes dans de nombreux domaines. Il convient néanmoins d’être prudent et d’anticiper les situations où le machine learning peut aboutir à des conclusions erronées. L’approche du machine learning fonctionne tant que les décisions prises n’ont pas d’impact sur le phénomène étudié. L’approche économétrique devient nécessaire quand il existe une forme de rétroaction entre nos décisions et les prédictions, ce qui est notamment le cas dans les problèmes de tarification (pricing). Contrairement à d’autres types de biais qui peuvent être corrigés en améliorant la qualité des données ou des algorithmes utilisés, ce problème est inhérent à l’approche du machine learning et nécessite un changement complet de paradigme si l’on souhaite obtenir des résultats corrects. En économétrie on parle de biais d’endogénéité et leur correction est au coeur du travail de l’économètre.

Disclaimer

Cet article est davantage destiné aux personnes qui s’intéressent au machine learning plutôt qu’aux spécialistes de l’économétrie. Le but ici n’est pas de présenter le machine learning dans toutes ses dimensions, mais plutôt de donner quelques intuitions sur ce qui le différencie de l’économétrie.

Plan

1) Machine learning vs. économétrie

2) Le pricing, une situation où le machine learning peut conduire à des résultats erronés

3) Lien avec l’actualité récente et la mesure de l’efficacité des traitements contre la COVID19

4) Conclusion : une différence d’approche fondamentale

1) Machine learning vs. économétrie

Nous nous concentrons ici sur le machine learning supervisé et les problèmes de prédiction. Il s’agit d’algorithmes auxquels on fournit des données d’entrainement. Celles-ci sont constituées d’observations distinctes avec, pour chacune d’elles, une valeur particulière qui est observée mais qu’il faudra ensuite prédire, et un ensemble de features qui servent à obtenir la prédiction en question.

L’économétrie est un des champs de l’économie en tant que science expérimentale ou quasi-expérimentale. C’est la partie empirique de l’économie qui permet de faire le lien entre la modélisation théorique et ce qu’on observe en pratique. L’économétrie utilise toutes les techniques quantitatives disponibles, dont les statistiques et le machine learning.

Ce qui différencie économétrie et machine learning, c’est le type de questions auxquelles on cherche à répondre plutôt que les techniques utilisées.

L’économie est une science sociale. En cela, elle vise à comprendre et modéliser les interactions entre « agents », qu’il s’agisse d’individus, d’entreprises, ou d’Etats. L’économétrie, par conséquent, ne s’intéresse pas uniquement à la prédiction des phénomènes mais surtout à leur compréhension structurelle et à la recherche des liens de causalité entre eux.

Figure 0: source xkcd.com

Le machine learning, au contraire, est davantage tourné vers une approche de prédiction que vers la compréhension structurelle des phénomènes sous-jacents, même si les questions d’interprétabilité sont de plus en plus prégnantes.

Si machine learning et économétrie diffèrent dans leur approche et dans les questions auxquelles ils cherchent à répondre, on note tout de même une tendance relativement récente à une forme de convergence, avec l’utilisation de plus en plus importante des techniques de machine learning en économétrie et inversement un intérêt croissant sur les questions d’interprétabilité et de causalité en machine learning pour dépasser l’aspect « boîte noire » des procédures.

2) Le pricing, une situation où le machine learning peut conduire à des résultats erronés

Nous allons nous concentrer ici sur un phénomène en particulier pour lequel la différence d’approches entre machine learning et économétrie est la plus profonde : c’est ce qu’on appelle en économétrie la question de l’endogénéité qui se manifeste notamment dans les problèmes de tarification (pricing).

Pour illustrer ce phénomène et bien montrer en quoi il est très différent d’autres difficultés auxquelles un data scientist peut être confronté, nous allons commencer par évoquer deux exemples assez classiques qui correspondent davantage à un mauvais usage qu’à une limite intrinsèque de l’approche du machine learning.

Ex. 1 : Comment tromper un algorithme de reconnaissance d’images ?

Il est possible, à partir d’une modification imperceptible à l’œil nu de transformer une image de telle sorte qu’un algorithme de reconnaissance d’image change radicalement sa prédiction. Dans l’exemple ci-dessous, l’image du panda est très légèrement modifiée pour être reconnue comme une image de gibbon.

EXPLAINING AND HARNESSING ADVERSARIAL EXAMPLES Ian J. Goodfellow, Jonathon Shlens & Christian Szegedy, ICLR 2015

Ce genre de manipulation est certes problématique, et on imagine aisément les conséquences qu’elle peut avoir, notamment en matière de fraude. Mais ce n’est pas l’algorithme qui est en cause : il ne s’agit pas d’une image réelle, celle-ci a été construite spécifiquement pour induire l’algorithme en erreur. Il ne s’agit donc pas vraiment ici d’une limite inhérente au machine learning.

Ex.2 : Les données d’entrainement non représentatives peuvent générer des biais dans l’apprentissage

Plusieurs exemples de ce type ont été rapportés au cours des derniers mois. L’un des plus médiatisés a été le cas de l’algorithme d’analyse de CV développé par Amazon qui se montrait biaisé contre les femmes. En effet, entraîné sur les propres données de l’entreprise, il ne faisait que reproduire les chances plus faibles pour les femmes d’atteindre les postes les plus élevés en interne.

Cet exemple est nettement plus problématique que le précédent dans la mesure où il se manifeste dans des situations réelles. Il ne s’agit pas de CV fictifs créés de toute pièce pour induire l’algorithme en erreur. Mais pour autant ce n’est pas tant l’algorithme qui est en cause que les données qui ont servi à l’entraîner. Il suffirait théoriquement de fournir à l’algorithme des données de meilleure qualité pour résoudre le problème. Encore faut-il les trouver…

Ex. 3 : L’endogénéité : une situation qui nécessite un changement d’approche plus profond

Le troisième exemple illustre les différences d’approches entre machine learning et économétrie. Il se différencie des deux précédents en ce sens qu’il correspond à une situation où l’approche même du machine learning ne peut aboutir à des résultats corrects et où il faut changer complètement de paradigme pour résoudre le problème. C’est ce que propose l’approche économétrique.

Imaginons que l’on s’intéresse au taux de remplissage des trains et que l’on dispose de données passées avec les prix, les taux de remplissage et les caractéristiques des trajets (départ, arrivée, date et heure, durée, nombre de correspondances, etc.).

Si l’on est un observateur extérieur qui souhaite prédire le taux de remplissage des trains et que pour cela on observe le prix des billets tel qu’il apparaît sur Internet ainsi que les caractéristiques du trajet, on est face à un problème classique de machine learning. La démarche habituelle a toutes les chances de fonctionner et d’aboutir à des résultats du type : quand on observe un tarif élevé, le train est vraisemblablement rempli et quand le tarif est bas, le train est vraisemblablement relativement vide.

Posons-nous maintenant une question légèrement différente : au lieu d’observer les prix des billets de train et de chercher à en déduire les ventes, que se passe-t-il si c’est le data scientist qui choisit le prix des billets et qu’il souhaite prédire si le train sera rempli ou non. Ce problème peut paraître assez proche du précédent, mais il est en fait complètement différent. Il s’agit à nouveau d’un problème de prédiction, mais pas au sens où on l’entend habituellement en machine learning. Il s’agit là d’une question de prédiction structurelle et de causalité pour laquelle l’approche classique du machine learning ne va pas marcher et pour laquelle il faut adopter une approche économétrique.

Pourquoi est-ce si différent ? Comment se convaincre que l’approche du machine learning ne peut pas fonctionner ici ?

1ère intuition : quand les trains sont pleins, ils ont tendance à être plus chers, et quand ils sont vides c’est le contraire. C’est ce que l’on observe dans les données. Or les algorithmes de machine learning ont tendance à reproduire les données. Mais si l’on fixe un prix élevé, il n’y a pas de raison que cela remplisse le train, au contraire. La corrélation observée dans les données ne correspond pas à une relation de causalité du prix du billet vers le taux de remplissage du train.

2ème intuition : Les données passées proviennent de situations réelles de marché résultant d’un équilibre entre deux relations causales opposées : plus le prix est élevé moins les voyageurs souhaitent prendre le train, et simultanément, plus la demande est forte pour un train, plus le vendeur a tendance à proposer des prix élevés. En économétrie, on parle d’un problème d’endogénéité : le prix n’est pas fixé de manière exogène dans la mesure où il résulte d’un comportement d’optimisation prenant en compte les deux relations causales sous-jacentes.

3ème intuition : on cherche à estimer la « fonction de demande » des trains, c’est-à-dire la relation entre le prix de chaque train et son taux de remplissage. Chaque train possède sa propre fonction de demande. Il s’agit d’une courbe décroissante, c’est-à-dire que plus le prix des billets est élevé moins le train sera rempli (cf. figure 2).

Figure 2 : exemple de courbe de demande ; plus le prix est élevé, moins les ventes le seront et inversement.

Certains trains sont davantage demandés que d’autres : pour un prix donné ils seront davantage remplis. Sur la figure 3, chaque courbe correspond à un train (départ x arrivée x date x heure). La courbe bleue est au-dessus des courbes violette et verte. Il s’agit d’un train pour lequel le taux de remplissage sera plus élevé si les billets sont au même prix dans les trois trains.

Figure 3 : Trois courbes de demande correspondant à trois biens différents ; le bien correspondant à la courbe bleue est le plus demandé, celui correspondant à la courbe verte est le moins demandé.

Le problème qui se pose au data scientist, c’est que pour un train donné, on n’observe qu’un seul prix. Dans les données disponibles, chaque observation correspond donc à une courbe en particulier (figure 4).

Figure 4 : en pratique un seul point par courbe est observé ; celui-ci résulte de l’équilibre entre l’offre et la demande sur le marché en question.

Cette information structurelle (la présence des fonctions de demande sous-jacentes) n’est pas présente dans les données, ni dans les algorithmes de machine learning qui vont donc prédire la droite en rouge qui passe par les trois points plutôt que les courbes de demande (figure 5).

Si l’on observe les prix sur Internet sans chercher à les fixer soi-même, la courbe rouge qui passe par les données passées offre un bon moyen de prédire le taux de remplissage des trains tant que le vendeur conserve les mêmes règles de fixation des prix et que les équilibres de marché restent similaires à ceux observés par le passé.

En revanche, si l’on cherche à se positionner à un autre endroit de la courbe de demande en fixant un prix suivant de nouvelles règles, on a toutes les chances de se trouver sur un point de la courbe de demande qui ne se situe pas à l’intersection avec la courbe rouge ce qui ira à l’encontre des résultats fournis par l’algorithme de machine learning.

Figure 5 : un algorithme de machine learning ne voit que les points d’équilibre du marché et pas les courbes de demande ; il prédira la droite rouge qui passe par les points observés.

Comment résoudre ce problème ?

Si l’on dispose de données d’entrainement correspondant à une série d’expérimentations dans lesquelles on tire au sort un prix pour ensuite observer le taux de remplissage qui en résulte, alors on élimine une des deux relations causales (celle résultant du comportement d’optimisation du vendeur). Les données ainsi générées peuvent alors être analysées avec des techniques classiques de machine learning.

Malheureusement, de telles données expérimentales sont rares car peu d’entreprises sont prêtes à faire des tests avec leurs prix et risquer ainsi de mettre en danger leurs objectifs commerciaux.

Pour résoudre ce genre de problèmes, les économètres ont développé des techniques particulières.

Comme expliqué précédemment, rechercher à prédire directement le taux de remplissage observé en fonction des prix observés ne peut pas fonctionner.

Une méthode qui pourrait être utilisée dans ce cas consiste à prédire le taux de remplissage observé en fonction d’une nouvelle variable de prix construite de telle sorte qu’elle permette de s’affranchir du problème de double causalité.

Pour cela on utilise le fait que les prix varient à la fois en fonction de la demande (via le comportement d’optimisation du vendeur), mais également en fonction de phénomènes extérieurs indépendants du taux de remplissage. Ils peuvent par exemple varier en fonction des coûts de l’entreprise (négociations salariales, hausses du prix de l’énergie, nouvelles normes de sécurité, etc.).

Si l’on isole la variation de prix qui est due à des phénomènes autres que la demande, on peut analyser la variation du taux de remplissage en fonction de cette composante particulière de la variation des prix. Cette approche neutralise la relation de causalité provenant des actions du vendeur et permet d’obtenir une estimation valide de la fonction de demande.

Contrairement à la démarche classique du machine learning où le but est de s’approcher au plus près des données dont on dispose, ici, au contraire, on va aboutir à un modèle plus pauvre en termes de concordance avec l’échantillon de test sur les données du passé, mais qui sera bien meilleur par rapport à de nouvelles données pour lesquelles le data scientist aurait lui-même fixé les prix.

3) Lien avec l’actualité récente et la mesure de l’efficacité des traitements contre la COVID19

Pendant la période de confinement et au cours des mois qui l’ont suivie, de nombreuses discussions ont émergé sur la découverte de traitements contre la COVID19. Deux grands types de méthodes s’opposent (ou se complètent) pour déterminer l’efficacité d’un traitement: les études rétrospectives et les études randomisées en double aveugle. Les premières ont l’avantage d’être plus simple à mener et d’être faisables avec les données déjà disponibles sans protocole expérimental particulier mais leurs résultats sont criticables. Les secondes sont beaucoup plus complexes à mener mais ont l’avantage d’apporter des résultats quasiment incontestables si les protocoles sont bien respectés.

Pourquoi les résultats des études rétrospectives peuvent-ils poser des problèmes et quel est le lien avec nos questions d’économétrie et de machine learning?

Les études médicales rétrospectives posent un problème similaire lié à des questions d’endogénéité. En dehors d’un cadre expérimental, les personnes qui ont pris les traitements ne sont pas les mêmes que celles qui ne les ont pas pris, qu’il s’agisse de leur propre choix ou de l’orientation du médecin. On ne peut donc pas facilement les comparer. Typiquement, les gens qui prennent un nouveau traitement peuvent être plus attentives à leur santé ou plus riches pour pouvoir s’offrir le traitement, ou être mieux conseillées, et finalement présenter des taux de mortalité plus faibles pour de nombreuses autres raisons que le traitement qu’elles ont pris. On pourrait penser qu’il est théoriquement possible de s’en sortir en fournissant au modèle toute l’information nécessaire pour caractériser les patients. En pratique c’est quasiment impossible et c’est pour cela que l’on a besoin de passer par des études randomisées en double aveugle. Dans ces dernières, les patients sont assignés de manière aléatoire au groupe de traitement (qui reçoit le médicament à tester) ou au groupe de contrôle (qui reçoit un placebo). De plus aucun des participants à l’étude n’est censé savoir à quel groupe de patients il appartient. Grâce à un tel protocole, et si les groupes de patients sont de taille suffisante, on peut connaître l’efficacité d’un traitement en comparant les résultats obtenus sur les deux groupes de patients.

Dans le cas des études rétrospectives, le choix de prendre ou non le traitement n’est pas aléatoire et résulte bien souvent d’un choix effectué par le patient qui se situe face à une alternative: prendre le traitement ou non. Comme dans le cas de la fixation des prix, les données que l’on observe émanent d’un processus de choix qui met en jeu de nombreux éléments que le data scientist n’observe pas et ne peut donc prendre en compte dans ses modèles.

4) Conclusion : Pourquoi est-ce si important ?

L’essor du machine learning est dû à la fois aux qualités intrinsèques des algorithmes développés, mais aussi à tous les outils qui rendent les méthodes accessibles au plus grand nombre, notamment le langage Python et les bibliothèques comme scikit-learn et pandas. Le machine learning a également l’avantage d’offrir un cadre de travail rassurant dans lequel on prend des données, on essaie différents algorithmes et on regarde les résultats sur un échantillon de test à l’aide d’une métrique définie à l’avance.

La démocratisation du machine learning offre des possibilités très vastes dans de nombreux domaines. Il convient néanmoins d’être prudent et d’anticiper les situations dans lesquelles son usage peut poser des problèmes. La démarche adoptée repose sur une hypothèse cruciale qui est faite au moment de la constitution de l’échantillon de test : l’approche du machine learning vise à reproduire les données telles qu’on les observe actuellement. La prédiction ne peut fonctionner que sous l’hypothèse que les données vont continuer à se comporter comme par le passé. Cette hypothèse fonctionne bien quand il n’y a pas de rétroaction de la prédiction sur la décision (par exemple si on essaie de reconnaître des chiens et des chats, ou de manière plus intéressante quand on effectue de l’analyse automatique d’images médicales pour détecter des maladies), mais ce n’est plus du tout le cas quand on décide de changer sa politique de prix.

En économétrie, toute une partie de la réflexion scientifique vise à anticiper toutes les raisons possibles qui feraient que les données telles qu’elles sont observées risquent de différer structurellement des données futures.

La question qu’il faut se poser, c’est donc de savoir s’il y a des risques de ce type. S’il n’y en a pas et qu’il s’agit uniquement de faire des prédictions, le machine learning est la solution, et sinon il faut faire de l’économétrie.

Veltys est un cabinet de conseil en stratégie spécialisé en data et en économie.

Nous utilisons au quotidien les techniques de machine learning et d’économétrie pour apporter de la valeur aux entreprises que nous accompagnons.

www.veltys.com

--

--