Missingness mechanism benchmark: MCAR vs MAR vs MNAR

Tree: ape::rtree(300) · Traits: mixed-type per scenario · Mechanisms: MCAR · MAR (trait) · MAR (phylo) · MNAR · Methods: mean / mode · phylo baseline · pigauto · Replicates: 5 · Missingness: 25% · Commit d2663bdb21 · Run on 2026-05-11 10:54 · Total wall: 20.7 min

Bottom line. MNAR increases baseline RMSE by +7.4% relative to MCAR (0.594 vs 0.553). Non-random missingness violates the assumptions underlying phylogenetic imputation, but the phylogenetic signal still provides useful information.

Discrete accuracy under MCAR: baseline 72.3%, pigauto 73.8%. Under MNAR: baseline 75.6%, pigauto 75.6%. In this run the discrete rows mostly show pigauto matching the phylogenetic baseline rather than adding a separate advantage.

Primary sweep: metrics by missingness mechanism (25% missingness)

Average across traits and 5 replicates. Continuous traits report RMSE; discrete traits report accuracy. ★ marks the best method per scenario and metric.

MechanismMetricMean / modePhylo baselinepigauto
MCARAvg RMSE (continuous)1.0020.553 0.556
Avg accuracy (discrete)0.4760.7230.738
MAR (trait-driven)Avg RMSE (continuous)1.0380.5960.593
Avg accuracy (discrete)0.5540.764 0.752
MAR (phylo-clade)Avg RMSE (continuous)1.0390.588 0.594
Avg accuracy (discrete)0.5570.753 0.714
MNARAvg RMSE (continuous)1.0510.594 0.595
Avg accuracy (discrete)0.5080.756 0.756
RMSE by missingness mechanism (continuous traits) 0.00 0.30 0.60 0.91 1.21 Avg RMSE (continuous) 1.002 0.553 0.556 MCAR 1.038 0.596 0.593 MAR (trait-driven) 1.039 0.588 0.594 MAR (phylo-clade) 1.051 0.594 0.595 MNAR Missingness mechanism Mean / mode Phylo baseline pigauto
Accuracy by missingness mechanism (discrete traits) 0.38 0.49 0.60 0.70 0.81 Avg accuracy (discrete) 0.476 0.723 0.738 MCAR 0.554 0.764 0.752 MAR (trait-driven) 0.557 0.753 0.714 MAR (phylo-clade) 0.508 0.756 0.756 MNAR Missingness mechanism Mean / mode Phylo baseline pigauto

Secondary sweep: MAR severity

Continuous-trait RMSE as the MAR dependency strength (β) increases. Higher β means the probability of missingness depends more strongly on an observed covariate.

RMSE by MAR severity 0.00 0.29 0.59 0.88 1.17 Avg RMSE (continuous) 0.993 0.606 0.591 β = 0.5 1.016 0.593 0.599 β = 1.0 1.018 0.601 0.630 β = 2.0 1.019 0.634 0.625 β = 4.0 MAR severity Mean / mode Phylo baseline pigauto

What the benchmark shows

Reproducibility

Driver: script/bench_missingness_mechanism.R. Tree: ape::rtree(300). Training: 500 epochs with early stopping. To reproduce: Rscript script/bench_missingness_mechanism.R, then Rscript script/make_bench_missingness_mechanism_html.R.