Test de permutation comparant un échantillon unique à une moyenne

10

Lorsque les gens mettent en œuvre des tests de permutation pour comparer un échantillon unique à une moyenne (par exemple, comme vous pourriez le faire avec un test t de permutation), comment la moyenne est-elle gérée? J'ai vu des implémentations qui prennent une moyenne et un échantillon pour un test de permutation, mais on ne sait pas ce qu'elles font réellement sous le capot. Existe-t-il même un moyen significatif de faire un test de permutation (par exemple, un test t) pour un échantillon par rapport à une moyenne supposée? Ou bien, sont-ils simplement en train de passer par défaut à un test de non-permutation sous le capot? (par exemple, malgré l'appel d'une fonction de permutation ou la définition d'un indicateur de test de permutation, la valeur par défaut est un test t standard ou une fonction similaire)

Dans un test de permutation standard à deux échantillons, on aurait deux groupes et randomiserait l'attribution des étiquettes. Cependant, comment cela est-il géré lorsqu'un "groupe" est une moyenne supposée? De toute évidence, une moyenne supposée n'a pas de taille d'échantillon en soi. Alors, quelle est la façon typique de travailler la moyenne dans un format de permutation? L'échantillon «moyen» est-il supposé être un seul point? Un échantillon de taille égale au groupe d'échantillons? Un échantillon de taille infinie?

Étant donné qu'une moyenne supposée est, eh bien, supposée - je dirais qu'elle a techniquement un support infini ou tout support que vous voulez supposer pour cela. Cependant, aucun de ces éléments n'est très utile pour un calcul réel. Un échantillon de taille égale avec des valeurs toutes égales à la moyenne semble être ce qui se fait parfois avec certains tests (par exemple, vous remplissez simplement l'autre moitié des paires avec l'emplacement supposé). Cela a un peu de sens, car c'est l'échantillon de longueur égale que vous verriez si votre moyenne supposée était correcte sans variance.

Ma question est donc la suivante: dans la pratique, les gens émulent-ils réellement la randomisation des étiquettes de style de test de permutation lorsque le deuxième ensemble est une moyenne (ou une valeur supposée abstraite similaire)? Si oui, comment les gens gèrent-ils la randomisation des étiquettes lorsqu'ils le font?

Namey
la source
6
Un test de permutation d'une moyenne hypothétique spécifique n'est pas différent de la soustraction de cette moyenne hypothétique des données et du test par rapport à une moyenne de zéro. Un test apparié est discuté ici ; il fait l'hypothèse que sous le zéro, les paires ont la même distribution, ce qui implique que les différences sur lesquelles le test à un échantillon suivant est basé sont supposées être symétriques. Sur cette base, les panneaux sont inversés au hasard sur chaque différence ... (ctd)
Glen_b -Reinstate Monica
1
(ctd) ... (ce qui, pour un test apparié, équivaut à retourner les étiquettes des groupes). Eh bien, c'est pour un test de randomisation - pour un test de permutation complet, vous feriez toutes les combinaisons possibles de signe-flips. Si vous ne pouvez pas assumer la symétrie, il est un peu difficile de voir ce que vous permutez - mais vous devriez toujours pouvoir effectuer un test d'amorçage. 2n
Glen_b -Reinstate Monica
Ça a du sens. Mais je pense un peu aux implémentations informatiques que les gens font. Si vous pouvez le transformer en test de signe, les gens prennent-ils réellement la peine de calculer les permutations? Pour toute séquence de longueur N, l'ensemble complet des permutations des flips de signe serait le même, non? Je pense donc que sous le capot, les gens pourraient simplement le canaliser dans un test binomial plutôt que de générer manuellement les permutations qui font un distr binomial. Je me demande principalement si / quand il y a des avantages au réétiquetage et à la permutation par rapport à l'utilisation d'un test standard dans le cas d'un échantillon unique ou de la moyenne.
Namey
Je ne proposais pas du tout de le convertir en test de signe. Dans le cadre du schéma que je disais, les signes sont permutés mais les valeurs absolues des données originales sont conservées; le permuté estoù est ou . Autrement dit, si était de 11,43 dans un test à un échantillon contre une moyenne de zéro, les permutés seraient tous soit -11,43 soit +11,43. Si vous classiez les données absolues en premier, vous vous retrouveriez en fait avec un test de classement signé par Wilcoxon, c'est donc comme la version non classée (données originales) de cela. x i s [ k ] i | x i | s + 1 - 1 x 10 x 10kthxisi[k]|xi|s+11x10x10
Glen_b -Reinstate Monica

Réponses:

6

Extension du commentaire de Glen_b en réponse

Un test de permutation approximatif à un échantillon pour la moyenne d'un échantillon, contre une hypothèse nulle de moyenne nulle, est mis en œuvre en attribuant des signes aléatoires aux données de l'échantillon. Les hypothèses nulles non nulles peuvent être testées en soustrayant la moyenne nulle souhaitée des données.

Ceci est facile à voir dans la source de la fonction R onetPermutationdans le package DAAG. Voici un extrait du code pertinent, avec des commentaires que j'ai ajoutés:

function (x, nsim) {

  ## Initialize and pre-allocate

  n <- length(x)
  dbar <- mean(x)
  absx <- abs(x)  # there's actually a bug in the code; below you'll see that the function ends up re-computing abs(x) instead of using this
  z <- array(, nsim)


  ## Run the simulation    

  for (i in 1:nsim) {                             # Do nsim times:
      mn <- sample(c(-1, 1), n, replace = TRUE)   #  1. take n random draws from {-1, 1}, where n is the length of the data to be tested
      xbardash <- mean(mn * abs(x))               #  2. assign the signs to the data and put them in a temporary variable
      z[i] <- xbardash                            #  3. save the new data in an array
  }


  ## Return the p value
  # p = the fraction of fake data that is:
  #      larger than |sample mean of x|, or
  #    smaller than -|sample mean of x|

  (sum(z >= abs(dbar)) + sum(z <= -abs(dbar)))/nsim
}
shadowtalker
la source