Warum ist mein kombinierter p-Wert, der nach der Fisher-Methode erhalten wurde, so niedrig?


9

Ich habe mehrere Personen, für die ich zwei Zeitreihen einiger Parameter gesammelt habe. Für jedes Individuum habe ich berechnet, ob diese Zeitreihen korreliert sind. Wenn ich also 20 Personen habe, habe ich als Ergebnis 20 Rho und 20 p-Werte. Dann möchte ich diese Werte in einen Gruppen-p-Wert gruppieren. Zuerst habe ich die Fisher-Methode ausprobiert ( Wikipedia , MRC-Wiki ).

Hier ist das MATLAB-Codebeispiel, das ich verwendet habe. Aus Gründen der Reproduzierbarkeit gebe ich auch meine Eingabewerte an:

pvals = [0.265337997085488
0.00408191031608826
3.39739013503740e-05
0.254982443552454
0.165041294656449
0.416553830442594
0.854810976365062
0.555604221080550
0.256959004076953
0.371337447007835
0.705098835272764
0.122815481253417
0.562862850057724
0.781570743043581
0.248570986138274
0.448488806357779
0.179768419684463
0.560862182877956
0.169198118710575
0.681402534954493
0.723443480957150];
%// pvals is vector of (21,1) shape which holds individual p-values
chi_vals = -2.*log(pvals);
group_pval = 1 - chi2cdf(sum(chi_vals),2*length(pvals));
nsig = sum(pvals < 0.05)

Ich hätte gedacht, dass dies genug ist, aber es gibt etwas, das mich wirklich beunruhigt hat - ich bekomme einen Gruppen-p-Wert von 0,0054, während es in meinen individuellen p-Werten nur 2 Werte gibt, die bei "signifikant" sind . Das macht doch keinen Sinn, oder? Warum ist mein Gruppen-p-Wert so niedrig? Habe ich bei Berechnungen oder Annahmen einen Fehler gemacht?p<0.05


Warum sollten Sie sie kombinieren müssen? Betrachtet man die Daten, so scheint es nur zwei signifikante Korrelationen zu geben. Nachdem Sie mehrere Vergleiche korrigiert haben, ist möglicherweise keine mehr vorhanden (nicht berechnet) oder nur die dritte. Schreiben Sie das stattdessen in den Bericht.
mmh

Vielen Dank, auch wenn dies meine Frage nicht direkt beantwortet, ich mag Ihren Rat!
Dmitry Smirnov

2
@mmh Ihr Kommentar wäre sinnvoll, wenn dies mehrere Vergleiche in einer Studie wären: Dann möchte man mehrere Tests korrigieren. Das OP fragt jedoch, wie Wiederholungen desselben Experiments zusammengefasst werden sollen. dh eine Form der Metaanalyse. Der zu diesem Zweck erfundene Test Fisher ist empfindlich dafür, wie weit ein Satz von p-Werten unter dem erwarteten Mittelwert von 0,5 für einen Satz von p-Werten abweicht, die aus der Null gezogen werden (dh zufällig rechteckig zwischen 0 und 1 verteilt sind). Die bereitgestellte Menge enthält nicht nur einen hoch signifikanten Wert, sondern 1/3 sind p <0,2, während nur 1 über 0,8 liegt.
Tim

Antworten:


7

Ihr p-Wert scheint korrekt zu sein.

Bedenken Sie, dass p-Werte einheitlich sein sollten, wenn die Nullhypothese wahr ist. Wenn Sie viele davon haben, überprüfen Sie effektiv Ihre Sammlung von p-Werten auf Konsistenz mit Gleichmäßigkeit, gegen die Alternative, dass sie kleiner sind, als Sie von einer Uniform erwarten würden (die Fisher-Methode misst diesen Grad an zu kleinem Wert) einen bestimmten Weg).

Ihre Werte sind nach unten geneigt (z. B. 7 Werte liegen unter 0,25, aber nur 2 über 0,75). Der Ansatz von Fisher kann erkennen, dass Ihre p-Werte tendenziell zu klein sind.

Wenn die p-Werte von einer Uniform stammen, sollten sie in diesem Diagramm nahe an der roten Linie liegen (die F-Werte sind einheitliche Werte; im Wesentlichen das um nach unten verschobene ecdf (äquivalent der Durchschnitt des ecdf) vor und nach dem Punkt)):12n

! [Bildbeschreibung hier eingeben

Wir können sehen, dass die großen p-Werte tendenziell zu klein sind (sie liegen links von der Linie nahe dem oberen Rand des Diagramms). Aus diesem Grund ist der Fisher-p-Wert ziemlich klein.


Wenn ich das richtig verstehe, zeigt das group_pval in meinem Code die Wahrscheinlichkeit an, dass meine pvals aus einer gleichmäßigen (0,1) Verteilung stammen? Können Sie einen alternativen Weg vorschlagen, um die einzelnen p-Werte zusammenzufassen? Der obige Kommentar schlug vor, nicht zusammenzufassen, und ich sehe darin einen Sinn, aber gibt es immer noch eine gute Möglichkeit, nur einen Wert für die Entscheidung darzustellen?
Dmitry Smirnov

3
Nein, Ihr group_pval ist selbst ein p-Wert, und ein p-Wert ist nicht die Wahrscheinlichkeit, dass die Null wahr ist. Sie können p-Werte auf verschiedene Arten zusammenfassen, je nachdem, wie Sie sie zusammenfassen möchten. Der Fisher-Ansatz ist jedoch sowohl der offensichtlichste als auch der am häufigsten akzeptierte. Sie können problemlos nur einen Wert für eine Entscheidung angeben. das ist , was Ihr group_pval ist . Ich sehe keine Schwierigkeiten damit.
Glen_b -Reinstate Monica

+1 (vor einiger Zeit). Vielleicht würde es helfen , buchstabieren , was Fin der -log(F)auf der y-Achse des Grundstücks.
Amöbe

@amoeba danke; Das Diagramm wurde aktualisiert (mit einem meiner p-Werte stimmte etwas nicht) und es wurde hinzugefügt, dass F das ecdf ist (obwohl Sie ein sehr ähnliches Diagramm über einheitliche Bewertungen erhalten können ... unter Verwendung ppointsvon R). Bearbeiten: Eigentlich habe ich jetzt auf die Verwendung von ppoints umgestellt, da dies ein Problem mit einem fehlenden Punkt bei der Verwendung des ECDF vermeidet
Glen_b -Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.