#IA – Le paradoxe de Simpson, ou comment faire mentir la donnée
Data Architecture 3 avril 2019Le paradoxe de Simpson tire son nom des statisticiens Edward Simpson et George Udny Yule. Présent dans toutes les études statistiques, ce paradoxe est souvent illustré par un cas médical, mais peut s’appliquer en réalité à de nombreux cas d’application statistiques, notamment en marketing. Découvrez comment, avec le paradoxe de Simpson, l’expression « faire mentir les chiffres » prend tout son sens !
« Il y a 3 sortes de mensonges : les petits mensonges, les gros mensonges, et les statistiques. » — Mark Twain
Un paradoxe d’abord médical…
Commençons donc par un exemple appliqué à la médecine : je vais chez le médecin pour un calcul rénal. Le médecin me présente une étude statistique sur la performance de deux traitements. Le traitement A correspond à une chirurgie ouverte, et le traitement B à une néphrolithotomie percutanée. Voici les résultats de l’étude :
Au vu de cette étude, je me dis qu’il faudrait choisir le traitement B, dont le taux de réussite est plus élevé !
Dans le doute, je consulte un second médecin, qui me présente les résultats de la même expérience mais exposé différemment:
Il m’explique également que les calculs sont soient petits soient gros, il n’y en a pas de moyens. Il me conseille donc le traitement A, le taux de réussite est plus élevé dans tous les cas !
Panique ! Que choisir ?
Commençons par les mauvaises réponses :
- « Pour une chirurgie ouverte les conséquences d’un échec sont plus grandes, donc je choisis B. »
On suppose que, dans ce cas, les conséquences sont les mêmes. - « Les chiffres ne sont pas significatifs car les volumes sont trop faibles. »
On suppose que, dans ce cas, si on multiplie le nombre de participant par 1 million, les pourcentages restent les mêmes.
Et la bonne réponse est… le traitement A ! J’ai soit des petits calculs, soit des gros calculs. Dans les deux cas le traitement A paraît mieux fonctionner. Mais alors pourquoi le résultat s’inverse-t-il quand on regarde les résultats au global ?
La variable « taille des calculs » est ce qu’on appelle une variable de confusion, c’est-à-dire qu’elle a un impact à la fois sur le choix du traitement et sur la performance d’un traitement (quel qu’il soit).
Si l’on se concentre sur les gros calculs, on remarque que les deux traitements marchent moins bien que sur les petits calculs : ce cas médical est plus difficile à traiter. Or le traitement A a reçu beaucoup plus fréquemment de gros calculs que de petits calculs et c’est l’inverse pour le traitement B. À cause de cela, sa performance globale est tirée vers le bas (et vice versa pour le traitement B).
Pas encore convaincu(e) ? Prenons un second exemple. On veut savoir qui est le meilleur joueur de tennis entre deux joueurs amateurs qui ne peuvent pas jouer l’un contre l’autre (ils habitent trop loin !). L’un joue 90 % du temps contre Nadal et Federer, et 10 % du temps contre des enfants ; l’autre joue 10 % du temps contre Nadal et Federer et 90 % du temps contre des enfants. Si on regarde le pourcentage de victoire de chaque joueur, celui ayant joué 90 % du temps contre Nadal et Federer paraîtra moins fort. Le niveau de l’adversaire est donc une variable de confusion !
… mais aussi marketing !
Voyons maintenant de quelle manière ce paradoxe s’applique au monde du marketing.
Sur mon site web, deux algorithmes me permettent de personnaliser l’expérience utilisateur. Je cherche à savoir lequel est le plus efficace. Je fais donc un A/B Test : dès qu’un nouvel utilisateur arrive sur mon site, 50 % du temps je lui propose la version A, et 50 % la version B. Si c’est un ancien utilisateur qui a déjà vu une certaine version, je lui montre la même version que lors de sa précédente visite pour éviter de mélanger les populations. J’attends un mois et regarde les résultats. 12 % des personnes de la version A ont acheté un produit, contre 10 % pour la version B.
Content mais prudent, je décide de poursuivre le test un mois de plus. Comme la version A a mieux marché, je décide de changer les proportions : chaque nouvel utilisateur a dorénavant 80 % de chance d’être affecté à la version A et 20 % pour la version B. De même les anciens utilisateurs gardent leur version historique. À la fin du mois, je regarde les performances globales de mes deux versions : 10 % d’acheteurs pour la version A et 11 % pour la version B.
Une idée sur la source du problème ?
C’est le même ! L’ancienneté de l’utilisateur est une variable de confusion. Les utilisateurs récurrents, qui connaissent bien la marque, ont naturellement plus de chances de convertir. Lors du deuxième mois, la version A reçoit de nombreux nouveaux utilisateurs (cas difficile, puisqu’ils convertissent moins) et voit donc sa performance diminuer. En regardant la performance de chaque version en fonction de l’ancienneté de l’utilisateur on verrait que la version A est toujours la meilleure.
Performance sur les nouveaux visiteurs
Performance sur les anciens visiteurs
La solution ? Bien choisir les variables de ses algorithmes !
Pour éviter ce genre d’erreurs d’interprétation, il faut avoir une bonne connaissance métier de ce que l’on cherche à mesurer. On liste alors toutes les critères qui pourraient impacter le résultat, puis le data scientist construit un maximum de variables à partir de ces critères.
Par exemple, si l’on souhaite analyser la performance d’un site ecommerce, un critère peut être de signifier au modèle que le nombre de pages vues a un impact significatif. À partir de cette information, le data scientist peut créer plusieurs variables comme le nombre moyen de pages vues par jour, la différence de pages vues lorsqu’un même utilisateur visite deux jours de suite le site, l’évolution de cette différence au cours des dernières semaines, et ainsi de suite. Le data scientist pourra aussi enrichir le modèle avec des variables qu’il tire de sa connaissance personnelle des modèles et des données qui sont à sa disposition.
Par exemple, il peut être intéressant de créer des variables captant les centres d’intérêt de l’utilisateur et leur évolution : on pourrait notamment compter le nombre de produits consultés par catégorie afin d’en déduire la catégorie qui intéresse le plus l’utilisateur, ou encore la valeur des produits consultés au sein de cette catégorie et l’écart type du nombre de produits consultés par catégorie, etc.
Ainsi à partir d’une dizaine de critères on peut facilement obtenir une centaine de variables à fournir à l’ algorithme, puis le laisser mesurer la contribution de chacune de ces variables à partir des données historiques.
Seule une bonne connaissance métier permet donc d’éviter d’obtenir un modèle algorithmique biaisé et non pertinent ! Par exemple, on décide souvent de retirer le sexe de la personne du modèle pour ne pas reproduire un biais sexiste.
En conclusion, aujourd’hui grâce à la puissance de calcul disponible et la quantité de données traitées, on peut se permettre de fournir énormément de variables en entrée au modèle et de le laisser mesurer l’impact réel de chacune d’elles. En revanche, l’intervention humaine reste nécessaire pour s’assurer de la pertinence des variables sélectionnées… et de leur éthique ! La suite à découvrir dans notre article à paraître : « Et si l’ intelligence artificielle n’était rien sans l’intelligence humaine ? ».