Zero-inflated count benchmark: zero fraction sweep

Tree: ape::rtree(300) · Traits: 3 zero-inflated count per scenario · Zero fraction: 0.2 – 0.8 · Methods: mean · LP + BM baseline · pigauto · Replicates: 5 · Missingness: 25% MCAR · Commit 888d02052f · Run on 2026-04-17 10:47 · Total wall: 28.5 min

Bottom line. At 20% zero inflation, the baseline achieves RMSE 37.518 and pigauto achieves 38.849. With few structural zeros the count component dominates and BM on the log1p-z scale performs well.

At 80% zero inflation, RMSE rises to 36.149 (baseline) vs 36.206 (pigauto), and zero-class accuracy is 55.9% vs 55.9%. Heavy zero inflation creates a two-component mixture that challenges all methods, but the GNN can learn the zero/non-zero boundary from cross-trait patterns.

Primary sweep: performance by zero fraction (25% missingness)

Average across 3 traits and 5 replicates. ★ marks the best method per scenario.

Zero fractionRMSE (lower is better)Zero accuracy (higher is better)
MeanBaselinepigautoMeanBaselinepigauto
20% zeros58.05937.518 38.8491.000 0.9350.938
40% zeros34.49425.63525.245 1.000 0.8310.831
60% zeros57.59544.103 44.3371.000 0.8080.805
80% zeros41.88636.149 36.2061.000 0.5590.559
RMSE by zero fraction 0.00 16.69 33.38 50.08 66.77 RMSE 58.059 37.518 38.849 20% zeros 34.494 25.635 25.245 40% zeros 57.595 44.103 44.337 60% zeros 41.886 36.149 36.206 80% zeros Zero fraction Mean imputation LP + BM baseline pigauto (LP + BM + GNN)
Zero-class accuracy by zero fraction 0.46 0.59 0.73 0.86 1.00 Zero accuracy 1.000 0.935 0.938 20% zeros 1.000 0.831 0.831 40% zeros 1.000 0.808 0.805 60% zeros 1.000 0.559 0.559 80% zeros Zero fraction Mean imputation LP + BM baseline pigauto (LP + BM + GNN)

Secondary sweep: non-zero mean (zero frac = 0.5)

How the mean of non-zero counts affects imputation quality at fixed 50% zero inflation.

RMSE by non-zero mean (zero frac = 0.5) 0.00 137.63 275.26 412.90 550.53 RMSE 17.347 10.383 9.966 μ(nz) = 5 32.567 23.536 23.315 μ(nz) = 20 478.719 255.224 249.077 μ(nz) = 100 Mean of non-zero counts Mean imputation LP + BM baseline pigauto (LP + BM + GNN)

What the benchmark shows

Reproducibility

Driver: script/bench_zi_count.R. Tree: ape::rtree(300). Traits: simulate_zi_count_traits(). Training: 500 epochs with early stopping. To reproduce: Rscript script/bench_zi_count.R, then Rscript script/make_bench_zi_count_html.R.