Słownik metodologiczny · Projekt badania

Randomizacja warstwowa – jak zrównoważyć grupy w czynnikach prognostycznych?

Randomizacja warstwowa prowadzi osobną listę przydziałów w każdej warstwie, np. ośrodku albo grupie nasilenia objawów. Pokazujemy, kiedy się opłaca, ile warstw to za dużo, przykład w R, opis do pracy i analizę po warstwowaniu.

Strona główna / Słownik / Randomizacja warstwowa
W skrócie: Randomizacja warstwowa to losowy przydział prowadzony osobno w warstwach wyznaczonych przez ważne czynniki prognostyczne, zwykle z blokami w każdej warstwie. Wyrównuje rozkład tych czynników w grupach, ale działa tylko przy niewielkiej liczbie warstw, a zmienne warstwujące trzeba uwzględnić w analizie.

Co to jest randomizacja warstwowa?

Randomizacja warstwowa (ang. stratified randomization) to losowy przydział prowadzony osobno w warstwach – podgrupach wyznaczonych przez ważne czynniki prognostyczne, np. ośrodek, nasilenie objawów albo płeć. Każda warstwa ma własną listę przydziałów. Altman i Bland (1999) podkreślają, że w warstwach trzeba użyć randomizacji blokowej: przy randomizacji prostej w każdej warstwie warstwowanie nic nie daje. Celem jest podobny rozkład czynnika w obu grupach, a nie tylko równe liczebności.

Kiedy warstwować

Według przeglądu Kernana i in. (1999) warstwowanie opłaca się głównie w małych badaniach (poniżej 400 osób) i tylko wtedy, gdy czynnik silnie wpływa na wynik. Każdy kolejny czynnik mnoży liczbę warstw: nasilenie × płeć × 6 ośrodków to już 24 warstwy. Gdy warstw jest prawie tyle, ile osób, wiele bloków zostaje niedokończonych i równowaga znika. Wtedy lepiej sprawdza się minimalizacja przydziału.

Przykład

48 osób przydzielono w R w 4 warstwach (nasilenie objawów × płeć), z blokami po 4 w każdej warstwie. Osób z nasilonymi objawami było 10 w grupie A i 9 w grupie B, z łagodnymi – 15 i 14. W symulacji 10 000 badań po 40 osób różnica liczby osób z nasilonymi objawami między grupami wynosiła co najmniej 4 w 39.0% badań przy randomizacji prostej, w 0.5% przy 4 warstwach i w 25.4% przy 24 warstwach (z ośrodkiem).

Jak opisać w pracy

Uczestników przydzielono losowo (1 : 1) z warstwowaniem według nasilenia objawów (łagodne / nasilone) i płci; w każdej z czterech warstw użyto bloków po 4. Zmienne warstwujące uwzględniono jako kowarianty w modelu głównym.

Na co uważać

  • Pominięcie warstw w analizie. Kahan i Morris (2012) pokazali, że analiza bez zmiennych warstwujących zawyża błąd standardowy efektu: przedziały ufności są za szerokie, a moc testu mniejsza. Uwzględnij je w modelu, np. w ANCOVA.
  • Za dużo warstw. Warstwuj tylko według silnych czynników prognostycznych.
  • Warstwy po fakcie. Warstwowanie planuje się przed rekrutacją; podział na podgrupy po badaniu to analiza podgrup.

Listę przydziału dla 6 warstw pokazuje wpis Randomizacja w praktyce. Gdy losuje się całe ośrodki, a nie osoby, chodzi o randomizację klastrową.

Przykład reprodukowalny

Randomizacja warstwowa w R

Kod przydziela 48 osób w czterech warstwach z blokami po 4, a potem symuluje, jak często grupy różnią się liczbą osób z nasilonymi objawami przy randomizacji prostej, przy 4 i przy 24 warstwach.

Bloki w warstwach a liczba warstw

Dane wejściowe: dane symulowane z set.seed(4100): 48 osób (nasilone objawy z prawdopodobieństwem .4, płeć 1 : 1); w symulacji 10 000 badań po 40 osób i 6 ośrodków.

Co odczytać: liczebności grup w warstwach i w poziomach nasilenia oraz odsetek badań z różnicą co najmniej 4 osób z nasilonymi objawami.

R
# Randomizacja warstwowa: osobna lista bloków (po 4) w każdej warstwie
set.seed(4100)
blok4 <- function(n) unlist(replicate(ceiling(n / 4), sample(rep(c("A", "B"), 2)), simplify = FALSE))[seq_len(n)]

# Przykład: 48 osób, warstwy = nasilenie objawów (łagodne / nasilone) × płeć (K / M)
osoby <- data.frame(nasilenie = sample(c("łagodne", "nasilone"), 48, replace = TRUE, prob = c(.6, .4)),
                    plec = sample(c("K", "M"), 48, replace = TRUE))
