Korekta Bonferroniego – wzór i przykład porównań wielokrotnych
Korekta (poprawka) Bonferroniego chroni przed fałszywymi alarmami, gdy wykonujesz kilka testów naraz: dzielisz poziom istotności przez liczbę testów. To nie jest osobny test, tylko poprawka dokładana do innego testu, np. t Studenta. Typowe pytanie z pracy dyplomowej: ANOVA wyszła istotna – które pary grup ćwiczeniowych się różnią?
W prostych słowachKażdy test to jak losowanie, w którym masz 5% szansy na fałszywy alarm. Im więcej rzutów, tym łatwiej o pecha. Bonferroni zaostrza więc wymagania dla każdego testu: przy trzech porównaniach wynik uznasz za istotny dopiero przy p < 0,05 / 3. Dzięki temu ryzyko choćby jednego fałszywego alarmu w całej serii nie przekracza 5%.
Kiedy stosować korektę Bonferroniego?
- wykonujesz serię testów na tych samych danych, np. porównania par grup po ANOVA albo pomiarów po teście Friedmana;
- porównań jest kilka, a nie kilkadziesiąt – przy bardzo wielu testach poprawka mocno obniża szansę wykrycia prawdziwych efektów;
- chcesz prostej metody, która działa z każdym testem bazowym (t, U Manna-Whitneya, Wilcoxon, chi-kwadrat).
Przy wszystkich parach średnich po ANOVA dla grup niezależnych zwykle lepszy jest test Tukeya. Więcej o samym ryzyku znajdziesz w haśle o błędzie I rodzaju.
Wzór na korektę Bonferroniego
- \(\alpha\)
- poziom istotności dla całej serii testów, zwykle 0,05
- \(m\)
- liczba testów w serii; dla wszystkich par k grup \(m = k(k - 1)/2\)
- \(p,\ p_{Bonf}\)
- wartość p z pojedynczego testu i p skorygowane, które porównujesz ze zwykłym α = 0,05
- \(FWER\)
- ryzyko co najmniej jednego fałszywego alarmu w serii m niezależnych testów bez korekty
Metoda Holma działa krokowo: ustaw p od najmniejszego i porównuj kolejno z α / m, α / (m − 1), …, α. Zatrzymaj się na pierwszym nieistotnym wyniku.
Przykład krok po kroku
Trzy grupy ćwiczeniowe z hasła o jednoczynnikowej ANOVA: A = 1, 3, 5; B = 2, 4, 6; C = 7, 8, 9 punktów. Każdą parę porównujemy testem t ze wspólnym rozrzutem z ANOVA (MSW = 3, df = 6), więc błąd standardowy różnicy wynosi \(\sqrt{3 \cdot (1/3 + 1/3)} = \sqrt{2} \approx 1{,}41\).
| Para | Różnica średnich | t(6) = różnica / √2 | p bez korekty | p Bonferroni = 3 · p | p Holm |
|---|---|---|---|---|---|
| A – B | 1 | 0,71 | 0,506 | 1,000 | 0,506 |
| A – C | 5 | 3,54 | 0,012 | 0,037 | 0,037 |
| B – C | 4 | 2,83 | 0,030 | 0,090 | 0,060 |
| m = 3 | – | – | 2 istotne | 1 istotna | 1 istotna |
- Liczba porównań. m = 3 · 2 / 2 = 3.
- Ryzyko bez korekty. 1 − 0,95³ = 0,143, czyli około 14% zamiast 5%.
- Próg Bonferroniego. α / m = 0,05 / 3 = 0,0167. Poniżej leży tylko p = 0,012 dla pary A – C.
- p skorygowane. Mnożysz każde p przez 3 i obcinasz do 1: 0,037; 0,090 i 1,000 (a nie 1,518).
- Holm. Najmniejsze p = 0,012 < 0,05 / 3 – istotne. Następne p = 0,030 > 0,05 / 2 = 0,025 – nieistotne, więc na tym kończysz.
Jak zinterpretować i opisać wynik?
Po korekcie istotna pozostaje tylko przewaga grupy C nad grupą A. Różnica C – B traci istotność, ale to nie dowód, że grupy B i C są takie same – po prostu dane nie wystarczają, by to rozstrzygnąć. W pracy zawsze podaj test bazowy, metodę korekty i liczbę porównań, a przy p – czy jest skorygowane.
Zapis w stylu APA: Porównania par testem t z poprawką Bonferroniego (3 porównania) wykazały, że grupa C (M = 8,00; SD = 1,00) uzyskała więcej punktów niż grupa A (M = 3,00; SD = 2,00), p = 0,037. Różnice C – B (p = 0,090) oraz B – A (p = 1,000) nie były istotne.
Jak policzyć korektę Bonferroniego w R?
punkty <- c(1, 3, 5, 2, 4, 6, 7, 8, 9)
grupa <- factor(rep(c("A", "B", "C"), each = 3))
# 1) „ręcznie”: trzy testy t (wspólne MSW = 3, df = 6) i dwie korekty
roznice <- c("A-B" = 1, "A-C" = 5, "B-C" = 4)
p_surowe <- 2 * pt(-roznice / sqrt(3 * (1/3 + 1/3)), df = 6)
m <- length(p_surowe) # 3 porównania
round(cbind(p_surowe, Bonferroni = pmin(1, m * p_surowe),
Holm = p.adjust(p_surowe, method = "holm")), 3)
# 2) gotową funkcją
pairwise.t.test(punkty, grupa, p.adjust.method = "bonferroni")
pairwise.t.test(punkty, grupa, p.adjust.method = "holm")
Wynik w konsoli R:
p_surowe Bonferroni Holm A-B 0.506 1.000 0.506 A-C 0.012 0.037 0.037 B-C 0.030 0.090 0.060 Pairwise comparisons using t tests with pooled SD data: punkty and grupa A B B 1.000 - C 0.037 0.090 P value adjustment method: bonferroni Pairwise comparisons using t tests with pooled SD data: punkty and grupa A B B 0.506 - C 0.037 0.060 P value adjustment method: holm
Bonferroni czy Holm – co wybrać?
Metoda Holma kontroluje to samo ryzyko co Bonferroni, a nigdy nie jest od niej słabsza: każde p skorygowane Holmem jest mniejsze lub równe p Bonferroniego. U nas dla pary B – C to 0,060 zamiast 0,090. Dlatego wielu metodologów zaleca Holma jako domyślny wybór. Bonferroni wygrywa prostotą – łatwo go policzyć ręcznie i opisać. Gdy testów jest bardzo dużo i akceptujesz pewien odsetek fałszywych alarmów, rozważ korektę Benjaminiego-Hochberga.
Najczęstsze błędy
- Pisanie „test Bonferroniego” bez nazwy testu, który był korygowany.
- Liczenie m tylko z wybranych porównań, np. tych, które „wyszły”.
- Mnożenie p bez obcięcia do 1 (p = 1,518 nie istnieje).
- Podwójna korekta: porównywanie p już skorygowanego z α / m.
- Wniosek „grupy się nie różnią”, gdy różnica straciła istotność po korekcie.
Bibliografia
- Bonferroni, C. E. (1936). Teoria statistica delle classi e calcolo delle probabilità. Pubblicazioni del R. Istituto Superiore di Scienze Economiche e Commerciali di Firenze, 8, 3–62.
- Dunn, O. J. (1961). Multiple comparisons among means. Journal of the American Statistical Association, 56(293), 52–64. https://doi.org/10.1080/01621459.1961.10482090
- Holm, S. (1979). A simple sequentially rejective multiple test procedure. Scandinavian Journal of Statistics, 6(2), 65–70.
- Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. SAGE.
- King, B. M., & Minium, E. W. (2009). Statystyka dla psychologów i pedagogów. Wydawnictwo Naukowe PWN.
- Hryniewicz, K., & Milewska, A. (2023). SZTOS: System Zautomatyzowanego Tworzenia Opisu Statystycznego [Oprogramowanie]. SZTOS IT. https://sztos-it.com/
Zobacz też
- Słownik wzorówTest post hoc Tukeya
- Słownik wzorówBłąd I rodzaju (α)
- Słownik wzorówKontrasty w ANOVA
- PoradnikANOVA – przykład
- Słownik wzorówSłownik wzorów statystycznych – wszystkie hasła
- Przykładowy raportAnaliza wariancji
Potrzebujesz pomocy z analizą do pracy dyplomowej?
Policzymy Twoje wyniki, przygotujemy tabele, wykresy i opis w standardzie APA, który wykorzystasz w swojej pracy. Pomagamy jak statystyk i redaktor – autorem pracy zostajesz Ty. Konsultacja i wycena są bezpłatne.