Statistics Quest

Levene's and Brown–Forsythe tests for equal variances

Test whether several groups have equal population variances by running a one-way ANOVA on absolute deviations from each group's mean (Levene) or median (Brown–Forsythe).

zij=∣yij−ci∣,F=∑ini(zˉi−zˉ)2/(k−1)∑i∑j(zij−zˉi)2/(N−k),df=(k−1, N−k)z_{ij} = |y_{ij} - c_i|,\qquad F = \frac{\sum_i n_i(\bar z_i - \bar z)^2/(k-1)}{\sum_i\sum_j (z_{ij} - \bar z_i)^2/(N-k)},\qquad df = (k-1,\ N-k)
cic_i
Centre of group i: the mean (Levene) or the median (Brown–Forsythe, the engine default).
zijz_{ij}
Absolute deviation of observation j in group i from its centre.
zˉi,zˉ\bar z_i, \bar z
Group and overall means of the deviations.

When to use

To check the equal-variance assumption of the pooled t-test, classic ANOVA or Tukey HSD — and because differences in spread can be interesting in themselves (process consistency). The median-centred Brown–Forsythe version is robust to non-normality; prefer it to the classic F test for two variances and to Bartlett's test, which are very sensitive to non-normal data.

Assumptions

Independent observations and groups.

How to interpret

A small p-value is evidence that the spreads differ. A large p-value does not establish equal variances — small samples have little power. Look at the group SDs directly.

Common mistakes

  • Using this test as a gatekeeper to choose between pooled and Welch t-tests (just use Welch).
  • Concluding "variances are equal" from p > 0.05.

Example

Groups (4, 5, 6, 5), (2, 9, 5, 10), (5, 6, 7, 6): Brown–Forsythe F=9.38F = 9.38 on (2, 9) df, p=0.0063p = 0.0063; Levene (mean-centred) F=10.7F = 10.7, p=0.0042p = 0.0042. The second group is much more variable, so use Welch's ANOVA rather than classic ANOVA.