Logo Lanfrica

Joysilas389/ntd-synthgen

Domain:

healthcare

Record type:

software
Creator:
Joy
Host:
Synthetic data generation for Neglected Tropical Diseases in Sub-Saharan Africa. Built for the case where real surveillance data is locked behind privacy law or never digitised. # NTD-SynthGen **A modular synthetic data generation engine for Neglected Tropical Diseases (NTDs) in Sub-Saharan Africa.** NTD-SynthGen generates synthetic tabular datasets for three NTD families: water-borne, vector-borne, and skin. Four interchangeable backends (Gaussian Copula, Bayesian Network, CTGAN, TVAE) sit behind a single `BaseSynthesizer` interface. The benchmark suite that ships with the project tells you which backend to use for your data and your deployment target. It is built for the case that comes up over and over in African NTD research: you cannot get patient-level surveillance data because it is restricted, locked behind data-sharing agreements that take months to negotiate, or simply never digitised. Synthetic data is a workaround; this is a tool that makes that workaround usable in low-resource settings. --- ## Which backend should you use? We benchmarked all four backends on three NTD modules across three seeds (36 trials, 600 rows each). On NTD-scale tabular data the picture looks like this: | Backend | TSTR R² ratio | TSTR macro-F1 ratio | Wasserstein-1 | Fit time | |-----------------|------------------|---------------------|---------------|----------| | Gaussian Copula | **0.92 – 1.05** | **1.00 – 1.05** | **1.7 – 5.4** | 0.004 s | | Bayesian Net | -0.19 – 0.17 | 0.60 – 0.75 | 2.6 – 16.2 | 0.34 s | | CTGAN | -1.77 – -0.64 | 0.55 – 0.59 | 6.1 – 18.8 | 4.36 s | | TVAE | -0.51 – 0.15 | 0.54 – 0.74 | 5.9 – 23.1 | 1.50 s | The headline: on data of this size (hundreds to a few thousand rows, 6 to 10 columns), the deep neural backends underperform the Gaussian Copula on every metric, while costing 1000× more compute and forcing an 800 MB PyTorch dependency. CTGAN's TSTR R² is *negative*. A regressor trained on its synthetic output predicts disease cases worse than predicting the mean. So the Gaussian Copula is the default. The other backends are stil …