Statystyka · Wielokrotne porównania

Czy muszę stosować poprawkę na wielokrotne porównania?

Krótka odpowiedź dla osób piszących pracę: kiedy poprawka jest potrzebna, kiedy nie, jak wynik zależy od brzmienia hipotezy i jak uzasadnić decyzję w metodzie – z przykładem w R.

Strona główna / Blog / Czy stosować poprawkę
W skrócie: Nie zawsze. Poprawka jest potrzebna, gdy kilka testów prowadzi do jednego wniosku i wystarczy, że istotny będzie którykolwiek z nich: porównania par grup po ANOVA, jedna hipoteza sprawdzana na kilku wskaźnikach albo macierz korelacji bez hipotez. Gdy każda hipoteza ma osobny wniosek i ustalono ją przed badaniem, poprawka zwykle nie jest konieczna. W obu przypadkach wyjaśnij w metodzie, które testy tworzą rodzinę i dlaczego.

Od czego zależy odpowiedź: od wniosku, który chcesz wyciągnąć

Sama liczba testów nie przesądza o poprawce. Rozstrzyga to, jak z wyników kilku testów powstaje jeden wniosek. Rubin (2021) rozróżnia trzy sytuacje:

  • Wystarczy jeden istotny wynik. Hipoteza brzmi np. „trening poprawia samopoczucie”, a samopoczucie mierzysz pięcioma wskaźnikami. Jeśli uznasz ją za potwierdzoną, gdy którykolwiek wskaźnik da p < .05, musisz zastosować poprawkę. Bez niej ryzyko fałszywego alarmu rośnie z każdym testem.
  • Istotne muszą być wszystkie wyniki. Hipotezę uznasz za potwierdzoną dopiero wtedy, gdy różnica wyjdzie na każdym z trzech wskaźników. Tu poprawka nie jest potrzebna, bo warunek jest i tak ostrzejszy niż pojedynczy test.
  • Każdy test sprawdza osobną hipotezę. H1 dotyczy stresu, H2 – snu, H3 – relacji z rówieśnikami, a każda ma własne uzasadnienie teoretyczne i własny wniosek. Wtedy według Rubina (2021) poprawka nie jest konieczna. Perneger (1998) zwraca uwagę, że korekta Bonferroniego odpowiada na pytanie o „uniwersalną” hipotezę zerową, która rzadko interesuje badacza. Zmniejsza też moc, czyli zwiększa ryzyko błędu II rodzaju.

Stanowiska w literaturze nie są zgodne. Bender i Lange (2001) uważają korektę za potrzebną w badaniach konfirmacyjnych zawsze, gdy wiele testów składa się na jeden końcowy wniosek. Armstrong (2014) odradza stosowanie korekty Bonferroniego rutynowo. Zaleca ją m.in. wtedy, gdy wykonuje się wiele testów bez wcześniej zaplanowanych hipotez. Dlatego w pracy nie wystarczy napisać „zastosowano poprawkę”. Trzeba wyjaśnić, które testy tworzą rodzinę i dlaczego.

Kiedy tak, kiedy nie: tabela dla pracy dyplomowej

Sytuacje w pracy dyplomowej, w których poprawka na wielokrotne porównania jest potrzebna, zalecana albo niepotrzebna
SytuacjaPoprawka?Dlaczego
Porównania par grup po ANOVA (trzy grupy lub więcej)TakPytasz, które grupy się różnią, więc fałszywy alarm w dowolnej parze podważa wniosek. Użyj testu post hoc z wbudowaną korektą.
Jedna hipoteza, kilka wskaźników, wystarczy jeden istotnyTakTo klasyczna rodzina testów. Najprostszy wybór to metoda Holma.
Macierz korelacji „wszystko ze wszystkim” bez hipotezTak albo etykieta „eksploracyjne”Przy 20 testach szansa co najmniej jednego fałszywego alarmu wynosi .642. Możesz kontrolować FDR (Benjamini i Hochberg, 1995).
Kilka osobnych hipotez ustalonych przed badaniemZwykle nieKażda hipoteza ma osobny wniosek (Rubin, 2021). Hipotezy zapisz przed analizą, najlepiej w prerejestracji.
Jeden główny wynik i analizy dodatkoweGłówny – nie; dodatkowe – z etykietąWnioski opierasz na wyniku głównym, a wyniki dodatkowe traktujesz jako tropy do dalszych badań.
Hipoteza potwierdzona tylko wtedy, gdy istotne są wszystkie testyNieWarunek „wszystkie naraz” sam chroni przed fałszywym alarmem.

