Existe-t-il une alternative au test de Kolmogorov-Smirnov pour les données liées avec correction?

14

J'ai un tas de données provenant de deux échantillons (témoins et traités), contenant chacun plusieurs milliers de valeurs qui doivent subir des tests de signification dans R. Théoriquement, les valeurs devraient être continues, mais en raison de l'arrondissement effectué par le logiciel de mesure, elles ne sont pas '' t et ils ont des liens. Les distributions sont inconnues et les formes des distributions de contrôle et traitées peuvent être différentes, donc j'aimerais utiliser un test non paramétrique pour comparer si la différence entre les échantillons est significative pour 10 facteurs différents.

J'ai pensé utiliser le test de Kolmogorov-Smirnov, mais ce n'est pas vraiment adapté aux cravates. J'ai récemment découvert une nouvelle bibliothèque R appelée Matching qui exécute une version bootstrap du test KS et tolère les liens. Est-ce vraiment une bonne idée ou dois-je utiliser un autre test à la place? Et dois-je ajuster la valeur de p?

AnjaM
la source
Le document lié traite de l'appariement des scores de propension. Il se peut que le test de bootstrap ait plus de généralité mais je ne suis pas sûr.
Michael R. Chernick
J'aurais fait une version randomisée de quelque chose comme le Kolmogorov-Smirnov (enfin, en fait, j'aurais probablement utilisé l'Anderson-Darling ou le Cramer-von Mises pour le KS, mais toujours avec la distribution de randomisation pour prendre soin des liens).
Glen_b -Reinstate Monica
Avez-vous vu le code de Tom Waterhouse ?
Ray Koopman

Réponses:

13

Au lieu d'utiliser le test KS, vous pouvez simplement utiliser une procédure de permutation ou de rééchantillonnage telle qu'implémentée dans la oneway_testfonction du coinpackage. Jetez un œil à la réponse acceptée à cette question .

Mise à jour : Mon package afexcontient la fonction compare.2.vectorsimplémentant une permutation et d'autres tests pour deux vecteurs. Vous pouvez l'obtenir auprès de CRAN:

install.packages("afex")

Pour deux vecteurs xet ycela (actuellement) renvoie quelque chose comme:

> 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

Tous les commentaires concernant cette fonction sont les bienvenus.

Henrik
la source
3
(+1) Une description de ceci et d'autres tests peut être trouvée dans ce blog
@Henrik Merci pour la suggestion et pour avoir pointé l'autre question. C'est vraiment utile!
AnjaM
@AnjaM Vous êtes les bienvenus. Vous pourriez également vouloir vérifier ma mise à jour.
Henrik