You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stage 1 scale-up results: small-benchmark ordering inverts at real scale
Ran ZI-QRF, ZI-MAF, ZI-QDNN on 40,000 rows x 50 columns of real
enhanced_cps_2024 and compared against the existing 10k x 7 synthetic
benchmark_multi_seed result.
Small (10k x 7 synthetic CPS) Stage 1 (40k x 50 real ECPS)
ZI-MAF 0.499 (winner) ZI-MAF 0.054 (near-collapsed)
ZI-QDNN 0.406 ZI-QDNN 0.306 (mid-pack)
ZI-QRF 0.347 ZI-QRF 0.465 (winner)
Rare-cell preservation:
ZI-QRF: modest over-sampling (2-4x), disabled_ssdi -> 0.0
ZI-MAF: elderly_self_employed -> 103x (zero-inflation classifier
miscalibrated on real data), disabled_ssdi -> 0.0
ZI-QDNN: elderly_self_employed -> 116x, disabled_ssdi -> 0.0
RSS cost:
ZI-QRF 3.5 GB (production-workable on a 48 GB machine)
ZI-MAF 23.5 GB (marginal)
ZI-QDNN 32.5 GB (marginal; 1.6 TB naive extrapolation at 3.4M rows)
Harness fix: cast loaded DataFrame to float32. Column dtype mix (bool /
int32 / float32) previously caused torch-based methods to fail with
"can't convert np.ndarray of type numpy.object_".
Implications:
- Revises the G1 cross-section synthesizer default: ZI-QRF, not ZI-MAF
(the small-benchmark winner).
- SS-model methodology doc's "production direction: ZI-QDNN" claim does
not survive this stage. Needs revision.
- ZI-MAF + ZI-QDNN might recover with hyperparameter tuning, but at the
default settings in the benchmark classes they are not competitive.
Not resolved:
- 61k rows OOM-kills ZI-QRF (SIGKILL, no output). Scaling is clean to
40k. Cause likely loky worker accumulation across 36 target columns.
- PRDC in 50D may be degenerate — the scale-up doc flagged this as a
risk. Needs embedding-based PRDC to confirm or deny the ordering.
uv.lock regenerated after the earlier Python >= 3.13 bump.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@@ -39,38 +39,133 @@ Pattern: ZI-QRF *over-samples* rare non-zero cells (elderly SE, young dividend,
39
39
40
40
0.180 — mean absolute error in per-column zero-rate between real and synthetic is ~18 percentage points. That's substantial. Most likely driven by target columns where the zero-inflation classifier diverges from real; worth breaking down per column at stage 1.
0 commit comments