Quelles sont les différences pratiques entre les procédures de taux de fausse découverte de Benjamini & Hochberg (1995) et de Benjamini & Yekutieli (2001)?

34

Mon programme de statistiques applique à la fois les procédures Benjamini & Hochberg (1995) et Benjamini & Yekutieli (2001). J'ai fait de mon mieux pour lire le dernier article, mais il est assez mathématiquement dense et je ne suis pas raisonnablement certain de comprendre la différence entre les procédures. D'après le code sous-jacent de mon programme de statistiques, je constate qu'elles sont bien différentes et que ce dernier inclut une quantité q dont j'ai déjà parlé à propos de FDR, mais que je ne comprends pas vraiment.

Y a-t-il une raison de préférer la procédure Benjamini & Hochberg (1995) à la procédure Benjamini & Yekutieli (2001)? Ont-ils des hypothèses différentes? Quelles sont les différences pratiques entre ces approches?

Benjamini, Y. et Hochberg, Y. (1995). Contrôler le taux de fausse découverte: une approche pratique et puissante pour les tests multiples. Journal de la Société royale de statistique, série B, 57, 289–300.

Benjamini, Y. et Yekutieli, D. (2001). Le contrôle du taux de fausse découverte dans plusieurs tests sous dépendance. Annals of Statistics 29, 1165-1188.

Le document de 1999 mentionné dans les commentaires ci-dessous: Yekutieli, D., et Benjamini, Y. (1999). Taux de détection erroné basé sur le rééchantillonnage contrôlant plusieurs procédures de test pour des statistiques de test corrélées. Journal of Statistical Planning and Inference, 82 (1), 171-196.

russellpierce
la source
Je pensais que le document de 2001 établissait les propriétés du FDR (1995) sous dépendance. Yekutieli et Benjamini (Journal of Statistical Planning and Inference, 1999) ont mis en place une procédure FDR différente. Est-ce qu'il y a une chance que vous cherchiez?
Julieth
@julieth: C'était ce que je pensais du papier de 2001 en lisant le résumé seul, mais les formules dans le papier (par exemple, 27-30) semblent impliquer une quantité appelée q. Encore une fois, ce papier de 1999 que vous citez Mon sentiment cependant est que le document de 1999 met en œuvre une approche de ré-échantillonnage qui est clairement (en regardant le code) n'est pas ce que mon programme de statistiques fait (R; p.adjust) ... mais je peux me tromper.
russellpierce
1
À la fin du document de 2001, le document de 1999 est cité et dit: "Enfin, rappelez-vous la procédure de rééchantillonnage de Yekutieli et Benjamini (1999), qui tente de résoudre le problème susmentionné tout en utilisant les informations relatives à la dépendance. La procédure basée sur le rééchantillonnage est plus puissante, au détriment d’une plus grande complexité et d’un contrôle approximatif du FDR. " Je pense donc que le document de 2001 fournissait une solution de calcul sous forme fermée et c’est ce que mon programme de statistiques met en œuvre.
russellpierce
1
Ok, vous utilisez p.adjust. Le papier 99 est totalement différent, comme vous l'avez noté. J'ai toujours vu l'option BY dans p.adjust et je n'y ai pas prêté attention. Ce document de 2001 est généralement cité en relation avec la preuve du FDR et la «dépendance à la régression positive». Je ne l'ai jamais vu citer un autre estimateur, mais c'est peut-être là. On dirait que j'ai besoin de le relire.
Julieth

Réponses:

21

Benjamini et Hochberg (1995) ont introduit le taux de fausse découverte. Benjamini et Yekutieli (2001) ont prouvé que l'estimateur est valable sous certaines formes de dépendance. La dépendance peut survenir de la manière suivante. Considérons la variable continue utilisée dans un test t et une autre variable corrélée à celle-ci; par exemple, vérifier si l'IMC diffère dans deux groupes et si le tour de taille diffère dans ces deux groupes. Comme ces variables sont corrélées, les valeurs p résultantes le seront également. Yekutieli et Benjamini (1999) ont développé une autre procédure de contrôle du FDR, qui peut être utilisée sous dépendance générale en rééchantillonnant la distribution nulle. Étant donné que la comparaison porte sur la distribution de permutation nulle, plus le nombre total de vrais positifs augmente, plus le procédé devient conservateur. Il s'avère que BH 1995 est également conservateur lorsque le nombre de vrais positifs augmente. Pour améliorer cela, Benjamini et Hochberg (2000) ont introduit la procédure adaptative de FDR. Cette estimation nécessaire d'un paramètre, la proportion nulle, est également utilisée dans l'estimateur pFDR de Storey. Storey donne des comparaisons et affirme que sa méthode est plus puissante et souligne le caractère conservateur de la procédure de 1995. Storey a également des résultats et des simulations sous dépendance.

Tous les tests ci-dessus sont valables sous indépendance. La question est de savoir à quel type de rupture par rapport à l'indépendance ces estimations peuvent porter.

Ma pensée actuelle est que si vous ne vous attendez pas à trop de vrais positifs, la procédure BY (1999) est pratique car elle intègre des fonctionnalités de distribution et de dépendance. Cependant, je ne suis pas au courant d'une implémentation. La méthode de Storey a été conçue pour de nombreux vrais positifs avec une certaine dépendance. BH 1995 offre une alternative au taux d'erreur familial, mais il reste prudent.

Benjamini, Y et Y Hochberg. Sur le contrôle adaptatif de la fréquence de découverte fausse dans plusieurs tests avec des statistiques indépendantes. Journal of Educational and Behavioral Statistics, 2000.

