Variable selection is the problem of identifying which subset of p candidate regressors X1,…,Xp should enter a linear model Y=Xγβγ+ε, trading off model fit against complexity across the 2p possible subsets. Bayesian approaches assign a prior over subsets and use posterior inference to identify high-probability models.
Key Ideas
The model space has 2p elements; for p=60 this exceeds 1018, making direct enumeration impossible. Markov Chain Monte Carlo (MCMC) navigates the space by visiting high-probability regions.
A binary indicator vector γ∈{0,1}p encodes which variables are included (γi=1) or excluded (γi=0).
The prior on γ encodes the researcher's beliefs about model size; the simplest choice P(γi=1)=pi=0.5 gives f(γ)=2−p (indifference), implying equal prior probability to all models.
High-frequency γ values in MCMC output identify high-posterior-probability subsets without requiring explicit enumeration.
The SSVS formulation links each βi to a latent inclusion indicator γi via a mixture prior:
βi∣γi∼(1−γi)N(0,τi2)+γiN(0,ci2τi2)(eq. 2)
with τi small (exclusion: spike) and ci≫1 (inclusion: slab). This does not hard-zero βi when γi=0; instead it shrinks it toward zero by a factor of ci. The joint prior is:
β∣γ∼Np(0,DγRDγ)(eq. 4)
where Dγ=diag[a1τ1,…,apτp] with ai=1 if γi=0 and ai=ci if γi=1 (eq. 5). The error variance prior is σ2∣γ∼IG(νγ/2,νγλγ/2) (inverse-gamma (IG), eq. 6).
Three-block Gibbs sampler (given current draws (βj−1,σj−1,γj−1)):
Block 1 — βj: Conjugate Normal update (eq. 13):
βj∼Np(Aγ(σj−1)−2X′Xβ^LS,Aγ)Aγ=((σj−1)−2X′X+Dγ−1R−1Dγ−1)−1
Block 3 — γij: Independent Bernoulli draws componentwise (eqs. 15–16). For each i:
P(γi=1∣βj,γ(i))=a+ba
where (eqs. 16c–d):
a=f(βj∣γ(i),γi=1)⋅pi,b=f(βj∣γ(i),γi=0)⋅(1−pi)
Each f(⋅) is a univariate Normal density evaluation at βij under the spike or slab component — the γi conditional does not depend on Y directly, only through the already-drawn βj.
Tuning Parameters
The method requires choices for (τi,ci,pi):
τi should be small enough that βi∈N(0,τi2) is effectively zero in the regression.
ci>1 controls the slab width relative to the spike; larger ci sharpens separation.
Calibration: σ^β^i/τi (signal-to-noise of each coefficient relative to the spike). Suggested choices: (σ^β^i/τi,ci)∈{(1,5),(1,10),(10,100),(10,500)}.
Signal ratio: ri=(σ^β^i2/τi2+ci2)/(σ^β^i2/τi2+1) (eq. 9) — measures the Bayes factor separation between inclusion and exclusion for coefficient i.
Correlation: R=I (independence) or R∝(X′X)−1 (Zellner g-prior structure).
George-McCulloch (1997) embeds SSVS within a unified hierarchical mixture model:
f(Y∣β,σ)=Nn(Xβ,σ2I),π(β,σ,γ)=π(β∣σ,γ)π(σ∣γ)π(γ)
π(γ)=i∏wiγi(1−wi)1−γi(eq. 4)
Two prior formulations emerge from this framework:
Nonconjugate prior (= SSVS):π(β∣γ)=Np(0,DγRγDγ) (eq. 5); β and σ are independent given γ. Point-mass limit (v0→0): π(βi∣γ)=(1−γi)I0+γiN(0,v1γ(i)) (eq. 9) — makes Gibbs reducible. Practical δ-threshold: log(v1/v0)/(v0−1−v1−1)=δ2 (eq. 8).
Conjugate prior (new in 1997):π(β∣σ,γ)=Np(0,σ2Dγ∗RγDγ∗) (eq. 15); β and σ are not independent given γ. Marginal of βi is t-distributed (eq. 19). Translation from nonconjugate scale: v0∗=v0/σ^2, v1∗=v1/σ^2 (eq. 18). Point-mass limit: π(βi∣σ,γ(i))=(1−γi)I0+γiT(ν,0,λγv1γ(i)∗) (eq. 21).
Analytical Marginal Posterior Under Conjugate Prior (George-McCulloch 1997)
With the conjugate prior, β and σ2 can be integrated out analytically, leaving a posterior over the discrete γ space alone. When v0∗>0:
The g-prior case (v0∗≡0) yields a simplified formula (eqs. 27–28). This reduces the three-block Gibbs to a one-block sampler over the 2p discrete γ space — a major computational simplification.
Fast Updating and Gray Code Exhaustive Evaluation (George-McCulloch 1997)
Chambers (1971) condition (29): When v0∗>0 and Rγ=I, flipping one γi updates g(γ) in O(p2) (Chambers rank-1 update):
Gray Code enumeration: Order all 2pγ vectors so consecutive ones differ in exactly one bit (Reingold-Nievergelt-Deo 1977; Diaconis-Holmes 1994). Apply fast O(p2) updating at each step to enumerate g(γ) for all models in O(2p⋅p2) total operations (vs. brute force O(2p⋅p3)). Feasible through p≤25 (p=15: 7 sec; p=20: 5 min on a 1996 SPARCstation 10).
Three MCMC Algorithms and Normalization Constant Estimation (George-McCulloch 1997)
NG — Nonconjugate Gibbs (= SSVS): Full three-block Gibbs over (β,σ2,γ). Fastest per iteration at large p (≈30 sec/1000 iters at p=100) but vulnerable to stuck-γ failure.
CG — Conjugate Gibbs: Samples only γ using the Bernoulli inclusion ratio:
Never samples β or σ directly. Slower per iteration at large p (≈5 min/1000 iters at p=100) but mixes correctly even under weak information.
CM — Conjugate Metropolis (= MC³ of Madigan-York 1995): Proposes flipping or swapping one γi; accepts via Metropolis ratio using g(γ) (eqs. 43–44). Similar speed to CG; explores model space differently.
Normalization constant estimation: Since π(γ∣Y)=C⋅g(γ) (eq. 34), estimate C^ from MCMC output via indicator function on a reference set A:
C^=g(A)⋅K1k∑IA(γ(k))(eq. 35)
Improved individual posterior estimates π^(γ∣Y)=C^⋅g(γ) (eq. 36); total visited probability π^(B∣Y)=C^⋅g(B) (eq. 37) characterizes model space coverage.
Stuck-γ Failure Mode of Nonconjugate Gibbs
Under weak information (e.g., σ=200, v1/v0=2500), NG malfunctions: β is drawn from N(0,v0) (the spike) and is unlikely to resemble a draw from N(0,v1) (the slab). Consequently γi stays at 0 for long runs, occasionally jumps to 1 and stays there. The γ chain is nearly non-ergodic. Monte Carlo SE for marginal inclusion probabilities: NG ≈ 0.10 vs. CG/CM ≈ 0.02 in this setting. The conjugate methods, which never sample β, are immune.
Financial Index Tracking Application (George-McCulloch 1997)
Phase 1 (NG screening): 10,000 draws, wi=0.05, δ=0.008, v1/v0=625. Identifies top 50 stocks by marginal inclusion frequency.
Phase 2 (CG estimation): 50 stocks, 450,000 draws, wi=0.01. Identifies 789 high-probability models within e−5 of the best model. Best model: 21 variables, R2=95.6%, matches classical stepwise regression. The stepwise model's posterior probability is only 0.00176× the maximum-probability model — demonstrating that a single "best" model severely understates posterior uncertainty.
Why It Matters
Provides a principled Bayesian approach to subset selection that avoids multiple comparisons issues and inherently accounts for model uncertainty.
The "all post-burn-in" strategy — using every Gibbs draw, not just the last — gives a direct read on the marginal posterior inclusion probability P(γi=1∣Y) for each variable.
Scales to p=60 (SSVS) and p=200 (two-phase CG strategy) by exploiting the J-shaped frequency distribution: most models are never visited because the chain concentrates on high-probability subsets.
Gray Code exhaustive evaluation delivers exact posterior probabilities for all 2p models at p≤25, making Bayesian model averaging exact in moderate dimensions.
The stuck-γ failure mode illustrates a general principle: a discrete sampling block (Block 3) that depends on a continuous draw (Block 1 for β) can have its mixing controlled entirely by the scaling of the continuous prior — independent of the data.
Foundational precursor to modern spike-and-slab, horseshoe, and Bayesian LASSO priors for high-dimensional regression; conjugate formulation prefigures the integrated-likelihood approaches used in BAS and BMA software.
Open Questions
Tuning (v0,v1,wi) remains problem-specific; data-dependent calibration can compromise the prior's external validity.
The O(p2) fast update cost is manageable through p∼100 but becomes prohibitive for very large p (e.g. p∼10,000).
CG/CM are slower per iteration than NG at large p; the optimal algorithm choice depends on the signal-to-noise ratio of the data, which is unknown in advance.
Modern continuous shrinkage priors (horseshoe, Dirichlet-Laplace) avoid the γ block entirely, reducing tuning burden at some cost in interpretability and exact model probabilities.
Normalization constant estimation (§4.5) requires that the MCMC run visits a reference set frequently enough to estimate C^ reliably — an implicit convergence requirement that is hard to verify.
Bayesian Stochastic Search for VAR Restrictions (George-Sun-Ni 2008)
George, Sun, and Ni extend SSVS to VAR models, simultaneously searching restrictions on the p×(h+Lp) coefficient matrix Φ and the off-diagonal elements of the upper-triangular factor Ψ in the precision decomposition Σ−1=ΨΨ′ (eq. 9). Upper-triangular Ψ is required for global identification (unique Σ→Ψ mapping); arbitrary Ψ satisfies only local rank conditions (Bekker-Pollock 1986; Amisano-Giannini 1997).
Semiautomatic tuning: τki=ckσ^ϕsi, c0=0.1, c1=10 (analogous to George-McCulloch (1997)).
Five-step Gibbs sampler (Appendix A.3): Every conditional is standard — Gamma for ψii2, Normal for ηj, Bernoulli for ωij and γi, Normal for ϕ — with no Metropolis-Hastings steps. Key property inherited from George-McCulloch (1993): γi does not depend on Y given ϕ (eq. 37).
Key finding: Restricting Φ aids Ψ selection and vice versa — the two searches are interdependent. Rao-Blackwell model-averaged forecasts improve over maximum likelihood estimator (MLE) by 20–67% in simulation.
Poisson Log-Linear Model Selection (Albert 1996)
Albert (1996) extends the SSVS idea to contingency tables via a Poisson log-linear likelihood. The design matrix X0 encodes which interaction terms are included in model Mk. The block-diagonal precision prior is:
Σ−1=diag(0Ip0,P1Ip1,…,PsIps)
where β0 (always-included terms) receives an improper flat prior (0 precision) and each group j of testable parameters receives precision Pj. Rather than a fixed spike-and-slab, a Gamma hyperprior Pj∼Gamma(νj/2,bj2νj/2) integrates out to a tνj marginal for βj. Setting νj=1 gives Cauchy marginals — heavier-tailed and more robust to extreme cell counts than the Normal (νj→∞).
Posterior model probabilities are approximated by a Laplace expansion around the posterior mode found by IWLS. The Gibbs sampler cycles over:
Bayesian model averaging (BMA) with this sampler inflates posterior standard errors nearly 2× relative to the maximum-probability single model, illustrating the cost of ignoring model uncertainty.