Ich habe Daten aus einem Experiment, das ich mit t-Tests analysiert habe. Die abhängige Variable ist intervallskaliert und die Daten sind entweder ungepaart (dh 2 Gruppen) oder gepaart (dh innerhalb von Subjekten). ZB (innerhalb von Fächern):
x1 <- c(99, 99.5, 65, 100, 99, 99.5, 99, 99.5, 99.5, 57, 100, 99.5,
99.5, 99, 99, 99.5, 89.5, 99.5, 100, 99.5)
y1 <- c(99, 99.5, 99.5, 0, 50, 100, 99.5, 99.5, 0, 99.5, 99.5, 90,
80, 0, 99, 0, 74.5, 0, 100, 49.5)
Da die Daten jedoch nicht normal sind, hat uns ein Rezensent gebeten, etwas anderes als den T-Test zu verwenden. Wie man jedoch leicht sehen kann, sind die Daten nicht nur nicht normal verteilt, sondern die Verteilungen sind zwischen den Bedingungen nicht gleich:
Daher können die üblichen nichtparametrischen Tests, der Mann-Whitney-U-Test (ungepaart) und der Wilcoxon-Test (gepaart), nicht verwendet werden, da sie gleiche Verteilungen zwischen den Bedingungen erfordern. Daher entschied ich mich für einen Resampling- oder Permutationstest.
Jetzt suche ich nach einer R-Implementierung eines permutationsbasierten Äquivalents des t-Tests oder einem anderen Rat, was mit den Daten zu tun ist.
Ich weiß, dass es einige R-Pakete gibt, die dies für mich tun können (z. B. Coin, Perm, exactRankTest usw.), aber ich weiß nicht, welches ich auswählen soll. Also, wenn jemand mit etwas Erfahrung mit diesen Tests mir einen Kick-Start geben könnte, wäre das überaus cool.
UPDATE: Es wäre ideal, wenn Sie ein Beispiel dafür liefern könnten, wie die Ergebnisse dieses Tests gemeldet werden.
quelle
coin
tatsächlich die genaue Permutationsverteilung berechnen (ohne wirklich alle Permutationen durchzugehen, gibt es elegantere Algorithmen als diese). In Anbetracht der Wahl scheint die genaue Verteilung vorzuziehen, aber der Unterschied zu einer Monte-Carlo-Näherung mit einer hohen Anzahl von Replikaten sollte gering sein.oneway_test
die genaue Funktion? Und wenn ja, welches ist das richtige für nicht gekoppelte Daten?coin
Autor hat mir geschrieben, dassoneway_test()
man die genaue Verteilung für den abhängigen Fall nicht berechnen kann, man muss mit der MC-Näherung gehen (ist nurwilcoxsign_test()
für den genauen Test geeignet). Ich wusste das nicht und würde in diesem Fall einen Fehler vorziehen, aber MC sollte mit einer hohen Anzahl von Replikaten genau genug sein.Ein paar Bemerkungen sind meiner Meinung nach angebracht.
1) Ich würde Sie dazu ermutigen, mehrere visuelle Darstellungen Ihrer Daten zu versuchen, da diese Dinge erfassen können, die durch (Diagramme wie) Histogramme verloren gegangen sind, und ich empfehle Ihnen nachdrücklich, auf nebeneinander liegenden Achsen zu zeichnen. In diesem Fall glaube ich nicht, dass die Histogramme die herausragenden Merkmale Ihrer Daten sehr gut vermitteln. Schauen Sie sich beispielsweise nebeneinander liegende Boxplots an:
Oder auch Side-by-Side-Stripcharts:
Schauen Sie sich die Zentren, Ausbreitungen und Formen an! Etwa drei Viertel der Daten liegen weit über dem Median der Daten. Die Ausbreitung von ist winzig, während die Ausbreitung von groß ist. Sowohl als auch sind stark nach links geneigt, jedoch auf unterschiedliche Weise. Zum Beispiel hat fünf (!) Wiederholte Werte von Null.y 1 x 1 y 1 x 1 y 1 y 1x1 y1 x1 y1 x1 y1 y1
2) Sie haben weder ausführlich erklärt, woher Ihre Daten stammen, noch wie sie gemessen wurden, aber diese Informationen sind sehr wichtig, wenn es darum geht, ein statistisches Verfahren auszuwählen. Sind Ihre beiden obigen Proben unabhängig? Gibt es Gründe zu der Annahme, dass die Grenzverteilungen der beiden Stichproben gleich sein sollten (außer zum Beispiel bei unterschiedlichen Standorten)? Welche Überlegungen haben Sie vor der Studie veranlasst, nach Belegen für einen Unterschied zwischen den beiden Gruppen zu suchen?
3) Der t-Test ist für diese Daten nicht geeignet, da die Randverteilungen deutlich nicht normal sind und in beiden Proben Extremwerte aufweisen. Wenn Sie möchten, können Sie auf die CLT ansprechen (aufgrund Ihrer mäßig großen Probe) ein verwenden -Test (die zu einem z-Test für große Proben ähnlich sein würden), aber die Schiefe (in beiden Variablen) gegeben von Ihre Angaben würde ich als solche Berufung nicht sehr überzeugend beurteilen. Natürlich können Sie damit auch einen Wert berechnen , aber was bringt das für Sie? Wenn die Annahmen nicht erfüllt sind, ist ein Wert nur eine Statistik. es sagt nichts darüber aus, was Sie (vermutlich) wissen wollen: ob es Beweise dafür gibt, dass die beiden Samples aus unterschiedlichen Distributionen stammen.p pz p p
4) Ein Permutationstest wäre für diese Daten ebenfalls ungeeignet. Die einzige und häufig übersehene Annahme für Permutationstests ist, dass die beiden Proben unter der Nullhypothese austauschbar sind . Das würde bedeuten, dass sie identische Randverteilungen haben (unter der Null). Sie stecken jedoch in Schwierigkeiten, da die Grafiken darauf hindeuten, dass sich die Verteilungen sowohl in der Position als auch im Maßstab (und auch in der Form) unterscheiden. Sie können also nicht (gültig) auf Standortunterschiede testen, weil sich die Maßstäbe unterscheiden, und Sie können nicht (gültig) auf Maßstabunterschiede testen, weil sich die Standorte unterscheiden. Hoppla. Sie können den Test trotzdem durchführen und einen Wert erhalten, aber was nun? Was hast du wirklich erreicht?p
5) Meiner Meinung nach sind diese Daten ein perfektes (?) Beispiel dafür, dass ein gut ausgewähltes Bild 1000 Hypothesentests wert ist. Wir brauchen keine Statistiken, um den Unterschied zwischen einem Bleistift und einer Scheune zu erkennen. Für diese Daten würde aus meiner Sicht die entsprechende Aussage lauten: "Diese Daten weisen deutliche Unterschiede in Bezug auf Position, Maßstab und Form auf." Anschließend können Sie eine (aussagekräftige) deskriptive Statistik für jede dieser Statistiken erstellen, um die Unterschiede zu quantifizieren und zu erläutern, was die Unterschiede im Kontext Ihrer ursprünglichen Studie bedeuten.
6) Ihr Rezensent wird wahrscheinlich (und leider) auf einer Art Wert als Voraussetzung für die Veröffentlichung bestehen. Seufzer! Wenn ich es wäre, würde ich angesichts der Unterschiede in Bezug auf alles wahrscheinlich einen nichtparametrischen Kolmogorov-Smirnov-Test verwenden, um einen Wert auszuspucken , der zeigt, dass die Verteilungen unterschiedlich sind, und dann mit der oben beschriebenen Statistik fortzufahren. Sie müssten den beiden Samples etwas Rauschen hinzufügen, um die Krawatten loszuwerden. (Und dies setzt natürlich voraus, dass Ihre Stichproben unabhängig sind, was Sie nicht ausdrücklich angegeben haben.)pp p
Diese Antwort ist viel länger, als ich ursprünglich beabsichtigt hatte. Das tut mir leid.
quelle
In meinen Kommentaren geht es nicht um die Implementierung des Permutationstests, sondern um die allgemeineren Fragen, die durch diese Daten aufgeworfen werden, und die Diskussion darüber, insbesondere um den Beitrag von G. Jay Kerns.
Die beiden Verteilungen sehen mir mit AUSNAHME der Gruppe der Nullen in Y1 sehr ähnlich, was sich von den anderen Beobachtungen in dieser Stichprobe (die nächstkleinere ist etwa 50 auf der Skala von 0 bis 100) sowie von allen in X1 stark unterscheidet. Ich würde zuerst untersuchen, ob an diesen Beobachtungen etwas anderes war.
Zweitens stellt sich die Frage, wenn angenommen wird, dass diese Nullen in die Analyse gehören und der Permutationstest nicht gültig ist, weil die Verteilungen unterschiedlich zu sein scheinen. Wenn die Null wahr wäre (Verteilungen sind identisch), könnten Sie (mit angemessener Wahrscheinlichkeit) Verteilungen erhalten, die so unterschiedlich aussehen wie diese beiden? Antworten, das ist der springende Punkt des Tests, nicht wahr? Vielleicht werden in diesem Fall einige die Antwort als offensichtlich betrachten, ohne den Test auszuführen, aber mit diesen kleinen, eigenartigen Verteilungen glaube ich nicht, dass ich das tun würde.
quelle
Da diese Frage erneut auftauchte, kann ich eine weitere Antwort hinzufügen, die von einem kürzlich veröffentlichten Blogbeitrag über R-Blogger von Robert Kabacoff, dem Autor von Quick-R und R in Action , der das
lmPerm
Paket verwendet, inspiriert wurde .Diese Methode erzeugt jedoch sehr kontrastreiche (und sehr instabile) Ergebnisse zu denen, die von der
coin
Packung in der Antwort von @caracakl erzeugt wurden (der p-Wert der Analyse innerhalb der Subjekte ist0.008
). Die Analyse bezieht die Datenaufbereitung auch aus der Antwort von @ caracal:produziert:
Wenn Sie dies mehrmals ausführen, bewegen sich die p-Werte zwischen ~ .05 und ~ .1.
Obwohl es sich um eine Antwort auf die Frage handelt, lassen Sie mich am Ende eine Frage stellen (ich kann diese auf Wunsch auf eine neue Frage verschieben):
Irgendwelche Ideen, warum diese Analyse so instabil ist und zu so unterschiedlichen p-Werten führt die Münzanalyse? Habe ich etwas falsch gemacht?
quelle
set.seed(1)
. Um die Genauigkeit der MC-Schätzung zu erhöhen, erhöhen Sie die Anzahl der Iterationen. Ich bin mir nicht sicher, ob eine der beiden die richtige Antwort auf Ihre Frage ist, aber sie sind wahrscheinlich relevant.oneway_anova()
(immer nahe am korrekten Ergebnis) undaovp()
(normalerweise weit vom korrekten Ergebnis entfernt). Ich weiß nicht, warumaovp()
es zu sehr unterschiedlichen Ergebnissen kommt, aber zumindest für diesen Fall sind sie unplausibel. @gung der letzte Aufrufoneway_test(DV ~ IV | id, ...)
in meiner ursprünglichen Antwort spezifizierte die Fehlerschichten für den abhängigen Fall (andere Syntax als von verwendetaov()
).Sind diese Punkte Proportionen? In diesem Fall sollten Sie auf keinen Fall einen Gauß-Parametertest verwenden, und obwohl Sie einen nicht-parametrischen Ansatz wie einen Permutationstest oder einen Bootstrap der Mittel anwenden könnten, würde ich vorschlagen, dass Sie mehr statistische Leistung erhalten Anwendung eines geeigneten nicht-gaußschen parametrischen Ansatzes. Insbesondere können und sollten Sie jedes Mal, wenn Sie ein Proportionsmaß innerhalb einer interessierenden Einheit (z. B. Teilnehmer an einem Experiment) berechnen können, ein Modell mit gemischten Effekten verwenden, das Beobachtungen mit binomial verteiltem Fehler angibt. Siehe Dixon 2004 .
quelle
Hinzufügen eines anderen Ansatzes
ezPerm
desez
Pakets:Dies scheint im Einklang mit
oneway_test
demcoin
Paket zu stehen:Beachten Sie jedoch, dass dies nicht dasselbe Beispiel ist, das von @caracal bereitgestellt wird . In seinem Beispiel enthält er
alternative="greater"
daher den Unterschied in der p-Werten~0.008
vs~0.016
.Das
aovp
Paket vorgeschlagen in eine der Antworten erzeugt verdächtig niedrige p-Werte und läuft verdächtig schnell , auch wenn ich hohe Werte für die versuchenIter
,Ca
undmaxIter
Argumente:Das heißt, die Argumente scheinen die Variationen der p-Werte von
~.03
und~.1
(ich habe einen größeren Bereich als den von @Henrik berichteten) zu0.03
und etwas zu verringern0.07
.quelle