Bonferroni
Het idee van de Bonferroni methode is dat als je k afzonderlijke potentiële beslissingen wilt toelaten met een gezamenlijk significantienivo van α, je deze gewoon elk afzonderlijk toetst, maar met een significantie-niveau van α/k. Op die manier hou je de kans dat je ten onrechte een of meer gevallen aanwijst als er uit springend, terwijl er in werkelijheid niets aan de hand is, kleiner dan of gelijk aan α. De grens α/k is bovendien scherp: denk bv aan hoe je uit twee eenzijdige toetsen met significantie-niveau α/2 een tweezijdige toets met significantie-niveau α fabriceert.
(Buijs heeft het in deze context over α/(2k). Dat komt omdat hij de te combineren tweezijdige toetsen zelf weer ziet als combinaties van twee eenzijdige toetsen. Dat is OK al we het over bv t-toetsen hebben, maar die extra factor 2 komt er niet meer bij als we b.v. χ2- of F-toetsen willen combineren.)
Een andere mogelijkheid als je a groepen hebt is om te kijken welk van de verschillen tussen afzonderlijke groepen er uit springen. Dan kom je op a.(a-1)/2 mogelijke afzonderlijk te bekijken verschillen. De Bonferroni-ongelijkheid inzetten geeft dan dus dat α moet worden gedeeld door k = a.(a-1)/2, dwz je neemt 2α/a(a-1) als het significantie-niveau van de afzonderlijke testen die je gaat combineren. Voor a>3 geldt a(a-1)/2>a. Alleen voor a=3 hebben we a(a-1)/2=a. Dit was de reden om te kiezen voor een andere procedure dan door Buijs wordt beschreven.
Je kunt natuurlijk ook, zoals Buijs suggereert, gaan voor het bekijken van k < a(a-1)/2 speciale mogelijke verschillen tussen groepen. Bedenk echter wel dat je dan nog voor het experiment moet vastleggen welke k vergelijkingen tussen groepen je gaat maken. Als je na afloop de k er meest uitspringende verschillen er uit licht maak je eigelijk weer a.(a-1)/2 vergelijkingen!
(Dat laatste wordt heel vaak vergeten. Dit is een van de meest voorkomende methodologische fouten, zo niet de meest voorkomende methodologische fout bij het gebruik van statistiek!)
In R kunnen we de Bonferroni correctie (op alle mogelijke paarsgewijze verschillen) toepassen m.b.v. de functie pairwise.t.test:
> bron <- "http://www.mzandee.net/~zandee/statistiek/data/haemo.txt"
> ziek<-read.table(bron, header=T)
> attach(ziek)
> names(ziek)
[1] "haemo" "ziekte"
> pairwise.t.test(haemo, ziekte, p.adj="bonf")
Pairwise comparisons using t tests with pooled SD
data: haemo and ziekte
A B
B 0.0017 -
C 8.1e-06 0.0017
P value adjustment method: bonferroni
Alle mogelijke paren van steekproeven (A-B, A-C, en B-C) blijken een significant verschil in gemiddelde op te leveren. Deze conclusie verschilt niet met de uitslag van de TukeyHSD test.