Le paradoxe de Simpson : comprendre une illusion statistique intrigante.

Le paradoxe de Simpson, également connu sous le nom d’effet Yule-Simpson, est un phénomène statistique identifié pour la première fois par Udny Yule en 1903 et formalisé par Edward H. Simpson en 1951. Ce paradoxe illustre comment une tendance apparente dans plusieurs groupes de données peut disparaître ou s’inverser lorsqu’on combine ces groupes. Bien qu’il s’agisse d’un concept mathématique, il soulève des questions importantes sur l’interprétation des données en sciences, en économie et en santé publique.
stats
R
mathématiques
Auteur·rice
Date de publication

04, octobre 2024

Historique

Le paradoxe de Simpson, également connu sous le nom d’effet Yule-Simpson, est un phénomène statistique identifié pour la première fois par Udny Yule en 1903 et formalisé par Edward H. Simpson en 1951. Ce paradoxe illustre comment une tendance apparente dans plusieurs groupes de données peut disparaître ou s’inverser lorsqu’on combine ces groupes. Bien qu’il s’agisse d’un concept mathématique, il soulève des questions importantes sur l’interprétation des données en sciences, en économie et en santé publique.

Illustration

Imaginons deux hôpitaux (A et B) avec des taux de succès différents pour traiter une maladie (voir Table 1).

  • Hôpital A : un taux de guérison de 40 % avec le protocole de soins et 45 % pour un groupe test qui n’a pas suivi le protocole.
  • Hôpital B : un taux de guérison de 60 % avec le protocole de soins et 66,7 % pour un groupe test qui n’a pas suivi le protocole.

Chargeons les données et les packages qui seront utilisés pour l’analyse:

library('dplyr')
library('tidyr')
library('gt')

simpson <- read.csv2('simpson.csv')

# traitement des données
donnees <- simpson %>% 
  group_by(Hopital, Traitement) %>% 
  summarise(across(where(is.integer), sum)) %>% 
  bind_rows(simpson %>% 
              group_by(Traitement) %>% 
              summarise(across(where(is.integer), sum)) %>% 
              mutate(Hopital = "Ensemble")) %>% 
  mutate(Taux_gueris = Gueris/(Gueris+NonGueris)) 

Pour la suite, nous allons analyser le taux de guérison selon l’hôpital qui a administré le protocole de soin.

tab_hopital <- donnees %>% 
  gt(rowname_col = 'Traitement', groupname_col = 'Hopital') %>% 
  cols_label(
    Gueris = "Guéris",
    NonGueris = "Non guéris",
    Taux_gueris = "Taux de guérison"
  ) %>% 
  fmt_percent(columns = 'Taux_gueris', locale = "fr", decimals = 1 ) %>% 
  text_transform(
    locations = cells_row_groups(),
    fn = function(x) {if_else(x != "Ensemble", paste("Hôpital", x), as.character(x))}
  ) 

tab_hopital %>% 
  tab_header("Comparaison du taux de guérison dans chaque hôpital et ensemble") %>% 
  tab_source_note("Source: données fictives")
Table 1: Guérison selon l’hôpital
Comparaison du taux de guérison dans chaque hôpital et ensemble
Guéris Non guéris Taux de guérison
Hôpital A
Groupe test 27 33 45,0%
Protocole 30 45 40,0%
Hôpital B
Groupe test 12 6 66,7%
Protocole 66 44 60,0%
Ensemble
Groupe test 39 39 50,0%
Protocole 96 89 51,9%
Source: données fictives

Si l’on examine chaque groupe séparément, le protocole a de moins bon résultat quelque soit l’hôpital qui traite les patients. Mais en combinant les données, le protocole a un meilleur taux global de succès !

Cette inversion inattendue est typique du paradoxe de Simpson. Il est parfois possible qu’un “double effet Simpson” apparaisse, lorsque l’on croise les résultats avec une deuxième caractéristique (voir Delahaye (s. d.)).

Dans notre exemple, nous pouvons distinguer les résultats selon le sexe (Homme ou Femme). Visualisons les taux de guérison par sexe pour chaque hôpital:

