Dirichlet Process Mixture

nonparametric-bayesdirichlet-processmixture-modelbayesianmcmcclustering

Definition

A Dirichlet Process Mixture (DPM) is a Bayesian nonparametric model for an unknown distribution GG: it treats GG itself as a random object drawn from a Dirichlet Process (DP), rather than restricting GG to a parametric family. The resulting density estimate is an infinite mixture whose number of components is determined by the data. DPMs are the central tool of Bayesian nonparametrics for density estimation, clustering, and as flexible prior distributions in latent-variable models.

Key Ideas

How It Works

Marginal MCMC via CRP (Escobar-West 1995)

Integrate out GG and sample the cluster allocations {kt}\{k_t\} directly. For observation tt:

p(kt=jkt,θt,yt){nj(t)f(ytθj)existing cluster jαf(ytθ)G0(dθ)new clusterp(k_t = j \mid k_{-t}, \theta_{-t}, y_t) \propto \begin{cases} n_j^{(-t)}\, f(y_t|\theta_j) & \text{existing cluster } j \\ \alpha \int f(y_t|\theta)\, G_0(d\theta) & \text{new cluster} \end{cases}

where nj(t)n_j^{(-t)} is the count of observations in cluster jj excluding tt, and the new-cluster weight requires integrating the likelihood against G0G_0 (analytically available when G0G_0 is conjugate to ff). After sampling allocations, draw cluster parameters θj\theta_j from their conjugate posteriors.

Blocked/Truncated Gibbs (Ishwaran-James 2001)

Truncate the stick-breaking representation at JJ components, set VJ=1j<JVjV_J = 1 - \sum_{j<J} V_j, and run a finite-dimensional Gibbs sampler. Efficient for moderate JJ (e.g., J=20J=20–50) and avoids the sequential structure of the CRP sampler.

MacEachern-Müller (1998) Extension

Introduces auxiliary variables to handle the new-cluster integral when G0G_0 and ff are not conjugate, enabling DPM inference for arbitrary kernel families.

Non-conjugate sampling — Algorithm 8 (Neal 2000)

When G0G_0 is not conjugate to the kernel ff, the CRP new-cluster weight αf(ytθ)G0(dθ)\alpha\int f(y_t\mid\theta)G_0(d\theta) has no closed form. Neal (2000) surveys the whole sampler family and gives the standard fix, Algorithm 8: temporarily augment the state with mm auxiliary components whose parameters are drawn i.i.d. from G0G_0 (a singleton keeps its current parameter as one of them), then Gibbs-sample the indicator cic_i over the existing and auxiliary components with weights ni,cF(yi,θc)\propto n_{-i,c}\,F(y_i,\theta_c) (existing) and (α/m)F(yi,θc)\propto (\alpha/m)\,F(y_i,\theta_c) (auxiliary), discarding unused parameters afterward. This proposes new clusters by sampling the prior rather than integrating it, so no numerical integration is needed; mm trades computation for mixing, and m=1m=1 recovers a better-mixing variant of MacEachern-Müller's "no gaps." Neal also gives Metropolis-Hastings indicator updates (optionally with partial Gibbs) as a simpler non-conjugate alternative. Algorithm 8 is the reference sampler for applied DPM work.

Concentration Parameter Update (Escobar-West 1995)

With αGamma(aα,bα)\alpha \sim \text{Gamma}(a_\alpha, b_\alpha), the auxiliary variable method draws αk\alpha | k from a mixture of two Gamma distributions, exploiting the Beta representation of the Pólya urn.

Why It Matters

Open Questions

Related