Juliette
la source
Merci beaucoup! Pourriez-vous réviser votre question pour clarifier les points / problèmes suivants: "le rééchantillonnage de la distribution nulle" est le document de 1999? Souhaitez-vous s'il vous plaît fournir la citation pour le papier 2000? Vous sembliez familier avec p.adjust, met-il en œuvre la procédure BY? Faut-il utiliser BH lorsque les tests d'hypothèse ne sont pas dépendants? Qu'est-ce qui fait que les tests d'hypothèses sont considérés comme dépendants? - S'il vous plaît laissez-moi savoir si l'une de ces questions va au-delà de la portée actuelle et nécessite qu'une nouvelle question soit posée.
russellpierce
p.adjust a des options pour les deux (BH et BY). Cependant, je pensais que c'était pareil, alors j'ai raté quelque chose.
Julieth
Et le code sous-jacent est également différent (j'ai vérifié), ils produiront donc des nombres différents.
russellpierce
Alors, quelle procédure pensez-vous que p.adjust exécute avec l'argument BY? Je ne pense pas que ce soit la procédure de 1999. Le code sous-jacent est pmin (1, cummin (q * n / i * p [o])) [ro]. BH est pmin (1, cummin (n / i * p [o])) [ro]. Donc, ils ne diffèrent que par q qui est la somme (1 / (1: n)) où n = le nombre de pvalues. o et ro servent simplement à mettre les valeurs de p dans un ordre décroissant numérique pour la fonction, puis à les recracher dans le même ordre que celui entré par l'utilisateur.
russellpierce
1
Donc, comme aucune nouvelle réponse n’arrive, j’accepterai cette réponse et résumerai ma compréhension. p.adjust peut être une erreur pour BY. Ce qui est effectué n’est pas un ré-échantillonnage. BH, 2000 a introduit la procédure adaptative FDR, qui implique l’estimation de la proportion nulle, qui peut être le q qui apparaît dans le code BY. En attendant, il semble judicieux de citer p.adjust directement, car cela reflète la procédure utilisée lorsque vous utilisez l'option "BY" et vous devez simplement savoir que "BY" est peut-être en train d'implémenter Benjamini & Hochberg, 2000.
russellpierce
5

p.adjust n'est pas une erreur pour BY. La référence est faite au théorème 1.3 (preuve dans la section 5 à la p.1182) dans le document:

Benjamini, Y. et Yekutieli, D. (2001). Le contrôle du taux de fausse découverte dans plusieurs tests sous dépendance. Annals of Statistics 29, 1165-1188.

Comme cet article traite de plusieurs ajustements, la référence sur la page d’aide (au moment de la rédaction) pour p.adjust () est quelque peu obscure. La méthode est garantie pour contrôler FDR, au taux indiqué, dans la structure de dépendance la plus générale. Vous trouverez des commentaires informatifs dans les diapositives de Christopher Genovese à l'adresse suivante: www.stat.cmu.edu/~genovese/talks/hannover1-04.pdf. Notez le commentaire de la diapositive 37, faisant référence à la méthode du théorème 1.3 du document BY 2001 [méthode = 'BY' avec p.adjust ()] que: "Malheureusement, c'est typiquement très conservateur, parfois même plus que Bonferroni."

Exemple numérique: method='BY' vsmethod='BH'

Ce qui suit compare method = 'BY' avec method = 'BH', à l'aide de la fonction p.adjust () de R, pour les valeurs p de la colonne 2 du tableau 2 de l'article de Benjamini et Hochberg (2000):

> p <-    c(0.85628,0.60282,0.44008,0.41998,0.3864,0.3689,0.31162,0.23522,0.20964,
0.19388,0.15872,0.14374,0.10026,0.08226,0.07912,0.0659,0.05802,0.05572,
0.0549,0.04678,0.0465,0.04104,0.02036,0.00964,0.00904,0.00748,0.00404,
0.00282,0.002,0.0018,2e-05,2e-05,2e-05,0)
> pmat <- rbind(p,p.adjust(p, method='BH'),p.adjust(p, method='BY'))
> rownames(pmat)<-c("pval","adj='BH","adj='BY'")
> round(pmat,4)

[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] pval 0.8563 0.6028 0.4401 0.4200 0.3864 0.3689 0.3116 0.2352 0.2096 adj='BH 0.8563 0.6211 0.4676 0.4606 0.4379 0.4325 0.3784 0.2962 0.2741 adj='BY' 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] pval 0.1939 0.1587 0.1437 0.1003 0.0823 0.0791 0.0659 0.0580 0.0557 adj='BH 0.2637 0.2249 0.2125 0.1549 0.1332 0.1332 0.1179 0.1096 0.1096 adj='BY' 1.0000 0.9260 0.8751 0.6381 0.5485 0.5485 0.4856 0.4513 0.4513 [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27] pval 0.0549 0.0468 0.0465 0.0410 0.0204 0.0096 0.0090 0.0075 0.0040 adj='BH 0.1096 0.1060 0.1060 0.1060 0.0577 0.0298 0.0298 0.0283 0.0172 adj='BY' 0.4513 0.4367 0.4367 0.4367 0.2376 0.1227 0.1227 0.1164 0.0707 [,28] [,29] [,30] [,31] [,32] [,33] [,34] pval 0.0028 0.0020 0.0018 0e+00 0e+00 0e+00 0 adj='BH 0.0137 0.0113 0.0113 2e-04 2e-04 2e-04 0 adj='BY' 0.0564 0.0467 0.0467 7e-04 7e-04 7e-04 0

Σje=1m(1/je)m

> mult <- sapply(c(11, 30, 34, 226, 1674, 12365), function(i)sum(1/(1:i)))

setNames (mult, coller (c ('m =', rep ('', 5)), c (11, 30, 34, 226, 1674, 12365))) m = 11 30 34 226 1674 12365 3.020 3.995 4.118 6.000 8.000 10.000

m

John Maindonald
la source