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.