paint-brush
Naviguer dans le labyrinthe des tests d’hypothèses multiplespar@vabars
178 lectures

Naviguer dans le labyrinthe des tests d’hypothèses multiples

par Viktoria7m2024/03/05
Read on Terminal Reader

Trop long; Pour lire

Explorez le problème des comparaisons multiples en statistiques à travers une lentille humoristique, en utilisant Python pour élucider des concepts tels que les corrections de Bonferroni et Benjamin-Hochberg, les hypothèses nulles et les erreurs de type I. Avec des métaphores de fête divertissantes, apprenez à équilibrer risque et récompense dans l'analyse statistique, garantissant ainsi des conclusions plus fiables dans l'exploration des données.
featured image - Naviguer dans le labyrinthe des tests d’hypothèses multiples
Viktoria HackerNoon profile picture
0-item
1-item

Lorsque nous sommes plongés dans les données et cherchons à découvrir les joyaux cachés de la connaissance, nous nous retrouvons souvent à jongler avec un tas d'hypothèses. Imaginez que vous êtes à une fête où chaque invité porte un masque et que vous essayez de découvrir qui se cache derrière chacun. Plus vous devinez de personnes, plus vous avez de chances de vous tromper. C'est là toute la difficulté du problème des comparaisons multiples en statistiques : pour chaque hypothèse que vous testez, une autre apparaît, augmentant vos chances de vous tromper au moins une fois. Décomposons ce concept avec un peu de style Python et un peu d'humour pour garder les choses légères.


Le problème des comparaisons multiples : un résumé

Imaginez ceci : vous menez des expériences ou des enquêtes et vous avez toute une liste de questions (hypothèses) auxquelles vous essayez de répondre. Le problème, c'est que plus vous posez de questions, plus vous risquez d'obtenir des réponses erronées (bonjour, erreurs de type I !). Il s’agit d’une faute statistique connue sous le nom de problème des comparaisons multiples.

Jargon essentiel pour la fête

  • Hypothèse nulle (H0) : l'hypothèse nulle est votre hypothèse de base selon laquelle rien de spécial ne se passe. C'est comme regarder un invité à votre fête et lui dire : « Vous n'êtes qu'une personne ordinaire, pas une célébrité masquée. » Lorsque nous testons plusieurs hypothèses, nous vérifions essentiellement un groupe d’invités pour voir si certains d’entre eux sont des célébrités.


  • Erreur de type I : Une erreur de type I se produit lorsque vous pensez à tort avoir repéré une célébrité, alors qu'il s'agit simplement de quelqu'un portant un très beau costume. Dans le monde des statistiques, c'est lorsqu'on rejette à tort l'hypothèse nulle, pensant avoir trouvé un effet ou une différence significative alors qu'il n'y en a pas.


  • Taux d'erreur familial (FWER) : FWER, c'est comme être très inquiet d'identifier par erreur ne serait-ce qu'un invité régulier comme une célébrité à votre fête. Il s'agit de la probabilité de commettre au moins une erreur de type I parmi tous les tests que vous exécutez. Si vous testez 20 hypothèses, FWER veille à ne pas commettre la moindre erreur dans les 20 tests. Des corrections telles que l'ajustement de Bonferroni aident à contrôler FWER en rendant les critères de signification plus stricts. Ils réduisent vos chances de commettre des erreurs de type I, garantissant que vous ne vous embarrasserez pas en appelant la mauvaise « célébrité ».


  • Taux de fausses découvertes (FDR) : le FDR est davantage une question d'équilibre. C'est comme dire : « D'accord, je pourrais qualifier par erreur quelques invités réguliers de célébrités, mais je veux m'assurer d'attraper autant de vraies célébrités que possible. FDR contrôle la proportion attendue de fausses découvertes parmi toutes les découvertes que vous faites. C'est un peu plus détendu que FWER, ce qui vous permet de vous tromper sur le fait que certains invités sont des célébrités tant que vous avez raison la plupart du temps. Cette approche est utile lorsque vous êtes prêt à prendre des risques pour découvrir davantage d’informations potentielles, en reconnaissant que certaines fausses alarmes font partie du processus.


