Software Demos · Interactive demo

Variable Selection with Missing-Not-at-Random Data

Joint variable selection and clustering when data are missing not at random; the MNAR-aware model recovers the variable roles that naive handlers distort. Use the buttons beside each control (or the Run the experiments launchers) to auto-play; everything runs client-side.

Variable Selection with Missing-Not-at-Random Data

Model-based clustering has to solve two problems at once: which variables matter for the clusters, and what to do about missing values when the missingness is informative. When a value is missing because of the cluster it belongs to (missing not at random), throwing the pattern away biases everything. This unified framework instead models the missingness, and recovers both the clusters and the relevant variables. Crank up the MNAR strength and watch the naive methods fail while the MNAR-aware one holds.

Missing dataModel-based clusteringVariable selectionMNAR
MNAR clustering & variable selection
two relevant variables · ticks in the pink strip = points with V1 missing (MNAR) · red rings = misclassified
ARI & variable roles (S / R / U)
raise the MNAR strength: naive methods drop, MNAR holds

Every variable has a hidden role, exactly the paper's SRUW structure: S = relevant variables that define the clusters (V1, V2); R = redundant variables that are a linear function of a relevant one (they correlate with the clusters, so a naive score would wrongly select them, but they add nothing new); U = uninformative independent noise. The method must recover these roles. Variable V1 is missing not at random: a point in the low-expression cluster is far more likely to have V1 missing (the MNAR strength slider is P(V1 missing) in that cluster), the transcriptomics pattern where lowly expressed genes fall below the detection limit. Complete-case drops those rows; mean-impute fills V1 with the column average (a missing-at-random assumption), which misclassifies the missing points (red rings) and breaks the link between the redundant variables and V1, so it mislabels a redundant variable as relevant. The MNAR (unified) method treats the missingness indicator as generated by the latent class (an MNARz mechanism) and clusters jointly, so a missing V1 becomes evidence for the cluster; imputing cluster-conditionally then restores the redundant variables' link to V1. The right panel shows the Adjusted Rand Index for all three methods and, following the two-stage rank-then-assign procedure, each variable's assigned role (bar colour) against its true role (dot; red when wrong). Raise the MNAR strength: mean-impute distorts both clustering and roles, while MNAR keeps the ARI high and recovers S / R / U, and reports the two missing rates. The full paper adds a data-driven penalty matrix for the ranking and proves asymptotic and selection consistency under missingness. (Illustrative in-browser version: a diagonal Gaussian mixture with a class-dependent (MNARz) missingness model, fit by a stochastic EM that also estimates a per-class logistic (GLM) for the missingness, then within-cluster regressions for the S / R / U roles. The reproduce code builds on the SelvarMix regularization approach (Celeux, Maugis-Rabusseau & Sedki), extended to MNAR, and also reports the imputation error (WNRMSE); the published framework is more general.)

Run the experiments

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

MNAR strength

Increase the missing-not-at-random rate; the naive handlers degrade while the MNAR-aware model holds its clustering (ARI) and variable roles.

Complete-case / impute / MNAR

Tour the three missing-data handlers and compare their variable-role recovery.

Redundant variables

Add redundant variables and watch which model still recovers their role.

Uninformative variables

Add noise variables that should be screened out.

Sample size N

More data sharpens both the clustering and the selection.

The idea in three steps

Missing data is usually treated as a nuisance to be patched over. When it is informative, patching over it throws away signal and biases the answer. This framework turns the missingness into part of the model.

1 · Select

Find the variables that matter

Penalized clustering with a data-driven penalty matrix separates the variables that define the subgroups from the irrelevant noise, more flexibly than a single global penalty.

2 · Model the gaps

Missingness as evidence

An MNARz mechanism links the probability of a value being missing to the latent cluster, so a missing entry informs the clustering instead of biasing it.

3 · Do both at once

A unified estimator

Selection and missingness are handled jointly in one stochastic EM, with proven asymptotic and selection consistency even when data are missing not at random.

For the model, the penalty construction, the consistency theory and the transcriptomic applications, see A Unified Framework for Variable Selection in Model-Based Clustering with Missing Not at Random (Ho, Nguyen Chi, Nguyen, Nguyen, Hoang & Drovandi, NeurIPS 2025).