Kombinieren von p-Werten aus verschiedenen statistischen Tests, die auf dieselben Daten angewendet wurden

8

Obwohl der Titel der Frage trivial erscheint, möchte ich erklären, dass er nicht so trivial ist, dass er sich von der Frage unterscheidet, denselben statistischen Test in ähnlichen Datensätzen anzuwenden, um ihn gegen eine Nullhypothese zu testen (Metaanalyse, zB unter Verwendung der Fisher-Methode zum Kombinieren von p-Werten). Was ich suche, ist eine Methode (wenn sie existiert und wenn die Frage statistisch gültig ist), die p-Werte aus zwei verschiedenen statistischen Tests (z. B. einem t-Test und einem u-Test, selbst wenn einer ist) kombiniert parametrisch und die andere nicht), angewendet, um die Zentren von zwei Proben aus zwei Populationen zu vergleichen. Bisher habe ich viel im Internet gesucht, ohne eine klare Antwort zu haben. Die beste Antwort, die ich finden konnte, basierte auf spieltheoretischen Konzepten von David Bickel ( http://arxiv.org/pdf/1111.6174.pdf ).

Eine sehr vereinfachende Lösung wäre ein Abstimmungsschema. Angenommen, ich habe zwei Vektoren von Beobachtungen A=[a1,a2,...,an] und B=[b1,b2,...,bn]und ich möchte mehrere t-ähnliche Statistiken (t-Test, u-Test, sogar 1-Wege-ANOVA) anwenden, um die Hypothese zu testen, dass die Zentren (Mittelwerte, Mediane usw.) der beiden zugrunde liegenden Verteilungen gegen die Hypothese gleich sind Sie haben kein Signifikanzniveau von 0,05. Angenommen, ich führe 5 Tests durch. Wäre es legitim zu sagen, dass es genügend Beweise gibt, um die Nullverteilung abzulehnen, wenn ich in 3 von 5 Tests einen p-Wert <0,05 habe?

Wäre eine andere Lösung, das Gesetz der Gesamtwahrscheinlichkeit anzuwenden, oder ist dies völlig falsch? Angenommen, A ist das Ereignis, bei dem die Nullverteilung abgelehnt wird. Dann wird unter Verwendung von 3 Tests, T1 , T2 , T3 (was bedeutet , dass P(T1)=P(T2)=P(T3)=1/3 ), wäre ein möglicher Wert für P(A) sein , P(A)=P(A|T1)P(T1)+P(A|T2)P(T2)+P(A|T3)P(T3) , wobeiP(A|Ti) die Wahrscheinlichkeit ist dass die Nullverteilung unter dem Test verworfen wirdTi.

Ich entschuldige mich, wenn die Antwort offensichtlich oder die Frage zu dumm ist

Panos
quelle
Was bedeutet in diesem Gesetz der Gesamtwahrscheinlichkeitsberechnung? P(Ti)
Glen_b -Reinstate Monica
Es tut mir leid, dass ich keine mathematische Erklärung dafür geben kann, wonach Sie suchen, aber ich weiß zufällig, dass in einer Software, die wir in unserem Labor entwickeln, diese Funktion implementiert ist: Überprüfen Sie hier, wie es geht: gitools.org/documentation/UserGuide_Combinations .html und hier die Implementierung: github.com/gitools/gitools/blob/… . Ich werde es noch einmal überprüfen, wenn ich die Formel im Originalpapier finde.
dmeu
@Glen_b P (Ti) repräsentiert die "Wahrscheinlichkeit" der Verwendung des statistischen Tests Ti. Ich weiß, dass dies nicht unbedingt eine strenge Wahrscheinlichkeit ist. Es ist eher ein Gewicht, das besagt, dass ich n Tests für denselben Datensatz verwendet habe.
Panos
@dmeu Danke! Ich denke jedoch, dass Ihre Software den trivialen Teil (siehe oben, Kombination mehrerer Datensätze mit einem einzigen Test) und nicht meine Frage beantwortet. Entschuldigung, wenn dies nicht der Fall ist.
Panos
@ Panos Sie könnten Recht haben. Ich las anders als "zwei unabhängige Tests (verschiedene) der gleichen Art". Tut mir leid, dass ich mir Hoffnungen gemacht habe.
dmeu

Antworten:

5

Die von Corone empfohlene Korrektur mehrerer Tests ist in Ordnung, kostet Sie jedoch Berge an Leistung, da Ihre p-Werte im Allgemeinen auch bei Verwendung der Hommel-Korrektur gut korrelieren.

p1,p2,,pnp p=min(p1,,pn)p

Sie müssen den Wert für den beobachteten Wert von berechnen (nennen Sie ihn ). Dazu können Sie beispielsweise 100 000 Datensätze unter den Nullhypothesen simulieren und für jeden dieser Datensätze ein berechnen . Dies gibt Ihnen eine empirische Verteilung von unter der Nullhypothese. Ihr Wert ist der Anteil der simulierten Werte, die .p p o b s p p p < p o b spppobsppp<pobs

Wie simulieren Sie die Datensätze unter der Nullhypothese? In Ihrem Fall haben Sie, wenn ich gut denke, Fälle und Kontrollen sowie RNS-seq-Daten, um die Expressionsniveaus abzuschätzen. Um einen Datensatz unter der Null zu simulieren, ist es üblich, den Fall- / Kontrollstatus einfach zufällig zu permutieren.

Elvis
quelle
2
+1 Ja, dies ist einer der Ansätze, die ich mit "mehr Arbeit" gemeint habe. Es sollte jedoch beachtet werden, dass es nicht selbstverständlich ist, dass der kleinste p-Wert hier der beste Ansatz ist. 99 p-Werte nahe 0,5 und einer bei 0,02 unterscheiden sich stark von 99 p-Werten nahe 0,02. Sobald Sie die Tür zum erneuten Abtasten der Null geöffnet haben, sollten Sie sich die "Abstimmungs" -Methoden ansehen, da die Konsistenz zwischen den Tests möglicherweise (wichtiger) ist, als wenn Sie einen niedrigen p-Wert für einen einzelnen Test festlegen.
Korone
Ja, du hast recht. Für die meisten Assoziationstests halte ich es jedoch für eine gute Idee, die min zu nehmen. Mit mehr Arbeit könnte aus den verschiedenen Tests ein robuster Test mit maximaler Effizienz erstellt werden, aber dies erfordert wirklich die Arbeit an den Tests ...
Elvis
1
Ja, ganz zu schweigen davon, dass die Sache wirklich haarig / aufregend / lustig wird, wenn wir uns Sorgen darüber machen, dass einige Tests leistungsfähiger sind als andere - in einer idealen Welt möchten Sie den leistungsstärksten Tests am meisten zuhören ...
Korone
@ Elvis So etwas ist die naheliegendste Alternative zu etwas, das das Gesetz der Gesamtwahrscheinlichkeit (das sich als falsch herausstellte) beinhaltet, an das ich gedacht habe. Ich habe versucht, an ein Resampling-Verfahren zu denken, aber Sie haben es perfekt formalisiert! Rechenleistung wird an dieser Stelle kein Problem sein (zum Glück!). Bei der Abstimmung könnte man so etwas wie die Whitlock-Methode für die Metaanalyse ( ncbi.nlm.nih.gov/pmc/articles/PMC3135688 ) einbeziehen, aber dem statistischen Test Gewicht verleihen. Solche Informationen könnten aus relativen Veröffentlichungen stammen (z . B. biomedcentral.com/1471-2105/14/91 ).
Panos
ja! Sie können jede Funktion der Werte annehmen, solange sie in Bezug auf jedes nicht abnimmt . p p ip=f(p1,,pn)ppi
Elvis
4

Diese Art von Dingen wird normalerweise durch mehrere Hypothesentests abgedeckt, obwohl dies keine typische Situation ist.

Sie haben zu Recht festgestellt, dass dies anders ist als die Metaanalyse, da Sie dieselben Daten für mehrere Tests verwenden, diese Situation jedoch weiterhin durch Tests mit mehreren Hypothesen abgedeckt wird. Was hier etwas seltsam ist, ist, dass es fast dieselbe Hypothese ist, die Sie mehrmals testen, und dann möchten Sie die globale Nullhypothese, die den Schnittpunkt all dieser darstellt - es lohnt sich vielleicht, sich zu fragen, warum Sie dies für notwendig halten , aber es könnte legitime Gründe geben.

Wenn Sie eine analytisch nachvollziehbarere Reihe von Tests durchführen, könnte man sich auf den Weg der Union-Intersection-Tests machen, aber ich glaube nicht, dass Sie dadurch irgendwohin gelangen würden. Daher würde ich empfehlen, eine sofort einsatzbereite Multiplizitätskorrektur zu verwenden.

Ich würde vorschlagen, dass Sie sich zunächst ansehen, was Wikipedia zu diesem Thema zu sagen hat, aber versuchen, nicht zu festgefahren zu werden: http://en.wikipedia.org/wiki/Multiple_comparisons

Sie müssen also eine Multiplizitätskorrektur verwenden und Union-Intersection ausschließen. Ihre Optionen sind ungefähr wie folgt

  • Bonferonni - Streng dominiert von Holm-Bonferroni, nur historisches Interesse
  • Holm-Bonferroni - Funktioniert für Sie, kostet Sie jedoch Strom (in Ihrem Fall möglicherweise viel)
  • Sidak - leistungsfähiger als BH, aber Sie können dies nicht verwenden, da Ihre p-Werte korreliert werden
  • Hommel - stärker als BH, und es sollte Ihnen gut gehen, da Ihre p-Werte zweifellos positiv korreliert sind

Ihr größtes Problem ist, dass Sie in Ihren verschiedenen Tests sehr wahrscheinlich sehr ähnliche p-Werte erhalten. Hommel sollte dich dafür nicht zu sehr bestrafen.

Zum Beispiel können Sie p-Werte in R mit anpassen p.adjust

p = c(0.03, 0.034, 0.041)
p.adjust(p, method = "bonferroni")
p.adjust(p, method = "holm")
p.adjust(p, method = "hommel")

> p.adjust(p, method = "bonferroni")
[1] 0.090 0.102 0.123
> p.adjust(p, method = "holm")
[1] 0.09 0.09 0.09
> p.adjust(p, method = "hommel")
[1] 0.041 0.041 0.041

Diese Methoden steuern alle die familienbezogene Fehlerrate. Wenn Sie also jeden p-Wert nacheinander testen, basierend darauf, dass er Ihren Schwellenwert überschreitet, wird die Wahrscheinlichkeit von 1 oder mehr Fehlern immer noch auf gesteuert . Dies bedeutet, dass Sie die globale Hypothese ablehnen können, wenn Sie eine oder mehrere Unterhypothesen ablehnen und die Größe Ihres Tests weiterhin auf gesteuert wird .ααα

Wie ich zu Beginn angedeutet habe, wird dies nicht der mächtigste Angriff sein, den Sie ausführen können, aber alles, was anspruchsvoller ist, erfordert viel mehr Arbeit.


Warum dies steuertα

Die globale Nullhypothese lautet, dass alle untergeordneten Nullhypothesen wahr sind.

Das Ergebnis eines einzelnen Tests sei , das den Wert 1 annimmt, wenn die Null zurückgewiesen wird, andernfalls 0.Xi

Da zweifellos positiv korreliert sind, können wir Hommel zur Steuerung der FWER verwenden.Xi

Diese Steuerung bedeutet, dass die Wahrscheinlichkeit, dass ein oder mehrere Tests fälschlicherweise zurückweisen, auf gesteuert wirdα

Daher ist P((Xi)>0)α

Wenn Sie also die globale Hypothese ablehnen, wenn eine oder mehrere untergeordnete Hypothesen abgelehnt werden, beträgt die Größe des globalen Testsα

Korone
quelle
Danke für ihre schnelle Antwort! Die Hauptidee besteht darin, mehrere statistische Algorithmen zu kombinieren, die die differentielle Genexpression unter Verwendung von RNA-Seq-Daten erfassen, und zwar auf eine ausgefeiltere Weise als die Multiplikation der p-Werte, was ohnehin nicht korrekt ist. Was Sie vorschlagen, ähnelt dem, was ich in researchgate.net/publication/ gefunden habe . Ich frage mich jedoch, ob das Abstimmungsschema oder das Gesetz der Gesamtwahrscheinlichkeit in diesem Zusammenhang eine Bedeutung haben.
Panos
@Panos in diesem Fall, dann würde ich definitiv so etwas vorschlagen. Der Nachteil ist, dass die Steuerung konservativ ist, da wir P (1 oder mehr Ausgewählte sind Falsch) anstelle von P (Alle Ausgewählten sind Falsch) steuern. Da Ihre Algorithmen jedoch wahrscheinlich recht positiv korreliert sind, wird der Unterschied wahrscheinlich nicht sei riesig.
Korone
Ganz zu schweigen davon, dass man sich auch nicht zu sehr auf eine bestimmte Größenschwelle festlegen sollte - wie oft gesagt wird, gibt es nichts Besonderes an 0,05 oder 0,01.
Korone
@Panos Wenn Sie sich auf den Weg machen würden, um die richtigen Wahrscheinlichkeiten für Ihr Abstimmungsschema zu ermitteln, würden Sie letztendlich die verschiedenen von mir vorgeschlagenen Multiplizitätstests ableiten, die genau davon abhängen, welche Annahmen Sie auf dem Weg treffen.
Korone
1
@Benjamin Ich würde zwar auch empfehlen, darüber zu lesen (es ist wichtig!), Aber ich denke nicht, dass es hier überhaupt angemessen wäre. FDR kontrolliert den erwarteten Anteil falsch positiver Ergebnisse aus einer Reihe von Auswahlen. Da alle Tests von Panos versuchen, ihn über dieselbe globale Hypothese zu informieren, wäre es wenig sinnvoll, den erwarteten Anteil falscher Tests zu kontrollieren - insbesondere, wenn Sie eine Korrelation haben. Er wählt nicht zwischen mehreren verschiedenen Fragen, sondern versucht viele Möglichkeiten, dieselbe Frage zu beantworten.
Korone