FWER : Correction de Bonferroni

La correction Bonferroni est votre amie ultra-prudente lors d'une fête, vous assurant de ne commettre aucune erreur en identifiant les célébrités parmi la foule. Cela exige que vous soyez extrêmement sûr de chaque découverte lorsque vous envisagez plusieurs possibilités à la fois.


Comment ça fonctionne:

  • Scénario : Vous testez plusieurs hypothèses, comme essayer de repérer des célébrités dans une foule.
  • Règle de Bonferroni : Pour que chaque découverte soit considérée comme vraie, elle doit répondre à une norme beaucoup plus stricte. Si vous testez 10 hypothèses et que votre niveau de certitude standard est de 0,05, Bonferroni l'ajuste à 0,005 pour chaque test.


La formule:





α est votre niveau de certitude initial (généralement 0,05) et n est le nombre d'hypothèses que vous testez.


Impact:

Cette méthode réduit considérablement le risque de fausses découvertes (erreurs de type I) en plaçant la barre plus haut pour ce qui compte comme un résultat significatif. Cependant, sa rigueur peut également vous empêcher de reconnaître les véritables découvertes, comme si vous ne reconnaissiez pas une célébrité parce que vous êtes trop concentré sur le fait de ne pas commettre d'erreur.


Essentiellement, la correction de Bonferroni donne la priorité à l’évitement des faux positifs au risque de passer à côté de véritables découvertes, ce qui en fait un choix conservateur en matière de test d’hypothèse.


Python à la rescousse : gérer les comparaisons

Mettons-nous la main à la pâte avec du code Python pour naviguer dans ce labyrinthe d'hypothèses multiples sans perdre la raison.


Tout d’abord, assurez-vous de disposer des bons outils pour le travail :

 pip install numpy statsmodels

et vas-y

 from statsmodels.stats.multitest import multipletests import numpy as np # Imagine these are your p-values from testing various hypotheses p_values = [0.005, 0.0335, 0.098543, 0.00123] # Let's say we did 4 tests # Applying Bonferroni correction bonf_rejected, bonf_corrected, _, _ = multipletests(p_values, alpha=0.05, method='bonferroni') print("Bonferroni Approach") print(f"Rejected: {bonf_rejected}") print(f"Adjusted p-values: {bonf_corrected}\n")


Décomposons ce que nous avons obtenu après avoir appliqué la correction de Bonferroni à vos valeurs p :

  • Hypothèses rejetées : La correction de Bonferroni nous indique quelles hypothèses doivent être rejetées en fonction du seuil corrigé. Ici, la première ( True ) et la dernière ( True ) hypothèses sont rejetées, ce qui signifie qu'elles montrent des résultats statistiquement significatifs même après ajustement pour plusieurs comparaisons.


  • Valeurs p ajustées : les valeurs p ajustées sont [0.02, 0.134, 0.394172, 0.00492] . L'ajustement augmente les valeurs p pour contrôler le risque accru d'erreurs de type I (faux positifs) qui accompagnent plusieurs tests.


  • Interprétation : Pour les valeurs p [0.005, 0.00123] (original) : Après correction, ce sont [0.02, 0.00492] . Ils restent inférieurs au seuil de 0,05, ce qui indique que les résultats sont statistiquement significatifs.


FDR : la correction de Benjamin-Hochberg

La correction de Benjamin-Hochberg agit comme un gardien équilibré lors d'une fête, gérant habilement le risque de confondre les invités réguliers avec des célébrités sans être trop stricte. Il trouve un terrain d’entente, vous permettant d’identifier en toute confiance les véritables découvertes tout en acceptant un niveau de risque gérable.


Comment ça fonctionne:

  • Scénario : Vous évaluez plusieurs résultats, comme si vous repériez des célébrités parmi les fêtards.

  • Stratégie de Benjamin-Hochberg : Cette méthode ajuste les niveaux de signification en fonction du rang de chaque valeur p, permettant une approche plus flexible par rapport à la correction rigide de Bonferroni. Il contrôle le taux de fausses découvertes (FDR), qui est la proportion attendue de fausses découvertes parmi toutes les découvertes effectuées.


