Test permutacji porównujący pojedynczą próbkę ze średnią

10

Kiedy ludzie wdrażają testy permutacji, aby porównać pojedynczą próbkę ze średnią (np. Jak w przypadku testu t permutacji), jak postępuje się ze średnią? Widziałem implementacje, które pobierają średnią i próbkę do testu permutacji, ale nie jest jasne, co tak naprawdę robią pod maską. Czy jest jakiś sensowny sposób przeprowadzenia testu permutacji (np. Testu t) dla jednej próbki w porównaniu z zakładaną średnią? A może alternatywnie, po prostu domyślnie przeprowadzają test bez permutacji pod maską? (np. pomimo wywołania funkcji permutacji lub ustawienia flagi testu permutacji, domyślnie standardowy test t lub podobna funkcja)

W standardowym teście permutacji z dwiema próbkami jedna miałaby dwie grupy i losowo przypisywała etykiety. Jak to się jednak robi, gdy jedna „grupa” jest zakładanym środkiem? Oczywiście zakładana średnia nie ma sama w sobie wielkości próby. Więc jaki jest typowy sposób pracy ze środkiem w formacie permutacji? Czy zakłada się, że „średnia” próba jest pojedynczym punktem? Próbka równej wielkości z grupą próbek? Próbka o nieskończonej wielkości?

Biorąc pod uwagę, że zakładany środek jest, no cóż, zakładany - powiedziałbym, że technicznie ma on nieskończone poparcie lub jakiekolwiek wsparcie, które chcesz dla niego przyjąć. Jednak żadne z nich nie jest bardzo przydatne do rzeczywistych obliczeń. Próbka o jednakowej wielkości z wartościami równymi średniej wydaje się być czasem wykonywana przy niektórych testach (np. Po prostu wypełniasz drugą połowę par założoną lokalizacją). Ma to trochę sensu, ponieważ jest to próbka o równej długości, którą zobaczyłbyś, gdyby założona średnia była poprawna bez wariancji.

Moje pytanie brzmi zatem: czy w praktyce ludzie faktycznie emulują randomizację etykiet w stylu testu permutacji, gdy drugi zestaw jest wartością średnią (lub podobną abstrakcyjną wartością założoną)? Jeśli tak, w jaki sposób ludzie radzą sobie z randomizacją etykiet, kiedy to robią?

Imiennie
źródło
6
Test permutacji określonej hipotetycznej średniej nie różni się od odejmowania tej hipotetycznej średniej od danych i testowania względem średniej zero. Test sparowany omówiono tutaj ; przyjmuje założenie, że pod wartością zerową pary mają taki sam rozkład, co implikuje, że różnice, na których opiera się kolejny test z jedną próbą, są symetryczne. Na tej podstawie znaki są losowo odwracane przy każdej różnicy ... (ctd)
Glen_b -Reinstate Monica
1
(ctd) ... (co w sparowanym teście jest równoważne z odwracaniem etykiet grup). Cóż, to jest test losowy - dla pełnego testu permutacji wykonałbyś wszystkie możliwych kombinacji odwrotnych znaków. Jeśli nie możesz założyć symetrii, trochę trudno zobaczyć, co byś permutował - ale nadal powinieneś być w stanie przeprowadzić test ładowania początkowego. 2n
Glen_b
To ma sens. Ale myślę trochę o implementacjach obliczeniowych, które ludzie wykonują. Jeśli potrafisz przekształcić go w test znaku, to czy ludzie rzeczywiście przejmują się obliczaniem permutacji? Dla dowolnej sekwencji długości N pełny zestaw permutacji przewracania znaków byłby taki sam, nie? Pomyślałem więc, że pod maską ludzie mogą po prostu wprowadzić go do testu dwumianowego zamiast ręcznie generować permutacje, które powodują rozproszenie dwumianowe. Zastanawiam się głównie, czy / kiedy występują korzyści z etykietowania i permutacji w porównaniu ze standardowym testem w przypadku pojedynczej próbki w porównaniu ze średnią.
Namey
W ogóle nie sugerowałem konwersji tego testu na znak. Zgodnie ze schematem, który omawiałem, znaki są permutowane, ale bezwzględne wartości oryginalnych danych są zachowane; permutowane jestgdzie jest lub . To znaczy, jeśli wynosił 11,43 w teście jednej próbki względem średniej zero, permutowane wynosiłyby albo -11,43, albo + 11,43. Jeśli umieścisz dane bezwzględne na pierwszym miejscu, faktycznie skończysz testem rang podpisanym przez Wilcoxona, więc jest to jak wersja nierankingowa (z oryginalnymi danymi). kthxisi[k]|xi|s+11x10x10
Glen_b

Odpowiedzi:

6

Rozwinięcie komentarza Glen_b w odpowiedź

Przybliżony test permutacji dla jednej próbki dla średniej próbki, przy hipotezie zerowej średniej zerowej, jest realizowany poprzez przypisanie losowych znaków do danych w próbce. Niezerowe hipotezy zerowe można przetestować, odejmując od danych żądaną średnią zerową.

Łatwo to zobaczyć w źródle funkcji R onetPermutationw pakiecie DAAG. Oto fragment odpowiedniego kodu z dodanymi komentarzami:

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
źródło
Jaka jest funkcja abspowyższego kodu? Czy bez przewracania etykiet nie będzie tak samo losowo abs?
Matthew Brett