Oferty statystyczne Tutoriale Opinie Kontakt

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_{Bonf} = \frac{\alpha}{m} \qquad p_{Bonf} = \min(1;\ m \cdot p) \qquad FWER = 1 - (1 - \alpha)^m $$
\(\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\).

Tabela 1. Trzy porównania par i ich wartości p
ParaRóżnica średnicht(6) = różnica / √2p bez korektyp Bonferroni = 3 · pp Holm
A – B10,710,5061,0000,506
A – C53,540,0120,0370,037
B – C42,830,0300,0900,060
m = 3––2 istotne1 istotna1 istotna
  1. Liczba porównań. m = 3 · 2 / 2 = 3.
  2. Ryzyko bez korekty. 1 − 0,95³ = 0,143, czyli około 14% zamiast 5%.
  3. Próg Bonferroniego. α / m = 0,05 / 3 = 0,0167. Poniżej leży tylko p = 0,012 dla pary A – C.
  4. p skorygowane. Mnożysz każde p przez 3 i obcinasz do 1: 0,037; 0,090 i 1,000 (a nie 1,518).
  5. 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.
Wykres ryzyka co najmniej jednego fałszywego alarmu w zależności od liczby porównań: bez korekty 14,3% przy 3 porównaniach i 40,1% przy 10; z korektą Bonferroniego stale około 5%
Rys. 1. Po co jest korekta? Czerwona linia pokazuje wzór 1 − 0,95m: przy 3 porównaniach ryzyko fałszywego alarmu to 14,3%, a przy 10 już 40,1%. Niebieska linia to ta sama seria testów z korektą Bonferroniego – ryzyko nie przekracza 5%.
Trzy wartości p: 0,012, 0,030 i 0,506 na tle progów; Bonferroni ma stały próg 0,0167, Holm schodki 0,0167, 0,025 i 0,05
Rys. 2. Niebieska linia to stały próg Bonferroniego, a czerwone schodki – progi Holma. Holm jest łagodniejszy dla kolejnych p, ale tutaj B – C (p = 0,030) i tak leży nad progiem 0,025, więc obie metody wskazują tylko parę A – C.
Dwa wykresy z aplikacji SZTOS dla tych samych trzech grup: bez korekty gwiazdki przy parach A–C i B–C, z poprawką Bonferroniego gwiazdka tylko przy parze A–C
Rys. 3. Te same dane w aplikacji SZTOS z dwoma ustawieniami porównań par. Bez korekty (po lewej) gwiazdki pojawiają się przy parach A – C i B – C. Z poprawką Bonferroniego (po prawej) zostaje tylko A – C – różnica B – C mogła być fałszywym alarmem.

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

  1. 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.
  2. 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
  3. Holm, S. (1979). A simple sequentially rejective multiple test procedure. Scandinavian Journal of Statistics, 6(2), 65–70.
  4. Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. SAGE.
  5. King, B. M., & Minium, E. W. (2009). Statystyka dla psychologów i pedagogów. Wydawnictwo Naukowe PWN.
  6. Hryniewicz, K., & Milewska, A. (2023). SZTOS: System Zautomatyzowanego Tworzenia Opisu Statystycznego [Oprogramowanie]. SZTOS IT. https://sztos-it.com/

Zobacz też

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.

Na skróty