Contexte:
Mon logiciel demande aux utilisateurs des dons facultatifs de tout montant. J'ai divisé les demandes de don test entre les utilisateurs pour trouver la meilleure façon de demander: 50% obtiennent la version 1 de la demande, 50% obtiennent la version 2 de la demande, et nous voyons laquelle fait mieux.
Presque tous les utilisateurs donnent 0 $, mais quelques-uns donnent. Les résultats pourraient ressembler à ceci:
Number of users Number of donations Dollar amounts donated
GROUP A 10,000 10 40,20,20,20,15,10,10,5,5,5
GROUP B 10,000 15 50,20,10,10,10,10,10,10,5,5,5,5,5,5,5
Je veux savoir si un groupe est gagnant, ou s'il s'agit d'une égalité, ou si nous avons besoin d'un plus grand échantillon pour être sûr. (Cet exemple, simple à discuter, a presque certainement besoin d'un plus grand échantillon pour obtenir des résultats significatifs.)
Ce que je mesure déjà:
- Un groupe avait-il un nombre de dons significativement plus élevé ? Combien plus grand? Je mesure cette valeur p et cet intervalle de confiance à l' aide de l'outil ABBA Thumbtack , en utilisant uniquement le nombre de dons et le nombre d'utilisateurs, en ignorant les montants en dollars. Sa méthodologie est décrite dans la section "Quelles sont les statistiques sous-jacentes?" section de ce lien. (C'est au-dessus de ma tête, mais je crois qu'il calcule l'intervalle de confiance en prenant la différence entre les taux de don comme des variables aléatoires normales sur l'intervalle Agresti-Couli.)
- Un groupe a-t-il donné un montant d' argent sensiblement différent ? Je mesure cette valeur de p en effectuant un test de permutation: réorganiser à plusieurs reprises tous les 2N sujets en 2 groupes de N-sujets, mesurer la différence d'argent total entre les groupes à chaque fois, et trouver la proportion de shuffles avec une différence> = l'observé différence. (Je crois que cela est valable sur la base de cette vidéo de la Khan Academy faisant la même chose pour les crackers au lieu de dollars.)
R wilcox.test:
Quelques questions maintenant sur wilcox.test()
R:
- Si j'ai alimenté
wilcox.test(paired=FALSE)
le tableau de données ci-dessus, cela répondrait-il à de nouvelles questions auxquelles mes outils n'ont pas déjà répondu, ce qui me donnerait plus d'informations pour décider de continuer à exécuter mon test / déclarer un gagnant / déclarer une égalité? - Si oui, à quelle question précise répondrait-elle?
la source
Réponses:
Si vous utilisezU . Il s'agit d'un test de dominance stochastique . Si les distributions étaient égales et que vous choisissiez une observation de chaque version au hasard, l'observation de la version 2 aurait 50% à 50% de chances d'être supérieure à l'observation de la version 1. Par contre, la valeur tirée de la version 2 pourrait avoir plus de 50% de chances d'être supérieure (inférieure) à la valeur de la version 1. Il s'agit de la dominance stochastique. On ne dit rien de combien plus ou moins, seulement que c'est plus ou moins.
wilcox.test()
l'argumentpaired
(notez qu'il s'agit de minuscules et quiR
est sensible à la casse) défini surFALSE
, vous exécutez un test Mann-WhitneyCela ne me semble pas convenir à vos objectifs. Vous voulez le plus d'argent total, ce qui peut être compris comme le don moyen le plus important multiplié par le nombre d'utilisateurs. Il est possible, en raison de l'asymétrie, qu'une version puisse avoir la plus grande moyenne / total, mais que l'autre version soit stochastiquement supérieure. (Si tel était le cas, vous voudriez l'ancienne version.) Parce que c'est ce que vous voulez en fin de compte, un test spécifique à cet aspect des distributions est le plus approprié pour vous.
Je reconnais que vos données ne sont pas normales à distance, et donc, le test (qui pourrait être ce à quoi la plupart des gens penseraient en premier pour comparer deux groupes), serait inapproprié. Étant donné deux groupes continus, mais non normaux, la plupart des gens pourraient également suivre automatiquement le Mann-Whitney. Dans votre cas, j'irais avec un test de permutation, pour la raison ci-dessus. (Je suppose que c'est ce que vous avez fait, si j'ai bien compris.) Un test de permutation est valide ici, car vous avez affecté des utilisateurs au hasard aux deux groupes; par conséquent, ils sont échangeables.t
Pour effectuer un test de permutation, mélangez simplement l'indicateur de regroupement et calculez les moyennes et une différence entre les moyennes. Faire cela plusieurs fois vous permettra de créer une distribution d'échantillonnage de la différence entre les moyennes. Vous pouvez comparer votre différence observée à la distribution d'échantillonnage. Pour un test bilatéral, prenez la plus petite proportion au-delà de votre différence et multipliez-la par deux. Le produit est directement interprétable comme une valeur . Voici un exemple travaillé avec vos données:p
En ce qui concerne la première question d'étude, à savoir «quelle version a généré le plus grand nombre de dons», alors que j'accorde que tout le monde aime ABBA , vous pouvez également le fairez
R
. J'utiliserais un test de la différence de deux proportions. En , c'est . Voici un exemple d'utilisation de vos données:R
prop.test()
la source
b <- function(n) dbinom(0:n, n, 1/2); p <- apply(expand.grid(b(1), b(1), b(4), b(6), b(10)), 1, prod); n <- as.matrix(expand.grid(0:1, 0:1, 0:4, 0:6, 0:10)) %*% c(50,40,20,10,5); plot(dist <- aggregate(p, list(n), sum))
.La réponse de @ gung est correcte. Mais j'ajouterais que, puisque vos données peuvent être biaisées, avec une énorme queue droite, la moyenne peut ne pas être robuste et en tant que telle, ce n'est peut-être pas le "bon" indice pour représenter la centralité de votre distribution. Par conséquent, j'essaierais également avec des solutions plus robustes telles que les médianes ou les moyens tronqués.
la source