Was sind die praktischen Unterschiede zwischen den Falschentdeckungsratenverfahren von Benjamini & Hochberg (1995) und Benjamini & Yekutieli (2001)?

34

In meinem Statistikprogramm werden sowohl die Verfahren Benjamini & Hochberg (1995) als auch Benjamini & Yekutieli (2001) für die Falschentdeckungsrate (FDR) implementiert. Ich habe mein Bestes getan, um die spätere Abhandlung durchzulesen, aber sie ist ziemlich mathematisch dicht und ich bin nicht sicher, ob ich den Unterschied zwischen den Abläufen verstehe. Ich kann anhand des zugrunde liegenden Codes in meinem Statistikprogramm erkennen, dass diese tatsächlich unterschiedlich sind und dass letzterer eine Menge q enthält, auf die ich in Bezug auf FDR Bezug genommen habe, die ich aber auch nicht ganz verstehe.

Gibt es einen Grund, das Benjamini & Hochberg (1995) -Verfahren dem Benjamini & Yekutieli (2001) -Verfahren vorzuziehen? Haben sie unterschiedliche Annahmen? Was sind die praktischen Unterschiede zwischen diesen Ansätzen?

Benjamini, Y. und Hochberg, Y. (1995). Kontrolle der Rate falscher Entdeckungen: ein praktischer und leistungsstarker Ansatz für mehrere Tests. Zeitschrift der Royal Statistical Society Series B, 57, 289–300.

Benjamini, Y. und Yekutieli, D. (2001). Die Kontrolle der Falschentdeckungsrate bei Mehrfachtests in Abhängigkeit. Annals of Statistics 29, 1165–1188.

Das Papier von 1999, auf das in den nachstehenden Kommentaren Bezug genommen wird: Yekutieli, D. & Benjamini, Y. (1999). Resampling-basierte Falscherkennungsrate, die mehrere Testverfahren für korrelierte Teststatistiken steuert. Journal of Statistical Planning and Inference, 82 (1), 171-196.

russellpierce
quelle
Ich dachte, die Arbeit von 2001 legt Eigenschaften von FDR (1995) in Abhängigkeit fest. Yekutieli und Benjamini (Journal of Statistical Planning and Inference, 1999) legen ein anderes FDR-Verfahren fest. Welche Chance suchen Sie?
6.
@julieth: Das war mein Sinn für das Papier von 2001, als ich nur die Zusammenfassung gelesen habe, aber die Formeln in dem Papier (z. B. 27 - 30) scheinen eine Menge zu enthalten, die als q bezeichnet wird. Andererseits zitieren Sie auch dieses Papier von 1999. Ich habe jedoch das Gefühl, dass das Papier von 1999 einen Neuabtastungsansatz implementiert, der eindeutig (anhand des Codes) nicht das ist, was mein Statistikprogramm tut (R; p.adjust) ... aber ich kann mich irren.
Russellpierce
1
Am Ende der Arbeit von 2001 wird die Arbeit von 1999 zitiert und sie sagen: "Schließlich sei an das auf Resampling basierende Verfahren von Yekutieli und Benjamini (1999) erinnert, das versucht, das obige Problem zu bewältigen und gleichzeitig die Informationen über die Abhängigkeit zu nutzen Struktur abgeleitet von der Probe. Das auf Resampling basierende Verfahren ist leistungsfähiger, auf Kosten einer größeren Komplexität und nur einer ungefähren FDR-Steuerung. " Ich denke, das Papier von 2001 bot eine geschlossene Lösung für die Berechnung, und das ist es, was mein Statistikprogramm implementiert.
Russellpierce
1
Ok, Sie verwenden also p.adjust. Das Papier 99 unterscheidet sich insgesamt, wie Sie bemerkt haben. Ich habe immer die BY-Option in p.adjust gesehen und nicht darauf geachtet. Dieses Papier aus dem Jahr 2001 wird normalerweise in Bezug auf den Nachweis von FDR und "positive Regressionsabhängigkeit" zitiert. Ich habe es nie als Zitat eines anderen Schätzers gesehen, aber vielleicht ist es dort drin. Sieht so aus, als müsste ich es noch einmal lesen.
6.

Antworten:

21

Benjamini und Hochberg (1995) führten die Falschentdeckungsrate ein. Benjamini und Yekutieli (2001) haben bewiesen, dass der Schätzer unter bestimmten Formen der Abhängigkeit gültig ist. Abhängigkeit kann wie folgt entstehen. Betrachten Sie die kontinuierliche Variable, die in einem t-Test verwendet wird, und eine andere Variable, die damit korreliert ist. B. testen, ob sich der BMI in zwei Gruppen unterscheidet und ob sich der Taillenumfang in diesen beiden Gruppen unterscheidet. Da diese Variablen korreliert sind, werden auch die resultierenden p-Werte korreliert. Yekutieli und Benjamini (1999) entwickelten ein weiteres FDR-Kontrollverfahren, das in allgemeiner Abhängigkeit durch Resampling der Nullverteilung angewendet werden kann. Da sich der Vergleich auf die Nullpermutationsverteilung bezieht, wird das Verfahren konservativer, wenn die Gesamtzahl der echten Positiven zunimmt. Es stellt sich heraus, dass BH 1995 auch konservativ ist, wenn die Anzahl der echten Positiven zunimmt. Um dies zu verbessern, führten Benjamini und Hochberg (2000) das adaptive FDR-Verfahren ein. Dies erforderte die Schätzung eines Parameters, des Nullanteils, der auch im pFDR-Schätzer von Storey verwendet wird. Storey gibt Vergleiche und argumentiert, dass seine Methode leistungsfähiger ist und den konservativen Charakter des Verfahrens von 1995 betont. Storey hat auch Ergebnisse und Simulationen in Abhängigkeit.