Jeśli nie wiesz, do której grupy należą Twoje hipotezy, wróć do ich brzmienia. Pomoże w tym poradnik pytania badawcze i hipotezy. Pamiętaj, że rodzinę ustalasz przed analizą. Dobieranie poprawki po obejrzeniu wyników to odmiana p-hackingu.

Przykład: pięć wskaźników, dwa różne wnioski

Ryzyko rośnie szybko. Przy trzech niezależnych testach na poziomie .05 szansa co najmniej jednego fałszywie istotnego wyniku wynosi .143, przy pięciu – .226, a przy dziesięciu – .401. Sprawdziliśmy to symulacją 10 000 badań. W każdym wykonano pięć testów t, choć żadna różnica nie istniała. Bez poprawki co najmniej jeden istotny wynik pojawił się w 22.6% badań, a po korekcie metodą Holma (1979) – w 5.0%.

Teraz konkretne badanie (dane symulowane). Grupa z treningiem uważności (n = 60) i grupa kontrolna (n = 60) wypełniły pięć skal samopoczucia. Wyniki porównano testem t Welcha.

Wartości p dla pięciu wskaźników samopoczucia przed poprawką i po poprawkach Holma, Bonferroniego i Benjaminiego–Hochberga
Wskaźnikpp (Holm)p (Bonferroni)p (BH)
Stres.032.159.159.093
Lęk.037.159.186.093
Sen.224.6711.000.373
Nastrój.419.8381.000.524
Energia.989.9891.000.989

Wynik zależy od tego, jak brzmiała hipoteza:

  • „Trening poprawia samopoczucie” (wystarczy jeden wskaźnik). Pięć testów tworzy rodzinę. Po korekcie Holma najmniejsze p wynosi .159, więc hipoteza się nie potwierdziła. Wtedy przyda się poradnik hipoteza się nie potwierdziła.
  • „Trening obniża stres” (jedna hipoteza ustalona przed badaniem, stres jako wynik główny). Test dla stresu nie wymaga korekty: p = .032. Pozostałe cztery wskaźniki opisujesz jako analizy dodatkowe.

Te same dane prowadzą więc do różnych wniosków. Dlatego hipotezy i rodzinę testów trzeba ustalić przed analizą, a nie po obejrzeniu wartości p. Porównanie siedmiu metod korekty na jednym przykładzie, wzory i wskazówki dla SPSS znajdziesz w pełnym poradniku poprawki na wielokrotne porównania.

Jeśli poprawka – to jaka?

W pracy dyplomowej zwykle wystarczą dwie metody. Metoda Holma kontroluje ryzyko co najmniej jednego fałszywego alarmu (FWER) tak samo jak Bonferroni, ale nigdy nie jest od niego słabsza. W tabeli widać to przy lęku: .159 zamiast .186. Metoda Benjaminiego–Hochberga kontroluje oczekiwany odsetek fałszywych odkryć (FDR). Ma większą moc i pasuje do analiz eksploracyjnych z wieloma testami (Benjamini i Hochberg, 1995). Po ANOVA nie poprawiaj ręcznie testów t. Wybierz test post hoc, np. test Tukeya albo Gamesa–Howella.

Jak to opisać w pracy

W metodzie napisz, które testy tworzą rodzinę, jaką metodę wybrano i dlaczego. Gdy poprawki nie stosujesz, też to uzasadnij. Przy każdym wyniku podaj p skorygowane i zaznacz, że jest skorygowane.

Pięć wskaźników samopoczucia (stres, lęk, sen, nastrój i energia) potraktowano jako jedną rodzinę testów, ponieważ hipoteza zakładała poprawę samopoczucia na którymkolwiek z nich. Aby kontrolować ryzyko co najmniej jednego błędu I rodzaju na poziomie .05, wartości p skorygowano metodą Holma. Grupy porównano testem t Welcha. Po korekcie żadna różnica nie była istotna statystycznie (najmniejsze skorygowane p = .159 dla stresu; nieskorygowane p = .032).
Każda z trzech hipotez dotyczyła innej zmiennej, wynikała z odrębnych przesłanek teoretycznych i została sformułowana przed zebraniem danych. Ponieważ wniosek w każdej z nich opiera się na jednym teście, nie stosowano korekty na wielokrotne porównania. Analizy dodatkowe, niezaplanowane przed badaniem, opisano osobno jako eksploracyjne.

Gdy promotor oczekuje poprawki, a Ty masz osobne hipotezy, podaj oba wyniki: nieskorygowany i po korekcie Holma. Czytelnik zobaczy, czy wniosek zależy od tej decyzji. Jeśli chcesz omówić rodzinę testów ze statystykiem, zajrzyj do oferty analiz statystycznych dla studentów. Decyzję i jej uzasadnienie musisz jednak umieć obronić sam(a). Więcej o planowaniu analiz w pracy dyplomowej znajdziesz w przewodniku po statystyce w pracy dyplomowej.

