Chipman 2010 - Probit BART for Classification

Summary

For binary , BART models with , so is fixed. Albert-Chib latent variables turn each Gibbs sweep into a continuous BART update. The leaf prior changes to , shrinking toward 0.5.

Overview

Instead of voting among classification trees (Amit-Geman, Breiman), BART obtains probabilities as a smooth function of a sum of regression trees. Only the leaf prior and one extra latent-variable step differ from the continuous case.

Main Content

BART probit model (eqs. 21-22)

with the standard normal cdf. The model implicitly sets , so the prior is on only: (eq. 23).

Probit leaf prior (eq. 24)

Taking as the plausible range of ,

where is such that with high probability. Default . This shrinks toward 0 and toward 0.5. To shrink toward , use with offset .

Albert-Chib augmentation for BART

Introduce independent with iff . Then truncated to (the paper writes it as ) and truncated to . One Gibbs iteration: draw for ; then for draw exactly as in Chipman 2010 - Backfitting MCMC and Posterior Inference, treating as the response with .

The induced posterior draws (eq. 25) are used exactly like the draws: posterior mean for predicted probability, quantile intervals, partial dependence, variable usage.

Examples

Latent-variable draw (SciPy).

import numpy as np
from scipy.stats import truncnorm
 
def draw_z(y, G):
    """Albert-Chib draw: Z_i | y_i, G(x_i)  (unit variance)."""
    lo = np.where(y == 1, -G, -np.inf)     # truncation bounds on standardized scale
    hi = np.where(y == 1, np.inf, -G)
    return G + truncnorm.rvs(lo, hi)

PyMC analogue. In PyMC one writes p = pm.math.invlogit(pmb.BART("mu", X, Y)) with a Bernoulli likelihood (logit link) or pm.math.probit; the data-augmentation trick is not needed because the sampler is PGBART. Untested sketch.

Connections

See Also

Chipman 2010 - BART - Overview, Chipman 2010 - Drug Discovery Classification and Execution Time, Discrete Choice Models.