Holm–Bonferroni method

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In statistics, the Holm–Bonferroni method[1] (also called the Holm method or Bonferroni-Holm method) is used to counteract the problem of multiple comparisons. It is intended to control the familywise error rate and offers a simple test uniformly more powerful than the Bonferroni correction. It is one of the earliest usages of stepwise algorithms in simultaneous inference. It is named after Sture Holm, who codified the method, and Carlo Emilio Bonferroni.


When considering several hypotheses, the problem of multiplicity arises: the more hypotheses we check, the higher the probability of a Type I error (false positive). The Holm–Bonferroni method is one of many approaches that control the family-wise error rate (the probability that one or more Type I errors will occur) by adjusting the rejection criteria of each of the individual hypotheses or comparisons.


The method is as follows:

  • Let be a family of hypotheses and the corresponding P-values.
  • Start by ordering the p-values (from lowest to highest) and let the associated hypotheses be
  • For a given significance level , let be the minimal index such that
  • Reject the null hypotheses and do not reject
  • If then do not reject any of the null hypotheses and if no such exist then reject all of the null hypotheses.

The Holm–Bonferroni method ensures that this method will control the , where is the familywise error rate


Holm-Bonferroni controls the FWER as follows. Let be a family of hypotheses, and be the sorted p-values. Let be the set of indices corresponding to the (unknown) true null hypotheses, having members.

Let us assume that we wrongly reject a true hypothesis. We have to prove that the probability of this event is at most . Let be the first rejected true hypothesis (first in the ordering given by the Bonferroni–Holm test). So is the last false hypothesis rejected and . From there, we get (1). Since is rejected we have by definition of the test. Using (1), the right hand side is at most . Thus, if we wrongly reject a true hypothesis, there has to be a true hypothesis with P-value at most .

So let us define . Whatever the (unknown) set of true hypotheses is, we have (by the Bonferroni inequalities). Therefore, the probability to reject a true hypothesis is at most .

Alternative proof[edit]

The Holm–Bonferroni method can be viewed as closed testing procedure,[2] with Bonferroni method applied locally on each of the intersections of null hypotheses. As such, it controls the familywise error rate for all the k hypotheses at level α in the strong sense. Each intersection is tested using the simple Bonferroni test.

It is a shortcut procedure since practically the number of comparisons to be made equal to or less, while the number of all intersections of null hypotheses to be tested is of order .

The closure principle states that a hypothesis in a family of hypotheses is rejected - while controlling the family-wise error rate of - if and only if all the sub-families of the intersections with are controlled at level of family-wise error rate of .

In Holm-Bonferroni procedure, we first test . If it is not rejected then the intersection of all null hypotheses is not rejected too, such that there exist at least one intersection hypothesis for each of elementary hypotheses that is not rejected, thus we reject none of the elementary hypotheses.

If is rejected at level then all the intersection sub-families that contain it are rejected too, thus is rejected. This is because is the smallest in each one of the intersection sub-families and the size of the sub-families is the most , such that the Bonferroni threshold larger than .

The same rationale applies for . However, since already rejected, it sufficient to reject all the intersection sub-families of without . Once holds all the intersections that contains are rejected.

The same applies for each .


Consider four null hypotheses with unadjusted p-values , , and , to be tested at significance level . Since the procedure is step-down, we first test , which has the smallest p-value . The p-value is compared to , the null hypothesis is rejected and we continue to the next one. Since we reject as well and continue. The next hypothesis is not rejected since . We stop testing and conclude that and are rejected and and are not rejected while controlling the familywise error rate at level . Note that even though applies, is not rejected. This is because the testing procedure stops once a failure to reject occurs.


Holm–Šidák method[edit]

When the hypothesis tests are not negatively dependent, it is possible to replace with:

resulting in a slightly more powerful test.

Weighted version[edit]

Let be the ordered unadjusted p-values. Let , correspond to . Reject as long as

Adjusted p-values[edit]

The adjusted p-values for Holm–Bonferroni method are:

, where .

In the earlier example, the adjusted p-values are , , and . Only hypotheses and are rejected at level .

The weighted adjusted p-values are:[citation needed]

, where .

A hypothesis is rejected at level α if and only if its adjusted p-value is less than α. In the earlier example using equal weights, the adjusted p-values are 0.03, 0.06, 0.06, and 0.02. This is another way to see that using α = 0.05, only hypotheses one and four are rejected by this procedure.

Alternatives and usage[edit]

The Holm–Bonferroni method is uniformly more powerful than the classic Bonferroni correction. There are other methods for controlling the family-wise error rate that are more powerful than Holm-Bonferroni.

In the Hochberg procedure, rejection of is made after finding the maximal index such that . Thus, The Hochberg procedure is more powerful by construction. However, the Hochberg procedure requires the hypotheses to be independent or under certain forms of positive dependence, whereas Holm-Bonferroni can be applied without such assumptions.

A similar step-up procedure is the Hommel procedure.[3]


Carlo Emilio Bonferroni did not take part in inventing the method described here. Holm originally called the method the "sequentially rejective Bonferroni test", and it became known as Holm-Bonferroni only after some time. Holm's motives for naming his method after Bonferroni are explained in the original paper: "The use of the Boole inequality within multiple inference theory is usually called the Bonferroni technique, and for this reason we will call our test the sequentially rejective Bonferroni test."


  1. ^ Holm, S. (1979). "A simple sequentially rejective multiple test procedure". Scandinavian Journal of Statistics. 6 (2): 65–70. JSTOR 4615733. MR 538597. 
  2. ^ Marcus, R.; Peritz, E.; Gabriel, K. R. (1976). "On closed testing procedures with special reference to ordered analysis of variance". Biometrika. 63 (3): 655–660. doi:10.1093/biomet/63.3.655. 
  3. ^ Hommel, G. (1988). "A stagewise rejective multiple test procedure based on a modified Bonferroni test". Biometrika. 75 (2): 383–386. doi:10.1093/biomet/75.2.383. ISSN 0006-3444.