Co to jest test permutacyjny?
Test permutacyjny (ang. permutation test, też randomization test) to test istotności, w którym rozkład statystyki przy hipotezie zerowej powstaje z samych danych. Jeśli grupy się nie różnią, etykiety grup są przypadkowe, więc można je przetasować i policzyć statystykę od nowa. Ernst (2004) przypomina, że metoda sięga prac Fishera, a w wielu sytuacjach daje wnioskowanie dokładne, bez założeń o kształcie rozkładu. Ogólną logikę na różnicy średnich pokazuje hasło test statystyczny; tu chodzi o losowe permutacje i poprawne p.
Nie myl tej metody z bootstrapem: bootstrap losuje obserwacje ze zwracaniem i szacuje niepewność, a permutacja tasuje etykiety bez zwracania i testuje hipotezę zerową.
Jak go policzyć?
- Wybierz statystykę, np. różnicę median.
- Przetasuj etykiety grup, policz statystykę i powtórz to B razy.
- Policz b, czyli liczbę permutacji co najmniej tak skrajnych jak wynik obserwowany, i przyjmij p = (b + 1)/(B + 1).
Phipson i Smyth (2010) pokazali, że p liczone bez tej poprawki, jako b/B, bywa zaniżone mniej więcej o 1/B, co ma znaczenie przy wielu testach. Warunkiem testu jest wymienialność: przy prawdziwej hipotezie zerowej zamiana etykiet nie zmienia rozkładu danych. W eksperymencie z randomizacją wynika ona z planu.
Przykład
Porównujemy liczbę dni nieobecności w kwartale: 14 osób z grupy kontrolnej i 12 po treningu radzenia sobie ze stresem (dane symulowane). Rozkłady są skośne, więc statystyką jest różnica median: 2.0 − 9.5 = −7.5 dnia. W 9999 losowych permutacjach różnica co najmniej tak duża co do wartości bezwzględnej pojawiła się 142 razy, więc p = 143/10 000 = .014. Wszystkich podziałów 26 osób na grupy 14 i 12 jest 9 657 700. Dla porównania test Manna-Whitneya dał p = .024.
Jak opisać w pracy
Na co uważać
- Nie zapisuj p = 0. Najmniejsza możliwa wartość to 1/(B + 1).
- Podaj liczbę permutacji i ziarno losowania.
- Tasuj zgodnie z planem. W pomiarach powtarzanych zamienia się wyniki w obrębie osoby, a nie między wszystkimi obserwacjami.
- Różne wariancje grup naruszają wymienialność.
Metody dla małych prób opisuje wpis testy nieparametryczne krok po kroku.
Test permutacyjny w R
Kod liczy obserwowaną różnicę median, rozkład tej różnicy w 9999 losowych permutacjach etykiet grup i wartość p z poprawką (b + 1)/(B + 1).
Różnica median i permutacyjna wartość p
R
set.seed(2943)
kontrola <- round(rexp(14, 1/9)) # dni nieobecności w kwartale (dane symulowane)
trening <- round(rexp(12, 1/4.5))
obs <- median(trening) - median(kontrola) # obserwowana różnica median
dni <- c(kontrola, trening); grupa <- rep(c("kontrola", "trening"), c(14, 12))
B <- 9999
perm <- replicate(B, {g <- sample(grupa) # przetasowanie etykiet bez zwracania
median(dni[g == "trening"]) - median(dni[g == "kontrola"])})
b <- sum(abs(perm) >= abs(obs)) # permutacje co najmniej tak skrajne
c(mediana_kontrola = median(kontrola), mediana_trening = median(trening), roznica = obs)
c(b = b, p = (b + 1) / (B + 1))
choose(26, 12) # liczba wszystkich podziałówWynik w R
mediana_kontrola mediana_trening roznica
9.5 2.0 -7.5
b p
142.0000 0.0143
[1] 9657700Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (bez dodatkowych pakietów).
- R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
Najczęstsze pytania
Czym test permutacyjny różni się od bootstrapu?
Test permutacyjny tasuje etykiety grup bez zwracania i daje wartość p przy hipotezie zerowej. Bootstrap losuje obserwacje ze zwracaniem i szacuje błąd standardowy oraz przedział ufności statystyki.
Ile permutacji wystarczy w teście permutacyjnym?
Zwykle 9999 albo więcej. Przy małej liczbie wszystkich podziałów policz je wszystkie, czyli test dokładny. Przy wielu testach i bardzo małych p zwiększ liczbę permutacji.
Czy test permutacyjny może dać p = 0?
Nie powinien. Do liczby skrajnych permutacji i do liczby wszystkich permutacji dodaj po 1, bo obserwowany podział też jest jedną z permutacji. Najmniejsze możliwe p to wtedy 1/(B + 1).
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Ernst, M. D. (2004). Permutation methods: A basis for exact inference. Statistical Science, 19(4), 676–685. https://doi.org/10.1214/088342304000000396 ● Otwarty dostęp
- Phipson, B., & Smyth, G. K. (2010). Permutation p-values should never be zero: Calculating exact p-values when permutations are randomly drawn. Statistical Applications in Genetics and Molecular Biology, 9(1), Article 39. https://doi.org/10.2202/1544-6115.1585 ● Otwarty dostęp: pełny tekst
Cytowania BibTeX
@article{ernst2004permutation, author={Ernst, Michael D.}, title={{Permutation methods: A basis for exact inference}}, journal={Statistical Science}, year={2004}, volume={19}, number={4}, pages={676--685}, doi={10.1214/088342304000000396}}@article{phipson2010permutation, author={Phipson, Belinda and Smyth, Gordon K.}, title={{Permutation p-values should never be zero: Calculating exact p-values when permutations are randomly drawn}}, journal={Statistical Applications in Genetics and Molecular Biology}, year={2010}, volume={9}, number={1}, eid={39}, doi={10.2202/1544-6115.1585}}