Przykład reprodukowalny

Poprawka na wielokrotne porównania w R

Kod liczy ryzyko fałszywego alarmu dla różnej liczby testów, sprawdza je symulacją i poprawia pięć wartości p z przykładu metodami Holma, Bonferroniego i Benjaminiego–Hochberga. Wystarczy funkcja p.adjust() z podstawowej instalacji R. Przy swoich danych wpisz do niej wektor wartości p z jednej rodziny testów.

1. Ryzyko przy wielu testach i p.adjust()

Dane wejściowe: symulacja 10 000 badań z pięcioma testami t (2 × 40 osób, wszystkie H0 prawdziwe) oraz badanie przykładowe: trening uważności i grupa kontrolna (po 60 osób), pięć skal samopoczucia 1–5 (dane symulowane, set.seed(1460)).

Co odczytać: FWER dla 1–20 testów, odsetek badań z fałszywie istotnym wynikiem bez korekty i po korekcie Holma, tabelę wartości p przed korektą i po korekcie.

R
# Czy stosować poprawkę na wielokrotne porównania? (dane symulowane, set.seed(1460))
# 1. Ryzyko co najmniej jednego fałszywego alarmu przy k niezależnych testach (alfa = .05)
k <- c(1, 3, 5, 10, 20)
round(data.frame(k = k, FWER = 1 - (1 - .05)^k), 3)

# 2. Symulacja: 10 000 prac, w każdej 5 testów t Welcha (2 × 40 osób), wszystkie H0 prawdziwe
set.seed(1460)
sym <- replicate(10000, {
  p <- replicate(5, t.test(rnorm(40), rnorm(40))$p.value)
  c(surowe = any(p < .05), holm = any(p.adjust(p, "holm") < .05))
})
round(rowMeans(sym), 3)   # odsetek prac z co najmniej jednym fałszywie istotnym wynikiem

# 3. Przykład: trening uważności (n = 60) vs kontrolna (n = 60), pięć wskaźników samopoczucia (skale 1–5)
n <- 60
efekty <- c(stres = -0.45, lek = -0.30, sen = -0.20, nastroj = 0.10, energia = 0.00)  # prawdziwe d w populacji
grupa <- factor(rep(c("trening", "kontrolna"), each = n), levels = c("trening", "kontrolna"))
p <- sapply(efekty, function(d) {
  y <- c(rnorm(n, 3 + d * 0.7, 0.7), rnorm(n, 3, 0.7))
  t.test(y ~ grupa)$p.value
})
tabela <- data.frame(wskaznik = names(p), p = round(p, 3),
                     Holm = round(p.adjust(p, "holm"), 3),
                     Bonferroni = round(p.adjust(p, "bonferroni"), 3),
                     BH = round(p.adjust(p, "BH"), 3))
tabela[order(tabela$p), ]
Wynik w R
   k  FWER
1  1 0.050
2  3 0.143
3  5 0.226
4 10 0.401
5 20 0.642
surowe   holm 
 0.226  0.050 
        wskaznik     p  Holm Bonferroni    BH
stres      stres 0.032 0.159      0.159 0.093
lek          lek 0.037 0.159      0.186 0.093
sen          sen 0.224 0.671      1.000 0.373
nastroj  nastroj 0.419 0.838      1.000 0.524
energia  energia 0.989 0.989      1.000 0.989

Bibliografia oprogramowania

Wyniki na tej stronie pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje t.test() i p.adjust() z pakietu stats).

  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 błędy

  • Poprawka na wszystkie testy w pracy naraz, łącznie z opisowymi i z testami założeń. Rodzinę tworzą testy, które razem odpowiadają na jedno pytanie.
  • Wybór poprawki po obejrzeniu wyników, np. BH zamiast Holma, bo „wtedy wychodzi”.
  • Brak skorygowanego p przy deklaracji poprawki albo zapis „p < .05 po korekcie” bez wartości.
  • Seria testów t zamiast ANOVA z testem post hoc przy trzech grupach lub więcej.
  • Wynik nieistotny po korekcie opisany jako dowód braku efektu. Korekta zmniejsza moc, a nieistotność nie dowodzi, że efektu nie ma.

Najczęstsze pytania

Czy przy trzech hipotezach w pracy magisterskiej trzeba stosować poprawkę Bonferroniego?

Nie automatycznie. Jeśli każda hipoteza dotyczy innej zmiennej, ma własne uzasadnienie i została sformułowana przed badaniem, każdy test prowadzi do osobnego wniosku i poprawka zwykle nie jest potrzebna (Rubin, 2021). Napisz to wprost w metodzie. Jeśli promotor oczekuje korekty, podaj oba wyniki: nieskorygowany i po korekcie Holma.