simpson %>% filter(Sexe == "Homme") %>% 
  group_by(Hopital, Traitement) %>% 
  summarise(across(where(is.integer), sum)) %>% 
  bind_rows(simpson %>% 
              filter(Sexe == "Homme") %>% 
              group_by(Traitement) %>% 
              summarise(across(where(is.integer), sum)) %>% 
              mutate(Hopital = "Ensemble")) %>% 
  mutate(Taux_gueris = Gueris/(Gueris+NonGueris)) %>% 
  gt(rowname_col = 'Traitement', groupname_col = 'Hopital') %>% 
  cols_label(
    Gueris = "Guéris",
    NonGueris = "Non guéris",
    Taux_gueris = "Taux de guérison"
  ) %>% 
  fmt_percent(columns = 'Taux_gueris', locale = "fr", decimals = 1 ) %>% 
  text_transform(
    locations = cells_row_groups(),
    fn = function(x) {if_else(x != "Ensemble", paste("Hôpital", x), as.character(x))}
  ) %>% 
  tab_header("Comparaison du taux de guérison des hommes dans chaque hôpital et ensemble") %>% 
  tab_source_note("Source: données fictives")
simpson %>% filter(Sexe == "Femme") %>% 
  group_by(Hopital, Traitement) %>% 
  summarise(across(where(is.integer), sum)) %>% 
  bind_rows(simpson %>% 
              filter(Sexe == "Femme") %>%
              group_by(Traitement) %>% 
              summarise(across(where(is.integer), sum)) %>% 
              mutate(Hopital = "Ensemble")) %>% 
  mutate(Taux_gueris = Gueris/(Gueris+NonGueris)) %>% 
  gt(rowname_col = 'Traitement', groupname_col = 'Hopital') %>% 
  cols_label(
    Gueris = "Guéris",
    NonGueris = "Non guéris",
    Taux_gueris = "Taux de guérison"
  ) %>% 
  fmt_percent(columns = 'Taux_gueris', locale = "fr", decimals = 1 ) %>% 
  text_transform(
    locations = cells_row_groups(),
    fn = function(x) {if_else(x != "Ensemble", paste("Hôpital", x), as.character(x))}
  ) %>% 
  tab_header("Comparaison du taux de guérison des femmes dans chaque hôpital et ensemble") %>% 
  tab_source_note("Source: données fictives")
Table 2: Selon le sexe du patient
(a) Hommes
Comparaison du taux de guérison des hommes dans chaque hôpital et ensemble
Guéris Non guéris Taux de guérison
Hôpital A
Groupe test 5 2 71,4%
Protocole 6 2 75,0%
Hôpital B
Groupe test 3 4 42,9%
Protocole 12 14 46,2%
Ensemble
Groupe test 8 6 57,1%
Protocole 18 16 52,9%
Source: données fictives
(b) Femmes
Comparaison du taux de guérison des femmes dans chaque hôpital et ensemble
Guéris Non guéris Taux de guérison
Hôpital A
Groupe test 22 31 41,5%
Protocole 24 43 35,8%
Hôpital B
Groupe test 9 2 81,8%
Protocole 54 30 64,3%
Ensemble
Groupe test 31 33 48,4%
Protocole 78 73 51,7%
Source: données fictives

Dans les tableaux produits (voir Table 2), on observe des résultats contradictoires: le protocole donne de meilleurs résultats pour les femmes et le contraire pour les hommes. Cependant, lorsqu’on évalue la guérison dans les deux hôpitaux, ces résultats sont différents, c’est le protocole qui guérit davantage chez les hommes que chez les femmes.

Définition

Le paradoxe de Simpson désigne une situation où la relation entre deux variables semble s’inverser lorsque les données sont regroupées. Cela se produit souvent en raison d’un facteur confondant, une troisième variable influençant les résultats. Ce paradoxe révèle les limites des analyses statistiques simplistes et l’importance de contextualiser les données.

Conséquences

Le paradoxe de Simpson a des implications profondes :

  • Prises de décision erronées : en regroupant les données, on risque de tirer des conclusions fausses.
  • Biais dans les études scientifiques : une mauvaise interprétation peut fausser les résultats d’études cliniques, sociales ou économiques.
  • Manipulation des données : en regroupant ou en séparant les données stratégiquement, il est possible de « prouver » presque n’importe quoi.

Autres exemples étudiés

Statistiques de mortalité parmi les vaccinés du COVID

