Co to jest poprawka Holma?
Poprawka Holma (ang. Holm correction, procedura Holma–Bonferroniego) to sekwencyjna metoda kontroli rodzinnego błędu I rodzaju (FWER), gdy w jednym badaniu wykonujesz kilka testów. Holm (1979) opisał ją jako procedurę, która odrzuca hipotezy po kolei i zapewnia ustalony z góry poziom ochrony dla dowolnej kombinacji prawdziwych hipotez zerowych. Szerszy kontekst (FWER, FDR) opisuje hasło problem wielokrotnych porównań.
Jak liczyć skorygowane p
- Uporządkuj k wartości p od najmniejszej.
- Najmniejszą pomnóż przez k, drugą przez k − 1, kolejne przez coraz mniejsze liczby, ostatnią przez 1.
- Jeśli któraś wartość wyszła mniejsza od poprzedniej, zastąp ją poprzednią, a wyniki powyżej 1 obetnij do 1.
- Odrzuć hipotezy, których skorygowane p jest mniejsze od przyjętego poziomu istotności.
Aickin i Gensler (1996) zaproponowali właśnie taki zapis w postaci skorygowanych p, bo metodę Holma rzadko stosowano, choć jest jednostajnie lepsza od korekty Bonferroniego. Pierwszy krok obu metod jest identyczny, ale dalsze mnożniki Holma są mniejsze, więc nigdy nie odrzuca on mniej hipotez. Hochberg (1988) używa tych samych progów, lecz odrzuca wszystkie hipotezy o p nie większym niż p dowolnej hipotezy poniżej progu, dlatego bywa mocniejszy. Gdy wystarcza kontrola odsetka fałszywych odkryć, rozważ procedurę Benjaminiego–Hochberga; porównanie wszystkich metod zawiera poradnik poprawki na wielokrotne porównania.
Przykład
W symulacji w R porównaliśmy testem t dwie grupy po 40 osób na pięciu wskaźnikach. Surowe p wyniosły .004, .010, .019, .120 i .968, więc bez korekty istotne były trzy wyniki. Po korekcie Bonferroniego (p × 5) został jeden: .020, a dalej .052 i .095. Holm dał .020, .042, .057, .241 i .968 – dwa wyniki istotne. Drugi wskaźnik przeszedł, bo jego p mnożymy przez 4, a nie przez 5. Te same obliczenia wykonasz w kalkulatorze poprawek na wielokrotne porównania.
Jak opisać w pracy
Na co uważać
- Rodzina ustalona po wynikach. Liczbę testów k określ przed analizą; dopisanie lub pominięcie testu zmienia wszystkie skorygowane p.
- Same gwiazdki. Podaj skorygowane p i nazwę metody, a nie tylko informację „istotne po korekcie”.
- Korekta tam, gdzie jej nie trzeba. Nie każda seria testów tworzy rodzinę – zob. czy muszę stosować poprawkę.
Poprawka Holma w R
Kod symuluje pięć porównań dwóch grup, a potem porównuje korektę Bonferroniego z korektą Holma – z funkcji p.adjust i ręcznie.
Skorygowane p dla pięciu testów t
R
set.seed(4394)
n <- 40; d <- c(0.7, 0.5, 0.45, 0.2, 0) # prawdziwe efekty dla 5 wskaźników
p <- sapply(d, function(e) t.test(rnorm(n, e), rnorm(n))$p.value)
k <- length(p); o <- order(p)
tab <- data.frame(wskaznik = paste0("W", 1:k), p = round(p, 4),
bonferroni = round(p.adjust(p, "bonferroni"), 4),
holm = round(p.adjust(p, "holm"), 4))
tab[o, ]
# ręcznie: (k - i + 1) * p(i), potem maksimum narastające, obcięte do 1
round(pmin(1, cummax((k:1) * sort(p))), 4)
colSums(tab[, -1] < .05)Wynik w R
wskaznik p bonferroni holm
1 W1 0.0039 0.0197 0.0197
2 W2 0.0104 0.0521 0.0417
3 W3 0.0190 0.0948 0.0569
4 W4 0.1204 0.6020 0.2408
5 W5 0.9684 1.0000 0.9684
[1] 0.0197 0.0417 0.0569 0.2408 0.9684
p bonferroni holm
3 1 2Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (bez dodatkowych pakietów). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).
- 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
Czy poprawka Holma jest zawsze lepsza od korekty Bonferroniego?
Kontroluje ten sam błąd (FWER) i nigdy nie odrzuca mniej hipotez, więc pod względem mocy tak. Przewagą Bonferroniego jest tylko jeden wspólny próg α/k dla wszystkich testów.
Jak policzyć poprawkę Holma w R?
Funkcją p.adjust(p, method = "holm") z bazowego pakietu stats. Zwraca skorygowane p w kolejności wejściowej, które porównujesz bezpośrednio z α, np. .05.
Czy poprawka Holma wymaga niezależnych testów?
Nie. Holm (1979) wykazał kontrolę błędu dla dowolnej kombinacji prawdziwych hipotez zerowych, a procedura opiera się na nierówności Bonferroniego, więc nie zakłada niezależności testów.
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
Poprawki na wielokrotne porównania
Bonferroni, Holm, Hochberg, BH i BY na jednym przykładzie: co kontroluje każda poprawka, kiedy którą wybrać i jak opisać wynik w pracy.
Czytaj →PoradnikKalkulator poprawek na wielokrotne porównania
Skorygowane p metodami Bonferroniego, Holma, Hochberga, Hommela, Benjaminiego–Hochberga i Benjaminiego–Yekutieliego z wklejonej listy, zgodne z p.adjust() w R.
Czytaj →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)
- Aickin, M., & Gensler, H. (1996). Adjusting for multiple testing when reporting research results: The Bonferroni vs Holm methods. American Journal of Public Health, 86(5), 726–728. https://doi.org/10.2105/ajph.86.5.726 ● Otwarty dostęp
- Hochberg, Y. (1988). A sharper Bonferroni procedure for multiple tests of significance. Biometrika, 75(4), 800–802. https://doi.org/10.1093/biomet/75.4.800
- Holm, S. (1979). A simple sequentially rejective multiple test procedure. Scandinavian Journal of Statistics, 6(2), 65–70. https://www.jstor.org/stable/4615733
Cytowania BibTeX
@article{aickin1996adjusting, author={Aickin, M. and Gensler, H.}, title={{Adjusting for multiple testing when reporting research results: The Bonferroni vs Holm methods}}, journal={American Journal of Public Health}, year={1996}, volume={86}, number={5}, pages={726--728}, doi={10.2105/ajph.86.5.726}}@article{hochberg1988sharper, author={Hochberg, Yosef}, title={{A sharper Bonferroni procedure for multiple tests of significance}}, journal={Biometrika}, year={1988}, volume={75}, number={4}, pages={800--802}, doi={10.1093/biomet/75.4.800}}@article{holm1979simple, author={Holm, Sture}, title={{A simple sequentially rejective multiple test procedure}}, journal={Scandinavian Journal of Statistics}, year={1979}, volume={6}, number={2}, pages={65--70}, url={https://www.jstor.org/stable/4615733}}