Skip to main content

copula-tabular

Generate tabular synthetic data using Gaussian copulas

Overview

Advancements in synthetic data generation have made it a viable solution for applications in various fields, such as finance, biomedical research, and data science. Synthetic data is generated artificially, yet replicates the joint probability distribution of its real-world counterpart. Its ability to mimic the statistical behaviour of real data makes it a useful tool for testing algorithms, systems, and training machine learning models, and it can be used as an economical substitute for real data when it is not available, is too sensitive to release, or too costly to acquire. Copula-based data generation methods have been demonstrated to produce reliable and accurate tabular data when generating synthetic data.

In this package, we present a tool for generating multivariate synthetic data through the implementation of a Gaussian copula. This model incorporates conditional joint distributions into its framework, allowing for the splitting of single variables into multiple component marginal distributions. The conditional enhancements provides greater usability in the synthesis of complex, non-linear sample distributions, allowing for the replication of a wider range of datasets.

The tool is designed to work with a data dictionary, or a file describing the metadata of the input dataset. There are additional class-based implementations of data cleaning, visualisation tools, transformation tools, privacy leakage evaluation, and sample wrapper scripts for generating synthetic data from start to finish.

Example Result:

Figure showing correlation plots of a simulated multivariate dataset, containing non-trivial, non-linear and non-monotonic relationships. The left plot shows the original Pearson correlation between variables, while the middle and right plots show the correlation for synthetic data generated using standard copula and conditional copula respectively. Figure showing correlation plots of a simulated multivariate dataset, containing non-trivial, non-linear and non-monotonic relationships. The left plot shows the original Pearson correlation between variables, while the middle and right plots show the correlation for synthetic data generated using standard copula and conditional copula respectively.

Figure showing superimposed scatterplots of the same simulated multivariate dataset, containing non-trivial, non-linear and non-monotonic relationships. The training, synthetic (standard copula), synthetic (conditional copula) data points are in blue, grey, and red respectively. Figure showing superimposed scatterplots of the same simulated multivariate dataset, containing non-trivial, non-linear and non-monotonic relationships. The training, synthetic (standard copula), synthetic (conditional copula) data points are in blue, grey, and red respectively.

Documentation

For installation instructions, getting started guides and tutorials, background information, and API reference summaries, please see the website.

Contributing

Thank you for considering contributing to copula-tabular. Please follow this link for more details.

Development notes

Please visit the website for more details.

Copyright and license

Copyright 2023 BiomedDAR, BII, A*STAR. Licensed under MIT.

Metadata

Release files for bdarpack 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bdarpack 0.1.10
File Size Uploaded
bdarpack-0.1.10.tar.gz 78.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bdarpack 0.1.10
File Interpreter ABI Platform
bdarpack-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 160.6 kB

Release files / bdarpack-0.1.10.tar.gz

Download URL bdarpack-0.1.10.tar.gz
Size 78.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ac72001ec02674d4e0ba7389bcf57cfd2ebcba68491c16c70315583a92fc71d0
BLAKE2b-256 checksum
How to use checksums
2aa9d3c0c904dabe344f9e5f6086283e4028a7f4ad2f196bdb9b343cefc7bf8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / bdarpack-0.1.10-py3-none-any.whl

Download URL bdarpack-0.1.10-py3-none-any.whl
Size 82.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d1b9c31e48c0864680185345efaf2d1caf4390fa16946016ab8a0e965dfaa80
BLAKE2b-256 checksum
How to use checksums
9f668fd0413c2685f76c2b1bd510de3d433288475f0811b193bd0670a7df666d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page