Chipman 2010 - Backfitting MCMC and Posterior Inference

Summary

BART is sampled with a Gibbs sampler over , , and . Each tree’s full conditional depends on the data only through the partial residual , so each update is a single-tree Bayesian CART step with integrated out. Posterior draws of give means, intervals, partial dependence and a model-free variable-usage measure.

Overview

The posterior (eq. 9) lives on an enormous space, but its conditional structure is simple enough for a Gibbs sampler. The authors call it Bayesian backfitting because it is a stochastic version of Hastie-Tibshirani backfitting for additive models.

Main Content

The Gibbs sampler

Backfitting reduction (eqs. 10-16)

Let denote all trees except the th. The Gibbs sampler draws, for , , then . Because the conditional depends on only through

the draw is equivalent to (eq. 13), the posterior of the single-tree model with playing the role of data. With the conjugate leaf prior,

is available in closed form up to a constant (eq. 14), so the draw splits into (eq. 15, Metropolis-Hastings) and (eq. 16, independent normals). The draw is a standard inverse-gamma draw.

Proof sketch. The full conditional of tree is proportional to prior times likelihood; the likelihood involves , hence only . Conjugacy lets be marginalized, giving a marginal likelihood for the tree structure alone.

Tree proposal moves (CGM98)

Proposals for and their probabilities: grow a terminal node (0.25); prune a pair of sibling terminal nodes (0.25); change a nonterminal rule (0.40); swap a rule between parent and child (0.10). Because is integrated out, grow/prune need no reversible-jump machinery over varying-dimension continuous spaces.

Initialization: single-node trees; iterate until convergence. Each iteration a tree can change size by one terminal node or change one or two rules. Fit “is freely reallocated from one tree to another” because the parameters are unidentified; it is common to see a tree grow large and then collapse to a single node. The authors liken this to sculpting with small dabs of clay.

Mixing. The single-tree CGM98 sampler gets stuck near one large tree; backfitting with many weak trees mixes dramatically better. Restarts give “remarkably similar” results, so the authors run one long chain. (Modern practice still checks convergence; see the function-space diagnostics in HMC and Stan in Practice. The pymc-bart package does diagnose in function space rather than in tree space, because tree parameters are not identified.)

Posterior summaries

After burn-in the draws , , are a dependent sample from (eq. 17).

QuantityEstimatorEq.
/ prediction (or median)18
interval for and quantiles of -
Partial dependence; average the draws ; quantiles give intervals19
Variable usage = share of splitting rules in draw that use ; 20

Average variable-usage measure

For each posterior draw let be the proportion of all splitting rules using component . Then . As is made smaller, trees compete for a few slots, and concentrates on predictors that genuinely improve prediction. With large , redundancy lets irrelevant predictors in, so the measure is less effective.

Intervals “behave sensibly, for example, by widening at values far from the data”. In the Friedman example the 90% posterior intervals covered the true at 89% (in-sample) and 96% (out-of-sample) for one data set, and 87% / 93% on average over 200 replicates; the authors point out these are not frequentist guarantees, and that near the edges of the space the prior shrinkage lowers coverage.

Examples

Partial residual loop (conceptual NumPy).

# Skeleton of one BART sweep; tree internals omitted.
for j in range(m):
    R_j = y - (fit_sum - tree_fit[j])              # partial residual, eq. 12
    tree[j] = metropolis_hastings_tree(R_j, sigma, tree[j])   # grow/prune/change/swap
    leaf_values[j] = draw_leaves(tree[j], R_j, sigma)         # eq. 16, normals
    fit_sum += tree_fit_new[j] - tree_fit[j]
sigma = draw_sigma(y - fit_sum)                    # inverse-gamma, eq. 11

Mark: pseudocode only.

Reading variable usage. In the Friedman example (, ), as falls through 200, 100, 50, 20, 10, the usage of collapses to near zero and are exactly recovered. The paper caution: spurious splits inflate usage, and putting more tree-prior mass on small trees (smaller ) may make “every split count”.

Connections

See Also

Chipman 2010 - BART - Overview, Chipman 2010 - Sum-of-Trees Model and Regularization Prior, Efficient MCMC.