Czy przy macierzy korelacji trzeba korygować wartości p?

Tak, jeśli liczysz korelacje „wszystkie ze wszystkimi” bez hipotez i chcesz wskazać, które są istotne. Przy 20 testach szansa co najmniej jednego fałszywego alarmu wynosi .642. Możesz zastosować metodę Benjaminiego–Hochberga albo opisać macierz jako analizę eksploracyjną. Korelacje, których dotyczą Twoje hipotezy, wyodrębnij przed analizą.

Co zrobić, gdy wynik przestał być istotny po poprawce?

Zostaw poprawkę, jeśli rodzinę testów ustaliłeś przed analizą, i opisz wynik jako nieistotny po korekcie. Podaj też wartość nieskorygowaną i wielkość efektu z przedziałem ufności. Nie zmieniaj metody korekty po obejrzeniu wyników, bo to odmiana p-hackingu.

Czy analizy eksploracyjne wymagają korekty na wielokrotne testowanie?

Przy wielu testach bez wcześniejszych hipotez korekta jest zalecana (Armstrong, 2014). Dobrym wyborem jest wtedy kontrola FDR metodą Benjaminiego–Hochberga. Niezależnie od korekty nazwij te analizy eksploracyjnymi i traktuj wyniki jako tropy do sprawdzenia w kolejnym badaniu.

Powiązane hasła

Przeczytaj też

Nie wiesz, czy Twoje hipotezy wymagają poprawki?

Pomożemy ustalić rodzinę testów, policzyć skorygowane wartości p i wyjaśnimy decyzję tak, żebyś umiał(a) ją uzasadnić przy obronie.

Oferta dla studentówWyceń analizę

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Armstrong, R. A. (2014). When to use the Bonferroni correction. Ophthalmic and Physiological Optics, 34(5), 502–508. https://doi.org/10.1111/opo.12131
  2. Bender, R., & Lange, S. (2001). Adjusting for multiple testing—When and how? Journal of Clinical Epidemiology, 54(4), 343–349. https://doi.org/10.1016/S0895-4356(00)00314-0
  3. Benjamini, Y., & Hochberg, Y. (1995). Controlling the false discovery rate: A practical and powerful approach to multiple testing. Journal of the Royal Statistical Society: Series B (Methodological), 57(1), 289–300. https://doi.org/10.1111/j.2517-6161.1995.tb02031.x
  4. Holm, S. (1979). A simple sequentially rejective multiple test procedure. Scandinavian Journal of Statistics, 6(2), 65–70. https://www.jstor.org/stable/4615733
  5. Perneger, T. V. (1998). What's wrong with Bonferroni adjustments. BMJ, 316(7139), 1236–1238. https://doi.org/10.1136/bmj.316.7139.1236 ● Otwarty dostęp: pełny tekst
  6. Rubin, M. (2021). When to adjust alpha during multiple testing: A consideration of disjunction, conjunction, and individual testing. Synthese, 199(3–4), 10969–11000. https://doi.org/10.1007/s11229-021-03276-4 ● Otwarty dostęp: pełny tekst

Cytowania BibTeX

@article{armstrong2014when, author={Armstrong, Richard A.}, title={{When to use the Bonferroni correction}}, journal={Ophthalmic and Physiological Optics}, year={2014}, volume={34}, number={5}, pages={502--508}, doi={10.1111/opo.12131}}
@article{bender2001adjusting, author={Bender, Ralf and Lange, Stefan}, title={{Adjusting for multiple testing—When and how?}}, journal={Journal of Clinical Epidemiology}, year={2001}, volume={54}, number={4}, pages={343--349}, doi={10.1016/s0895-4356(00)00314-0}}
@article{benjamini1995controlling, author={Benjamini, Yoav and Hochberg, Yosef}, title={{Controlling the false discovery rate: A practical and powerful approach to multiple testing}}, journal={Journal of the Royal Statistical Society: Series B (Methodological)}, year={1995}, volume={57}, number={1}, pages={289--300}, doi={10.1111/j.2517-6161.1995.tb02031.x}}
@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}}
@article{perneger1998whats, author={Perneger, Thomas V.}, title={{What's wrong with Bonferroni adjustments}}, journal={BMJ}, year={1998}, volume={316}, number={7139}, pages={1236--1238}, doi={10.1136/bmj.316.7139.1236}}
@article{rubin2021when, author={Rubin, Mark}, title={{When to adjust alpha during multiple testing: A consideration of disjunction, conjunction, and individual testing}}, journal={Synthese}, year={2021}, volume={199}, number={3–4}, pages={10969--11000}, doi={10.1007/s11229-021-03276-4}}
R