Software Demos · Interactive demo

Modifications of the BIC for order selection in finite mixture models

Fit a light EM to a 1D mixture histogram for every candidate order k = 1..8 and watch AIC, BIC and the paper's consistency-restoring nu-BIC and eps-BIC trade fit against penalty, with a streaming Monte-Carlo showing P(k-hat = k0) climb to 1 as n grows. Use the buttons beside each control (or the Run the experiments launchers) to auto-play; everything runs client-side.

Modifications of the BIC for order selection in finite mixture models

How many components does a mixture have? An information criterion answers by trading fit (maximized log-likelihood) against a penalty on complexity. This demo reproduces the paper's simulation design: a near non-identifiable true mixture (a close pair of components at means 0 and Δ, plus any well-separated extras), fitted by a light EM for every candidate order k = 1..6. It then draws four criterion curves, AIC (flat penalty), BIC, and the paper's ν-BIC and ε-BIC, which inflate the BIC penalty by a negligibly small logarithmic factor to buy order-selection consistency under much weaker (non-differentiable, mild-moment) conditions. Watch the selected order and the Monte-Carlo P(k̂ = k₀) climb to 1 across the paper's sample-size grid, while AIC keeps over-selecting.

Order selectionFinite mixturesConsistencyBIC penaltiesNear non-identifiable
Penalty vs fit: which order does each criterion pick?
top: data histogram from the true k₀-mixture (drag a handle sideways to move a mean, up/down to change its weight) · bottom: the four criterion curves over k, each with its argmin flagged
Consistency: P(k̂ = k₀) vs nk₀ = 3
streaming Monte-Carlo over n ∈ {100, 316, 1000, 3162, 10000}: BIC / ν-BIC / ε-BIC climb to 1; AIC keeps over-selecting

Following the authors' R code, each candidate order k is fitted by a short multi-start EM to the current dataset, giving a maximized log-likelihood Lₖ, and every criterion is minimized in the common form −2Lₖ + cₙ α(k). The penalty constant is cₙ = 2 for AIC, cₙ = log n for BIC, cₙ = log n Ln∘ν(n) for ν-BIC (with Ln(n) = log(e ∨ n), composed ν times), and cₙ = (log n)1+ε for ε-BIC; the complexity α(k) is one of df = 3k−1, df², k, or k² (the paper's alpha_value grid). The fit term drops as k grows (more components fit better); the penalty rises, and where it wins sets the argmin. AIC's flat penalty barely resists extra components, so it over-selects; BIC's log n penalty and the two consistent modifications put a genuine minimum near k₀. The right panel is a small streaming Monte-Carlo over n ∈ {100, 316, 1000, 3162, 10000} (a finer grid than the paper's n = 100, 1000, 10000): for each n it repeatedly resamples, refits k = 1..6, and records the under / correct / over selections; the plotted curve is the correct proportion P(k̂ = k₀). (Honest caveats. This is a 1D toy with a light in-browser EM standing in for the paper's mixsmsn::smsn.mix (t, df fixed at 5) and MixSAL::msal (Laplace-type, skewness α=0) fits with many restarts; the log-likelihoods and argmins are indicative, not the paper's tables. The true design is near non-identifiable (a pair at 0 and Δ=0.25, unit scale, plus a separated component at 3.0 for k₀=3), exactly the hard case where consistency needs large n. By design the ν/ε inflation factors are negligible, so at browser-scale n the three consistent curves nearly coincide with BIC, that is the point: push ν up or ε down to watch ν-BIC / ε-BIC collapse onto BIC. Gaussian is included only as the classical Keribin (2000) reference. The paper also studies the PanIC penalty (√n log log n), regression mixtures, and proves a misspecification (KL-optimal order) result and limits on minimal penalties and minimax Hellinger risk.)

Run the experiments

Every animation runs live in your browser. Click a button to run that experiment on the demo (it scrolls up and starts); drag any control to take over. Nothing is downloaded, it is generated on the fly.

Grow the sample size

Sweep n from 100 to 10000 (a finer sweep than the paper's n = 100, 1000, 10000). Consistency is a large-n statement: watch each criterion sharpen its minimum onto the true order and the Monte-Carlo curves climb toward 1.

Vary the true order

Step the generating order k0 from 1 to 6 and see the criterion argmins and the consistency target track it.

Sweep the close-pair separation

Shrink the gap Delta between the two nearly-coincident components toward the paper's 0.25 and below: the mixture becomes near non-identifiable, order selection gets harder, and larger n is needed for consistency.

Collapse nu-BIC onto BIC

Increase the iterated-logarithm depth nu: the penalty factor Ln^(nu)(n) shrinks toward 1, so the nu-BIC curve merges into BIC.

Shrink the eps inflation

Lower epsilon toward 0: the (log n)^(1+eps) penalty relaxes to log n and eps-BIC collapses onto BIC, illustrating that the modification is immaterial in practice.

Tour the component families

Cycle Gaussian (classical reference), heavy-tailed Student-t (df 5), and non-differentiable Laplace: the paper's consistency holds across the t and Laplace families, unlike the classical BIC theory.

Tour the complexity alpha(k)

Cycle the penalty's complexity measure alpha(k) through df, df^2, k and k^2, the paper's grid: consistency is robust to the choice, but it rescales how hard extra components are penalized.

Resample the data

Draw fresh datasets from the same true mixture and watch the fitted log-likelihoods and selected orders wobble around the truth.

The idea in three steps

Choosing a mixture order is a bias-variance tradeoff dressed as a penalized likelihood. The trick of this paper is that the BIC penalty can be nudged by an immaterial logarithmic factor to make the argument go through under far weaker regularity.

1 · Fit

Log-likelihood per order

For every candidate order k, maximize the mixture likelihood by EM. More components can only fit the sample better, so the maximized log-likelihood keeps rising with k: fit alone would always pick the biggest model.

2 · Penalize

A penalty on complexity

Every criterion has the form −2Lₖ + cₙα(k). AIC takes cₙ = 2 and under-penalizes, so it over-selects. BIC takes cₙ = log n, heavy enough to be consistent but only under strong smoothness and moment conditions (Keribin, 2000).

3 · Modify

Consistency for free

Multiply the BIC constant by Ln∘ν(n) or replace log n by (log n)1+ε. The factor is negligible in practice, yet it delivers order-selection consistency without differentiability and with only mild moments, covering the heavy-tailed t and non-differentiable Laplace families simulated here.

For the ν-BIC and ε-BIC penalties, the consistency theorems, the misspecification (KL-optimal order) result, and the limits on minimal penalties and minimax Hellinger risk, see Modifications of the BIC for order selection in finite mixture models (H. D. Nguyen & TrungTin Nguyen, Annals of the Institute of Statistical Mathematics, to appear).