A cluster bootstrap resamples entire observed groups, retaining all observations and their dependence within each selected group. The sampling unit is the group: draw group labels with replacement from the observed groups, concatenate their observations, and recompute the desired statistic. This is a form of bootstrapping suited to independent groups whose internal observations need not be independent. The Stata manual implements it with cluster(); idcluster() distinguishes two resampled copies of the same original group when the fitted procedure needs group identifiers.[ref]
Bootstrap sampling and estimation in the Stata documentation. Printed pp. 3–5, Options: size(), cluster(), idcluster(); printed p. 18, Technical note on unique panel identifiers
For an original example, three sensors each supply two perfectly shared readings: , , and . The overall sample mean is . A cluster draw produces readings and sample mean ; the two copies of remain distinct resampling slots. Conditional on these data, the empirical variance of a group mean drawn uniformly from is . Averaging three independent draws therefore gives bootstrap varianceResampling six individual rows instead givesThe row procedure halves the conditional variance by pretending that two identical within-sensor readings are independent information. These fractions use the empirical drawing law directly, not a Bessel-corrected estimate of an unknown population variance.
With unequal group sizes, drawing the same number of groups can produce a different number of rows in each replicate. A pooled row mean and a mean of group means are different statistics: unequal-cluster weighting in a cluster bootstrap must follow the intended estimand. Many rows from a few sensors do not replace having many independent sensors; arbitrary dependence between sensors, a dominant group, or too few groups can defeat the intended inference.
New to topics? Read the docs here!