Alle oben genannten Prüfungen gelten unabhängig voneinander. Die Frage ist, um welche Art von Abweichung von der Unabhängigkeit es sich bei diesen Schätzungen handelt.

Wenn Sie nicht zu viele echte positive Ergebnisse erwarten, ist das BY (1999) -Verfahren meines Erachtens gut, da es Verteilungsmerkmale und Abhängigkeiten enthält. Mir ist jedoch keine Implementierung bekannt. Die Methode von Storey wurde für viele echte Positive mit einer gewissen Abhängigkeit entwickelt. BH 1995 bietet eine Alternative zur familienbezogenen Fehlerquote und ist nach wie vor konservativ.

Benjamini, Y und Y Hochberg. Zur adaptiven Steuerung der Falscherkennungsrate bei Mehrfachtests mit unabhängigen Statistiken. Zeitschrift für Bildungs- und Verhaltensstatistik, 2000.

julieth
quelle
Vielen Dank! Könnten Sie Ihre Frage überarbeiten, um die folgenden Punkte / Probleme zu klären: "Resampling the null distribution" ist das Papier von 1999? Würden Sie bitte das Zitat für die Arbeit von 2000 vorlegen? Sie schienen mit p.adjust vertraut zu sein. Implementiert es tatsächlich die BY-Prozedur? Muss man BH verwenden, wenn die Hypothesentests nicht abhängig sind? Wodurch werden Hypothesentests als abhängig angesehen? - Bitte lassen Sie mich wissen, wenn eine dieser Fragen über den derzeitigen Rahmen hinausgeht und eine neue Frage gestellt werden muss.
Russellpierce
p.adjust hat Optionen für beide (BH und BY). Ich dachte jedoch, das wären die gleichen, also habe ich etwas verpasst.
6.
Und der zugrunde liegende Code ist auch anders (ich habe es überprüft), so dass sie unterschiedliche Zahlen produzieren.
Russellpierce
Also, was ist es für eine Prozedur, die p.adjust mit dem BY-Argument ausführt? Ich glaube nicht, dass es das Verfahren von 1999 ist. Der zugrunde liegende Code ist pmin (1, cummin (q * n / i * p [o])) [ro]. BH ist pmin (1, cummin (n / i * p [o])) [ro]. Sie unterscheiden sich also nur in q, welches die Summe (1 / (1: n)) ist, wobei n = die Anzahl der p-Werte ist. o und ro dienen nur in absteigender numerischer Reihenfolge für die Funktion der p - Werte zu setzen und dann spucken sie in der gleichen Reihenfolge wieder aus der Benutzer sie in inputed.
russellpierce
1
Da keine neuen Antworten eingehen, akzeptiere ich diese Antwort und fasse mein Verständnis zusammen. p.adjust ist möglicherweise wegen BY miscitisch. Was durchgeführt wird, ist kein Resampling. BH, 2000, führte das adaptive FDR-Verfahren ein, und dies beinhaltet die Schätzung des Nullanteils, der das q sein kann, das im BY-Code vorkommt. In der Zwischenzeit erscheint es sinnvoll, p.adjust direkt zu zitieren, da dies die tatsächliche Vorgehensweise bei Verwendung der Option "BY" widerspiegelt, und sich nur bewusst zu sein, dass "BY" tatsächlich Benjamini & Hochberg implementiert. 2000.
Russellpierce
5

p.adjust wechselt nicht zu BY. Der Verweis bezieht sich auf Satz 1.3 (Beweis in Abschnitt 5 auf S.1182) in der Arbeit:

Benjamini, Y. und Yekutieli, D. (2001). Die Kontrolle der Falschentdeckungsrate bei Mehrfachtests in Abhängigkeit. Annals of Statistics 29, 1165–1188.

Da in diesem Artikel verschiedene Anpassungen behandelt werden, ist der Verweis auf der Hilfeseite (zum Zeitpunkt des Schreibens) für p.adjust () etwas undeutlich. Es ist garantiert, dass die Methode FDR mit der angegebenen Rate unter der allgemeinsten Abhängigkeitsstruktur kontrolliert. Die Folien von Christopher Genovese enthalten informative Kommentare unter: www.stat.cmu.edu/~genovese/talks/hannover1-04.pdf Beachten Sie den Kommentar auf Folie 37, der sich auf die Methode von Satz 1.3 in der Arbeit von BY 2001 [method = 'BY' mit p.adjust ()] dass: "Leider ist dies typischerweise sehr konservativ, manchmal sogar mehr als Bonferroni."

Zahlenbeispiel: method='BY' vsmethod='BH'

Das Folgende vergleicht method = 'BY' mit method = 'BH' unter Verwendung der Funktion p.adjust () von R für die p-Werte aus Spalte 2 von Tabelle 2 in der Arbeit von Benjamini und 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

ich=1m(1/ich)m

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

setNames (mult, paste (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
quelle