Le processus:

  1. Classer les valeurs P : de la plus petite à la plus grande.

  2. Ajuster les niveaux de signification : pour chaque hypothèse, il calcule un seuil différent, qui devient plus indulgent pour les hypothèses avec des valeurs p plus petites. Ceci est basé sur leur classement et le nombre total de tests.


Impact:

En se concentrant sur le contrôle du FDR, la correction de Benjamin-Hochberg permet de reconnaître davantage de découvertes comme significatives, en acceptant que certaines puissent être des faux positifs mais en garantissant que le taux global de ces erreurs reste sous contrôle. Cette approche est particulièrement utile lorsque vous explorez de nombreuses hypothèses et que vous êtes prêt à tolérer un certain niveau de fausses découvertes pour ne pas passer à côté de découvertes importantes.


En résumé, la correction de Benjamin-Hochberg offre un équilibre pratique entre la découverte de véritables effets et le contrôle du taux de faux positifs, ce qui en fait un outil précieux pour les chercheurs confrontés à des comparaisons multiples.


Python à la rescousse :

 # Benjamini-Hochberg correction for the brave from statsmodels.stats.multitest import multipletests import numpy as np # Imagine these are your p-values from testing various hypotheses p_values = [0.005, 0.0335, 0.098543, 0.00123] # Let's say we did 4 tests # Applying BH correction bh_rejected, bh_corrected, _, _ = multipletests(p_values, alpha=0.05, method='fdr_bh') print("Benjamini-Hochberg Approach") print(f"Rejected: {bh_rejected}") print(f"Adjusted p-values: {bh_corrected}")


  • Hypothèses rejetées : [True, True, False, True] indique quelles hypothèses ont été rejetées en fonction des valeurs p ajustées. Dans ce cas, les 1ère, 2ème et 4ème hypothèses ont été rejetées, suggérant des résultats significatifs dans ces cas.

  • Valeurs p ajustées : [0.01, 0.04466667, 0.098543, 0.00492] correspondent aux niveaux de signification ajustés de chaque hypothèse après la correction. Ces valeurs sont comparées au niveau alpha (dans ce cas, 0,05) pour déterminer quelles hypothèses sont rejetées.

  • Interprétation : Pour les valeurs p [0.005, 0.0335, 0.00123] (original) : Après correction, ce sont [0.01, 0.04466667, 0.00492] . Ils restent inférieurs au seuil de 0,05, ce qui indique que les résultats sont statistiquement significatifs.



Interprétation des résultats en termes de célébrités :

  • Première et quatrième hypothèses (reconnues par les deux) : elles sont comme les célébrités indubitables que tout le monde reconnaît, peu importe à quel point vous êtes prudent ou aventureux. Les deux méthodes conviennent que ces résultats sont significatifs, comme pour repérer des célébrités à ne pas manquer.


  • Deuxième hypothèse (reconnue par BH mais pas par Bonferroni) : Cela représente une célébrité plus spécialisée ou montante sur laquelle la méthode BH, avec son mélange de prudence et d'optimisme, est prête à parier. Cependant, l'ultraconservateur Bonferroni préfère être prudent, ratant l'occasion par crainte d'un résultat faussement positif.


Cette métaphore met en évidence les compromis inhérents entre sensibilité et spécificité dans les corrections statistiques et l'importance de choisir la bonne approche en fonction du contexte de votre recherche ou, dans notre analogie ludique, du type de fête à laquelle vous assistez.


Conclusion : les plats à emporter

Considérer de nombreuses hypothèses, c’est un peu comme naviguer dans un champ de mines d’erreurs statistiques. Mais avec les bons outils (merci Python !) et les bonnes stratégies (bonjour Bonferroni et Benjamin-Hochberg), vous pouvez gérer cela tout en préservant votre intégrité scientifique. N'oubliez pas qu'il s'agit avant tout d'équilibrer les risques et les récompenses. Que vous vous réassuriez ou que vous recherchiez l’or, comprendre et corriger plusieurs comparaisons rendra vos conclusions beaucoup plus fiables. Bonne chasse aux données !