Testy post hoc — problem wielokrotnych porównań

statystyka · biologia · medycyna
Kontekst — badanie kliniczne

Porównujesz skuteczność 4 leków na obniżenie ciśnienia krwi.
ANOVA mówi: "istnieje różnica między grupami" — ale które pary leków różnią się?
Testujesz każdą parę osobno przy α = 0.05. Ile par musisz porównać?

liczba grup k
4
poziom istotności α (pojedynczy test)
0.05
liczba par do porównania
6
α na jeden test
0.050
P(fałszywy alarm) łącznie
23.2%
Ryzyko co najmniej jednego fałszywego alarmu: 23.2%
Family-Wise Error Rate (FWER): P(co najmniej jeden błąd I rodzaju) = 1 − (1−α)^m
Przy k=4 grupach i α=0.05: m=6 par → FWER = 1−0.95⁶ ≈ 26%
Nawet gdy żaden lek nie różni się naprawdę, co czwarty eksperyment da fałszywy wynik!
Symulacja — losowe dane, brak prawdziwej różnicy

Dane z identycznych rozkładów (H₀ prawdziwe dla wszystkich par). Ile testów wyjdzie "istotnych" przez przypadek?

Korekcja Bonferroniego
Pomysł: podziel α przez liczbę porównań m
α_Bonf = α / m

Przy α = 0.05 i m = 6 par: α_Bonf = 0.05/6 ≈ 0.0083
Każdą parę testujesz na poziomie 0.0083 — kontrolujesz FWER ≤ 0.05
liczba grup k
4
α rodzinne (FWER)
0.05
liczba par m
6
α_Bonf = α/m
0.0083
FWER po korekcji
≤ 0.050
Zaleta: bardzo prosta — dzielisz α przez m i gotowe.
Działa dla dowolnych testów, nie tylko porównań parami.

Wada: jest konserwatywna — gdy k rośnie, α_Bonf maleje bardzo szybko.
Przy k=10 grupach: m=45 par → α_Bonf = 0.05/45 ≈ 0.0011
Tracimy moc testu — trudno wykryć prawdziwe różnice.
Przykład — 4 leki, p-wartości surowe

Kliknij "Losuj dane" żeby wygenerować przykładowe wyniki badania klinicznego.

Test Tukeya HSD (Honestly Significant Difference)
Tukey używa rozkładu studentized range q zamiast t-Studenta:

HSD = q(α, k, df_błąd) · √(MSE/n)

Dwie grupy różnią się istotnie gdy |ȳᵢ − ȳⱼ| > HSD
Kontroluje FWER dla wszystkich porównań parami jednocześnie
Kluczowa różnica od Bonferroniego:
Bonferroni: każdy test osobno z poprawionym α → konserwatywny
Tukey: używa wspólnego rozkładu dla wszystkich porównań → dokładniejszy

Tukey jest mocniejszy od Bonferroniego gdy porównujesz wszystkie pary.
Bonferroni lepszy gdy testujesz tylko wybrane hipotezy (nie wszystkie pary).
Interaktywny przykład — ciśnienie krwi po 4 lekach
różnica między grupami (efekt)
8 mmHg
odchylenie standardowe
8 mmHg
n na grupę
15
HSD (próg istotności)
różnica grup 1 vs 2
wynik
Średnie ciśnienia krwi dla 4 leków.
Porównanie metod
liczba grup k
5
metoda α na test kontrola FWER moc kiedy stosować
Jak α na test maleje wraz z k
Porównanie α Bonferroni vs Tukey w zależności od k.
Kiedy co stosować?
Bez korekcji (naiwne testowanie)
Nigdy gdy testujesz więcej niż jedną parę.
Akceptowalne tylko przy jednym z góry zaplanowanym porównaniu.
Bonferroni
Gdy masz z góry zaplanowany podzbiór hipotez.
Gdy testy nie są porównaniami parami (np. kontrast).
Gdy masz mało porównań (m ≤ 5).
Tukey HSD
Gdy porównujesz wszystkie pary grup.
Gdy masz równoliczne grupy.
Mocniejszy od Bonferroniego w tym scenariuszu.
Uwaga kliniczna
FWER to nie jedyne kryterium — ważna jest też moc.
Zbyt konserwatywna korekcja = przegapiamy prawdziwe efekty.
Dobierz metodę do pytania badawczego, nie odwrotnie.
Krok 1 — jeden test

Wykonujesz jeden test statystyczny na poziomie α = 0,05.
Zakładasz że H₀ jest prawdziwa (brak różnicy).
Prawdopodobieństwo popełnienia błędu I rodzaju (fałszywy alarm):

P(błąd w 1 teście) = α
P(brak błędu w 1 teście) = 1 − α
Przy α = 0,05: P(brak błędu) = 0,95 — szansa 95% że nie pomylimy się w tym jednym teście.
Krok 2 — m niezależnych testów

Wykonujesz m niezależnych testów, każdy na poziomie α.
Wszystkie H₀ są prawdziwe (żadna różnica nie istnieje).
Prawdopodobieństwo że NIE popełnisz błędu w żadnym z nich:

P(brak błędu w teście 1) · P(brak błędu w teście 2) · … · P(brak błędu w teście m)

= (1−α) · (1−α) · … · (1−α)  [m razy]

= (1−α)^m

(mnożenie prawdopodobieństw niezależnych — jak P(5 orłów z rzędu) = (½)⁵)
α (jeden test)
0.05
m (liczba testów)
6
P(brak błędu w 1 teście) = 1 − 0.050 = 0.950
P(brak błędu w 6 testach) = 0.950^6 = 0.735
FWER = 1 − 0.735 = 0.265
Krok 3 — wzór ogólny i przybliżenie Bonferroniego
FWER = 1 − (1−α)^m

Rozwinięcie Taylora (dla małych α):
(1−α)^m ≈ 1 − m·α + m(m−1)/2 · α² − …

Dla małych α wyższe potęgi są pomijalne, więc:
FWER ≈ m·α

Stąd korekcja Bonferroniego — żeby FWER ≤ α, testuj każdy test na poziomie α/m:
FWER ≈ m · (α/m) = α ✓
FWER rośnie wykładniczo wraz z liczbą testów m.
dokładne: 1−(1−α)^m przybliżenie: m·α próg α = 0.05
Krok 4 — zastrzeżenie: niezależność testów

Wzór (1−α)^m zakłada że testy są w pełni niezależne.
W porównaniach parami testy nie są niezależne — każda grupa pojawia się w wielu parach.

Dla testów zależnych (skorelowanych):

FWER ≤ 1 − (1−α)^m

Korekcja Bonferroniego jest konserwatywna — rzeczywisty FWER jest niższy niż α.
Tukey używa rozkładu studentized range q, który uwzględnia strukturę zależności.
Bonferroni zakłada niezależność
→ zawyża FWER → zbyt konserwatywny
→ traci moc gdy m rośnie
Tukey uwzględnia zależność
→ dokładna kontrola FWER
→ wyższa moc niż Bonferroni dla porównań parami