Gibt es eine Alternative zum Kolmogorov-Smirnov-Test für gebundene Daten mit Korrektur?

14

Ich habe eine Reihe von Daten aus zwei Proben (Kontrolle und Behandlung) mit jeweils mehreren tausend Werten, die in R einer Signifikanzprüfung unterzogen werden sollen. Theoretisch sollten die Werte kontinuierlich sein, aber aufgrund der Rundung durch die Messsoftware sind sie t und sie haben Krawatten. Die Verteilungen sind unbekannt und die Formen der Kontrolle und der behandelten Verteilungen können unterschiedlich sein. Daher würde ich gerne einen nicht parametrischen Test verwenden, um zu vergleichen, ob der Unterschied zwischen den Proben für 10 verschiedene Faktoren signifikant ist.

Ich habe überlegt, den Kolmogorov-Smirnov-Test zu verwenden, aber er eignet sich nicht wirklich für Krawatten. Ich bin kürzlich auf eine neue R-Bibliothek namens Matching gestoßen , die eine Bootstrap-Version von KS test ausführt und Bindungen toleriert. Ist das wirklich eine gute Idee oder sollte ich stattdessen einen anderen Test verwenden? Und muss ich den p-Wert anpassen?

AnjaM
quelle
Das verlinkte Paper befasst sich mit dem Propensity Score Matching. Es kann sein, dass der Bootstrap-Test allgemeiner ist, aber ich bin mir nicht sicher.
Michael R. Chernick
Ich hätte eine Randomisierungsversion von so etwas wie Kolmogorov-Smirnov gemacht (nun, eigentlich hätte ich wahrscheinlich entweder Anderson-Darling oder Cramer-von Mises für die KS verwendet, aber immer noch mit der Randomisierungsverteilung, um das Problem zu lösen von Bindungen).
Glen_b -Reinstate Monica
Haben Sie den Code von Tom Waterhouse gesehen ?
Ray Koopman

Antworten:

13

Anstelle des KS-Tests können Sie auch einfach ein Permutations- oder Resampling-Verfahren verwenden, das in der oneway_testFunktion des coinPakets implementiert ist . Schauen Sie sich die akzeptierte Antwort auf diese Frage an .

Update : Mein Paket afexenthält die Funktion, compare.2.vectorsdie eine Permutation und andere Tests für zwei Vektoren implementiert. Sie können es von CRAN erhalten:

install.packages("afex")

Für zwei Vektoren xund yes gibt (derzeit) so etwas wie:

> compare.2.vectors(x,y)
$parametric
   test test.statistic test.value test.df       p
1     t              t     -1.861   18.00 0.07919
2 Welch              t     -1.861   17.78 0.07939

$nonparametric
             test test.statistic test.value test.df       p
1 stats::Wilcoxon              W     25.500      NA 0.06933
2     permutation              Z     -1.751      NA 0.08154
3  coin::Wilcoxon              Z     -1.854      NA 0.06487
4          median              Z      1.744      NA 0.17867

Kommentare zu dieser Funktion sind ausdrücklich erwünscht.

Henrik
quelle
3
(+1) Eine Beschreibung dieses und anderer Tests finden Sie in diesem Blog
@Henrik Danke für den Vorschlag und für den Hinweis auf die andere Frage. Das ist sehr hilfreich!
AnjaM
@AnjaM Gern geschehen. Vielleicht möchten Sie auch mein Update überprüfen.
Henrik