(ref Caravenna et Berger (2021))

Lien entre tabagisme et maladie de la thyroïde

Entre 1972 et 1974, une enquête menée dans le district de Whickham, au Royaume-Uni, a permis de recueillir des données sur les maladies de la thyroïde et du cœur auprès d’un échantillon représentatif. Vingt ans plus tard, une étude de suivi a été réalisée pour évaluer notamment l’impact de certains comportements, comme le tabagisme, sur la survie des participants. Parmi les 1 314 femmes étudiées, le taux de mortalité des fumeuses était de 28%. Les fumeuses avaient, quand à elle, un taux de mortalité de 24% .Cependant, la comparaison par tranche d’âge montre que les fumeuses ont des taux de mortalité supérieurs, à chaque âge. Ainsi, l’interprétation des données soulève une problématique courante en statistique : la corrélation apparente entre certaines variables, comme le tabagisme et la survie, peut en réalité être influencée par une variable cachée, comme l’état de santé général. Cet exemple met en lumière les défis que pose l’analyse des données lorsqu’une relation causale est obscurcie par des facteurs non mesurés (voir Appleton, French, et Vanderpump (1996)).

Étude des résultats scolaires par groupes d’élèves

Entre 1980 et 2000 aux États-Unis, la moyenne des scores obtenus par les élèves à un test linguistique est restée remarquablement stable, avoisinant constamment les 504 points. Cependant, sur cette même période, chaque groupe ethnique a enregistré une augmentation de sa moyenne d’au moins huit points.

Cette apparente contradiction s’explique par une évolution démographique : la proportion d’élèves issus de minorités ethniques (qui obtiennent en général des scores inférieurs à la moyenne globale) a augmenté au fil des années. Cela a entraîné une stagnation des résultats globaux, malgré une amélioration notable des performances au sein de chaque groupe.

En conclusion, le paradoxe de Simpson nous rappelle que les données ne parlent pas d’elles-mêmes : leur interprétation exige une vigilance et une compréhension contextuelle approfondie.

Comparaison des taux de mortalité entre deux populations

En 1986, Joel Cohen, chercheur à l’Université Rockefeller à New York, a étudié les différences de mortalité entre le Costa Rica et la Suède, cette dernière étant réputée pour sa longévité exceptionnelle.

Comme on pouvait s’y attendre, il a constaté qu’en 1960, les taux de mortalité féminine étaient systématiquement plus élevés au Costa Rica pour chaque tranche d’âge, par rapport à la Suède. Cependant, de manière surprenante, le taux de mortalité global des femmes au Costa Rica était inférieur à celui de la Suède.

Cette contradiction s’explique par la structure démographique des deux pays. En effet, la population costaricienne est, en moyenne, beaucoup plus jeune que celle de la Suède.

Impact de la vitesse sur les accidents

En 2004, Gary Davis, chercheur à l’Université du Minnesota, a étudié la relation entre la vitesse moyenne des véhicules et le nombre d’accidents impliquant des piétons et des véhicules dans différentes zones urbaines. De manière surprenante, son modèle prédisait qu’abaisser la limite de vitesse de 30 miles par heure à 25 entraînerait une augmentation des accidents. Toutefois, cette conclusion erronée résultait d’une mauvaise agrégation des données. Un facteur crucial avait été négligé : le nombre d’accidents était significativement plus faible dans les zones résidentielles.

Données

Données fictives https://raw.githubusercontent.com/RemiDumas/RStats/refs/heads/main/posts/paradoxe-simpson/simpson.csv

References

Appleton, David, Joyce French, et Mark Vanderpump. 1996. « Ignoring a Covariate: An Example of Simpson’s Paradox ». American Statistician - AMER STATIST 50 (novembre): 340‑41. https://doi.org/10.1080/00031305.1996.10473563.
Caravenna, Francesco, et Quentin Berger. 2021. « Le paradoxe de Simpson illustré par des données de vaccination contre le Covid-19 ». The Conversation. http://theconversation.com/le-paradoxe-de-simpson-illustre-par-des-donnees-de-vaccination-contre-le-covid-19-170159.
Delahaye, Jean-Paul. s. d. Au pays des paradoxes. Belin.

Vous aimez ce blog RStats? Soutenez-le !

Envoyez moi un mail