GAN-Based Tabular Synthetic Data
Description
GAN-based tabular synthetic data generation trains a generative model on a real table, then samples new rows from it to produce a synthetic table that can be shared or used in place of the original. In CTGAN (Conditional Tabular GAN), a generator network learns to produce rows and a discriminator network learns to tell them from real ones. CTGAN suits tables through mode-specific normalisation, which treats each numeric column as a mixture of clusters, and through training-by-sampling, which shows rare categories to the model often enough for it to learn them. TVAE is a related model built on a variational autoencoder, another kind of generative network, rather than a GAN. The synthetic table aims to preserve the original's column distributions and correlations, and its rows are generated rather than copied, but this is not a privacy guarantee, because a generator can memorise and reproduce training rows.
Example Use Cases
Privacy
Generating synthetic patient records from hospital databases using CTGAN to enable multi-institution collaborative research on treatment outcomes without sharing identifiable health data across organisational boundaries.
A bank's analytics team generates a synthetic copy of its customer transactions with CTGAN and gives it to an external vendor building a spending-insights dashboard. Before release, the team checks the table for rows that closely match real customers and decides whether it is safe to hand over.
A government statistics office produces a CTGAN synthetic version of a restricted household survey so researchers can develop and test analysis code before applying for access to the real data. The office uses it to decide what can be released openly and what stays in a secure facility.
Limitations
- Training instability inherent to GAN architectures (mode collapse, vanishing gradients) can result in synthetic data that fails to capture the full diversity of the original distribution, particularly for rare categories or tail distributions.
- There is no reliable rule for setting CTGAN's hyperparameters, such as epochs, batch size and learning rates, so users must experiment and watch whether the generator and discriminator losses converge. Training time grows with the number of epochs and can be shortened with a GPU.
- Privacy guarantees are not inherent. Without additional mechanisms such as differential privacy, GAN-generated data may leak information about training records through memorisation or membership inference attacks.
- CTGAN samples each row independently from fully connected networks, so it does not preserve row order, time dependencies or links between tables, and columns with many categories are harder to learn because each value is one-hot encoded.
- The synthetic table can only reproduce what the training table contains: biases, gaps and thinly covered subgroups carry over or are lost, and models trained on synthetic rows are normally no better than models trained on the real table they imitate. Fidelity has to be tested separately against real data before the table is used.
Resources
Research Papers
Modeling Tabular data using Conditional GAN
Modeling the probability distribution of rows in tabular data and generating realistic synthetic data is a non-trivial task. Tabular data usually contains a mix of discrete and continuous columns. Continuous columns may have multiple modes whereas discrete columns are sometimes imbalanced making the modeling difficult. Existing statistical and deep neural network models fail to properly model this type of data. We design TGAN, which uses a conditional generative adversarial network to address these challenges. To aid in a fair and thorough comparison, we design a benchmark with 7 simulated and 8 real datasets and several Bayesian network baselines. TGAN outperforms Bayesian methods on most of the real datasets whereas other deep learning methods could not.