Source-linked AI summary
Synthcity: facilitating innovative use cases of synthetic data in different data modalities
Zhaozhi Qian, Bogdan-Constantin Cebere, Mihaela van der Schaar
TL;DR
Limited access to high-quality data and the diversity of modalities and use cases complicate synthetic-data practice, while model suitability varies by context. Synthcity brings generation, fairness, privacy, augmentation, evaluation, and workflow utilities into an open-source platform, with this version focused on tabular data.
Problem
Synthetic-data practice must address diverse modalities and use cases, while no model consistently performs best across them and existing repositories can be difficult to extend, reuse, or combine.
Source: §2 · pp. 2–3Method
Synthcity is an open-source platform for synthetic-data generation, fairness, privacy, and augmentation across diverse modalities.
Source: §3 · p. 3Results
Synthcity covers the major synthetic-data use cases and provides evaluation metrics and utilities including automatic benchmarking of multiple generators.
Source: §3 · p. 3Takeaways & Limitations
Automatic benchmarking offers a built-in way to compare generators within a library spanning multiple synthetic-data use cases.
Source: §3 · p. 3This version focuses on tabular data, and native training and generation for data with missingness are not supported.
Source: §3 · p. 3, §3.2.4 · p. 5
Abstract
from arXiv · showhide
Synthcity is an open-source software package for innovative use cases of synthetic data in ML fairness, privacy and augmentation across diverse tabular data modalities, including static data, regular and irregular time series, data with censoring, multi-source data, composite data, and more. Synthcity provides the practitioners with a single access point to cutting edge research and tools in synthetic data. It also offers the community a playground for rapid experimentation and prototyping, a one-stop-shop for SOTA benchmarks, and an opportunity for extending research impact. The library can be accessed on GitHub (https://github.com/vanderschaarlab/synthcity) and pip (https://pypi.org/project/synthcity/). We warmly invite the community to join the development effort by providing feedback, reporting bugs, and contributing code.
1 Synthetic data technology promises to empower AI
High-quality data can be unavailable, inaccessible, or unsuitable because of scarcity, privacy, and bias. Synthetic data is presented as a way to use information in small, sensitive, or biased datasets for AI development.
1 Synthetic data technology promises to empower AI
- Data scarcity, privacy, and bias can leave datasets unavailable, inaccessible, or unsuitable for performant and socially responsible AI.The passage cites these as prominent contributors to the challenge of accessing high-quality data.Source: §1 · p. 1
- Synthetic data generators can target high fidelity while satisfying constraints such as differential privacy, counterfactual fairness, and causal invariances.The passage contrasts these generators with traditional models whose sole objective is to learn the input-data distribution.Source: §1 · p. 1
- Figure 1 maps diverse data modalities and use cases to deep-learning and traditional data-generation algorithms.Source: Figure 1 · p. 2
2 The software challenge for synthetic data
Synthetic-data software faces diverse modalities and use cases, while model suitability depends on context. The section argues for a broad, modular, reusable, and composable platform to address those challenges.
2 The software challenge for synthetic data
- Synthetic-data research has advanced, but practical application remains in its infancy amid software-development challenges.Source: §2 · p. 2
- A single generator or generator class cannot be expected to cover the many combinations of data modalities and use cases.Modalities include static, temporal, missingness- or censoring-affected, and multi-source data; use cases include fairness, privacy, and augmentation.Source: §2 · p. 2
- No model consistently performs best across all modalities and use cases, so practitioners need a broad arsenal of methods.The passage contrasts deep generative models’ strength on large image datasets with their possible shortcomings on small tabular data if not carefully trained and regularized.Source: §2 · p. 2
- Individual repositories often implement only a few methods and are not modular, reusable, or interoperable, hindering experimentation and comparison.Collecting repositories into a master repository does not, by itself, address interoperability.Source: §2 · p. 3
- The proposed need is for a platform implementing many state-of-the-art generators modularly, reuseably, and compositionally.Source: §2 · p. 3
3 The synthcity library
Synthcity is an open-source platform for synthetic-data use cases across modalities, with generators, evaluation metrics, and workflow utilities. This version focuses on tabular data, including several temporal, survival, and composite forms.
3 The synthcity library
- Synthcity is an open-source platform for synthetic-data use cases in fairness, privacy, and augmentation across diverse modalities.Source: §3 · p. 3
- The library covers generation, fairness, privacy, and augmentation, and provides evaluation metrics and utilities such as automatic benchmarking.Source: §3 · p. 3
- This version focuses on tabular data, including static, time-series, censored-survival, and composite datasets; additional modalities are planned.The text describes tabular data as potentially mixing continuous and discrete features and says the project is under continuous development.Source: §3 · p. 3
3.1 Overview of the synthcity workflow
Synthcity structures synthetic-data work as a workflow from loading data through generator training and synthesis to evaluation. Its Benchmark class wraps the steps to compare generators.
3.1 Overview of the synthcity workflow
- The workflow begins by loading datasets through a DataLoader that provides a consistent interface for different input types.Users may provide metadata, such as sensitive columns for privacy-preserving algorithms.Source: §3.1 · p. 3
- Users instantiate, train, and apply generation algorithms through Plugins, with fit() training the selected generator.Source: §3.1 · p. 3
- Figure 2 presents synthcity’s standard workflow for generating and evaluating synthetic data.Source: Figure 2 · p. 4
- After training, a Plugin generates synthetic data, and some Plugins support conditional generation.Source: §3.1 · p. 4
- The Metrics class evaluates synthetic-data fidelity, utility, and privacy.Source: §3.1 · p. 4
- The Benchmark class wraps the workflow to compare and evaluate generators.Source: §3.1 · p. 4
3.2 Data modalities
Synthcity characterizes data modalities by observation pattern and feature type, and supports single-dataset, composite, and metadata-guided workflows. At this version, data with missingness must be imputed before use.
3.2.1 Single dataset
- Synthcity supports static, regular, and irregular observation patterns, with regular series sampled at regular intervals and irregular series at varying times.Different series may have different numbers of observations.Source: §3.2.1 · p. 4, Table 1 · p. 5
- Supported single-dataset feature types include continuous, categorical, integer, and censored survival features, with multivariate mixtures of feature types.Censored features pair survival time with a censoring indicator.Source: §3.2.1 · pp. 4–5, Table 1 · p. 5
3.2.2 Composite dataset
- Composite datasets may combine sources or domains, or static data with time series; synthcity supports multiple static datasets and static data paired with regular or irregular time series.A patient record combining demographics and longitudinal follow-up is one example of composite data.Source: §3.2.2 · p. 5
3.2.3 Metadata
- Metadata can guide generation and evaluation, including indicators for sensitive features, downstream prediction outcomes, and domain data types or allowed value ranges.Source: §3.2.3 · p. 5
3.2.4 Missing data
- Synthcity does not natively train or generate data with missingness; users must first impute missing data with another tool, with native support planned for a future version.Source: §3.2.4 · p. 5
3.3 Use cases and algorithms
Synthcity organizes synthetic-data generation around standard generation, fairness, privacy, and cross-domain augmentation across data modalities. Its plugins, compatible architectures, and supported use cases are catalogued in Tables 2 and 3.
3.3 Use cases and algorithms
- Synthcity's plugin and architecture catalogues cover different data modalities and use cases, with compatible network architectures and survival models available across multiple algorithms.Some plugins have additional use cases beyond standard generation.Source: Table 2 · p. 6, Table 3 · p. 6, §3.3.1 · p. 7
3.3.1 Standard data generation
- Standard generation trains a generator to approximate the real-data distribution by minimizing a distributional distance, such as Wasserstein distance or KL-divergence.The input may be static, temporal, or censored; users can configure compatible network architectures for the problem.Source: §3.3.1 · p. 7
3.3.2 Synthetic data for ML fairness
- Fairness use cases include augmenting underrepresented groups by learning P(X|G), or generating data intended to remove biases while retaining fidelity to the real distribution.The latter approach typically employs notions of causality and can align with several algorithmic fairness criteria.Source: §3.3.2 · p. 7
3.3.3 Synthetic data for privacy
- Privacy plugins use differential privacy, which adds noise during training, or defend against specified threat models that can be evaluated with simulated attacks.DP is a property of the generator and is difficult to verify empirically without its exact training procedure; threat-model defenses remain exposed to unconsidered or unknown attacks.Source: §3.3.3 · pp. 7–8
3.3.4 Cross domain augmentation
- Cross-domain augmentation transfers knowledge through domain-specific and domain-agnostic representations to augment a data-scarce source using related domains.Synthcity supports this mode of cross-domain generation.Source: §3.3.4 · p. 8
3.4 Evaluation of synthetic data
Synthcity provides metrics for evaluating synthetic data quality before release or downstream use, and for selecting and comparing generative models. Its evaluation covers fidelity, utility, and privacy.
- Synthetic data should be evaluated before release or downstream use, and evaluation also supports selecting and comparing generative models.Synthcity provides a comprehensive list of metrics for these purposes.Source: §3.4 · p. 8
- Fidelity metrics assess how closely synthetic data resembles real data, using distributional divergences or classifiers that distinguish real from synthetic samples.Supported measures include Jensen-Shannon distance, Wasserstein distance, maximal mean discrepancy, and two-sample detection scores.Source: §3.4 · p. 8
- Utility measures usefulness for downstream tasks through train-on-synthetic, evaluate-on-real assessment, including regression, classification, and survival analysis.Supported downstream models include linear models, XGBoost, and neural networks.Source: §3.4 · p. 8
- Privacy evaluation includes established metrics such as k-anonymity and l-diversity, as well as simulated attacks whose success or failure quantifies privacy preservation.Source: §3.4 · p. 8
4 Comparison with existing libraries
The comparison reports that Synthcity supports broader data modalities and use cases than alternative open-source synthetic-data libraries, with further comparisons of generators and evaluation metrics.
- Synthcity supports much broader data modalities and use cases than alternative open-source synthetic-data libraries.Table 4 compares the libraries' supported modalities and use cases; the comparison reflects software versions available at the time of writing.Source: §4 · pp. 8–9, Table 4 · p. 9
- Table 4's stated comparison scope is data modalities and use cases across Synthcity and other open-source libraries.The table comparison is based on software versions available at the time of writing.Source: Table 4 · p. 9
- The paper also directs readers to Tables 2 and 5 for detailed comparisons of supported data generators and evaluation metrics.Source: §4 · p. 9
5 Example usage scenarios
The paper presents illustrative Synthcity use cases in medical prognostic modeling, digital marketing, and outsourced analytics, while noting that the examples are not comprehensive.
5 Example usage scenarios
- The scenarios are illustrative rather than comprehensive, and readers are invited to propose additional usage scenarios.Source: §5 · p. 9
5.1 De-biasing medical datasets to build better and fairer prognostic scores
- For medical prognostic scores, synthetic minority-group data can augment under-represented populations in EHRs or biobanks, with Synthcity supplying generators and evaluation tools.The scenario addresses the risk that naively trained scores may lead to undesirable and unfair decisions.Source: §5.1 · p. 9
5.2 Using synthetic multi-source data to select the target audience of marketing campaigns
- For digital marketing, cross-domain synthetic data can augment scarce customer-segment data and be combined with real data to inform campaign setup.The motivating example is a segment such as VIP users with insufficient historical data.Source: §5.2 · pp. 9–10
5.3 Outsourcing analytics to contractors or the open science community
- For outsourced analytics, a data holder can share synthetic data after fidelity and privacy evaluation, then receive models for evaluation and deployment on real data.Source: §5.3 · p. 10
6 Further involvement in the synthcity project
The project invites practitioners, researchers, and the open-source community to engage with Synthcity through tutorials, labs, feedback, and contributions.
- Synthcity invites practitioners, researchers, and the open-source community to engage with the project.Source: §6 · p. 10
- The team plans tutorials and labs to demonstrate Synthcity's practical utility.Readers can sign up for the mailing list for event and release updates.Source: §6 · p. 10
- The project seeks comments and feedback as part of a collaborative effort to improve software for synthetic data.Source: §6 · p. 11