Smoothly Mixing Regressions

bayesianmixture-modelnonparametricconditional-distributionquantile-regressiongibbs-samplermcmclatent-variablemetropolis-hastings

Definition

A smoothly mixing regression (SMR) model is a Bayesian approach to inference about the full conditional distribution p(yx)p(y|x) — not just the conditional mean — by modeling yy as a finite mixture of normal regressions whose state probabilities are smooth (continuous) functions of observed covariates. The key extension over a standard finite mixture is that mixing weights depend on xx through a multinomial probit model, so the entire shape of the conditional distribution (location, scale, skewness, kurtosis) can vary flexibly with covariates.

Key Ideas

How It Works

Markov Chain Monte Carlo (MCMC) Algorithm (Five-Block Gibbs)

Given parameters (β,A,Γ,σ2,σj2)(\beta, A, \Gamma^*, \sigma^2, \sigma_j^2) and latent states (W~,s~)(\tilde W, \tilde s):

  1. (β,A)(\beta, A) block: Conditional on s~\tilde s, this is a generalized Gaussian regression — conjugate Normal posterior.
  2. σ2\sigma^2 block: Inverse-gamma conjugate, updated from residuals ytαs~tvtβuty_t - \alpha_{\tilde s_t}'v_t - \beta'u_t.
  3. σj2\sigma_j^2 block (j=1,,mj=1,\ldots,m): Conditionally independent inverse-gamma draws, each from observations assigned to state jj.
  4. Γ\Gamma^* block: Conditional on W~\tilde W^*, the rows γj\gamma_j^* are independent Normal — fully conjugate.
  5. W~\tilde W block (Metropolis-within-Gibbs): For each tt, draw w~tpropN(Γzt,Im)\tilde w_t^{\text{prop}} \sim \mathcal{N}(\Gamma z_t, I_m); the proposal selects state jj^* (the max-coordinate index). Accept with probability min{σj1exp[(ytαjvtβut)2/(2σ2σj2)]σj1exp[(ytαjvtβut)2/(2σ2σj2)],  1}\min\left\{\frac{\sigma_{j^*}^{-1}\exp[-(y_t - \alpha_{j^*}'v_t - \beta'u_t)^2/(2\sigma^2\sigma_{j^*}^2)]}{\sigma_j^{-1}\exp[-(y_t - \alpha_j'v_t - \beta'u_t)^2/(2\sigma^2\sigma_j^2)]},\; 1\right\} where jj is the current state. If j=jj^* = j, acceptance is automatic.

The algorithm runs 12,000 iterations; first 2,000 discarded; every 100th used for inference. One–two minutes on desktop hardware for T2,500T \approx 2{,}500.

State Probability Computation

P(s~t=jΓ,zt)=ϕ(yγjzt)ijΦ(yγizt)dyP(\tilde s_t = j | \Gamma, z_t) = \int_{-\infty}^{\infty} \phi(y - \gamma_j'z_t)\prod_{i \neq j}\Phi(y - \gamma_i'z_t)\,dy

This integral has only one dimension regardless of mm — the outer integral over the maximum. Conventional quadrature suffices; no Geweke-Hajivassiliou-Keane (GHK) simulation needed.

Posterior Quantile Computation

For quantile qq at covariate values (a,b)(a,b): solve P(yca,b,data)=qP(y \leq c | a, b, \text{data}) = q iteratively, where

P(yca,b,data)1Miterj=1mΦ ⁣(cβuαjvσσj)P(s~t=jΓ,z)P(y \leq c | a, b, \text{data}) \approx \frac{1}{M}\sum_{\text{iter}} \sum_{j=1}^m \Phi\!\left(\frac{c - \beta'u - \alpha_j'v}{\sigma\sigma_j}\right) P(\tilde s_t = j | \Gamma, z)

Root-finding via inverse cumulative distribution function (CDF); computation for 450 grid points × 7 quantiles takes ~3 minutes.

Why It Matters

Open Questions

Related