osoby$warstwa <- paste(osoby$nasilenie, osoby$plec)
osoby$grupa <- ave(osoby$warstwa, osoby$warstwa, FUN = function(x) blok4(length(x)))
table(osoby$warstwa, osoby$grupa)
table(osoby$nasilenie, osoby$grupa)

# Symulacja (10 000 badań po 40 osób): nierównowaga liczby osób z nasilonymi objawami
# |A − B| przy randomizacji prostej, warstwowej (4 warstwy) i warstwowej z ośrodkiem (6 ośrodków, 24 warstwy)
jedno <- function() {
  nas <- runif(40) < .4
  plec <- sample(c("K", "M"), 40, replace = TRUE)
  osr <- sample(1:6, 40, replace = TRUE)
  przydziel <- function(w) ave(rep("", 40), w, FUN = function(x) blok4(length(x)))
  nier <- function(g) abs(sum(nas & g == "A") - sum(nas & g == "B"))
  c(prosta = nier(sample(c("A", "B"), 40, replace = TRUE)),
    warstwy4 = nier(przydziel(paste(nas, plec))),
    warstwy24 = nier(przydziel(paste(nas, plec, osr))))
}
sym <- replicate(10000, jedno())
round(rowMeans(sym >= 4), 3)                         # P(różnica co najmniej 4 osób z nasilonymi objawami)
round(rowMeans(sym), 2)                              # średnia różnica
Wynik w R
            
             A B
  łagodne K  6 6
  łagodne M  9 8
  nasilone K 6 5
  nasilone M 4 4
          
            A  B
  łagodne  15 14
  nasilone 10  9
   prosta  warstwy4 warstwy24 
    0.390     0.005     0.254 
   prosta  warstwy4 warstwy24 
     3.20      0.99      2.43 

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats). W pracy podaj wersję R, której faktycznie użyto (sessionInfo()).

  1. 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

Kiedy warstw jest za dużo?

W małych badaniach według jednej, najwyżej dwóch zmiennych (Altman i Bland, 1999). Każda zmienna mnoży liczbę warstw, a gdy warstw jest prawie tyle, ile osób, równowaga znika. Przy kilku ważnych czynnikach rozważ minimalizację.

Czy ośrodek jest zmienną warstwującą?

Tak. W badaniu wieloośrodkowym bez centralnej randomizacji każdy ośrodek ma własną listę przydziałów, więc ośrodek staje się warstwą (Altman i Bland, 1999). Uwzględnij go potem w analizie.

Czym randomizacja warstwowa różni się od doboru warstwowego próby?

Dobór warstwowy decyduje, kto trafi do badania, i służy reprezentatywności próby. Randomizacja warstwowa decyduje, do której grupy trafi osoba już zakwalifikowana, i służy porównywalności grup.

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ów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Altman, D. G., & Bland, J. M. (1999). Statistics notes: How to randomise. BMJ, 319(7211), 703–704. https://doi.org/10.1136/bmj.319.7211.703 ● Otwarty dostęp
  2. Kahan, B. C., & Morris, T. P. (2012). Improper analysis of trials randomised using stratified blocks or minimisation. Statistics in Medicine, 31(4), 328–340. https://doi.org/10.1002/sim.4431
  3. Kernan, W. N., Viscoli, C. M., Makuch, R. W., Brass, L. M., & Horwitz, R. I. (1999). Stratified randomization for clinical trials. Journal of Clinical Epidemiology, 52(1), 19–26. https://doi.org/10.1016/S0895-4356(98)00138-3 ● Otwarty dostęp

Cytowania BibTeX

@article{altman1999how, author={Altman, Douglas G. and Bland, J. Martin}, title={{Statistics notes: How to randomise}}, journal={BMJ}, year={1999}, volume={319}, number={7211}, pages={703--704}, doi={10.1136/bmj.319.7211.703}}
@article{kahan2012improper, author={Kahan, Brennan C. and Morris, Tim P.}, title={{Improper analysis of trials randomised using stratified blocks or minimisation}}, journal={Statistics in Medicine}, year={2012}, volume={31}, number={4}, pages={328--340}, doi={10.1002/sim.4431}}
@article{kernan1999stratified, author={Kernan, Walter N. and Viscoli, Catherine M. and Makuch, Robert W. and Brass, Lawrence M. and Horwitz, Ralph I.}, title={{Stratified randomization for clinical trials}}, journal={Journal of Clinical Epidemiology}, year={1999}, volume={52}, number={1}, pages={19--26}, doi={10.1016/s0895-4356(98)00138-3}}
R