Blog - K2view

What is Synthetic Data?

Written by Amitai Richman | February 16, 2023

Synthetic data is lifelike fake data used to secure personal privacy, test apps before they’re released, train ML models, and validate high-scale systems. 

Table of Contents

What is Synthetic Data? 
Why Synthetic Data? 
How is Synthetic Data Generated? 
Synthetic Data Use Cases 
Synthetic Data Challenges
Synthetic Data Based on Business Entities  

What is Synthetic Data? 

Synthetic data is essentially fake data that’s created for a good reason, like protecting personal information, or adhering to data privacy regulations.   

Synthetic data generation tools reproduce the actual structure, format and other mathematical or statistical characteristics of the real-life data it replaces. Synthetic data mimics production or operational data, or data with sensitive information like Personally Identifiable Information (PII), and is frequently used to test mathematical models, or train ML (Machine Learning) or AI (Artificial Intelligence) models. Synthetic data generation helps avoid the constraints associated with using personal or sensitive data.  

Why Synthetic Data? 

As data privacy and security regulations become more stringent, and budgets grow tighter, synthetic data is drawing a lot of attention. The reason? Developers need large, diverse and accurately labelled datasets when training ML and AI models. Yet gathering and labelling such a dataset (which may consist of hundreds of thousands, or even millions, of objects) can be: 

  • Time consuming and expensive, 

  • Technically impossible, or 

  • Non-compliant with data privacy laws. 

Synthetic data can dramatically lower these costs, and eliminate privacy and security concerns. No one cares if synthetic patient data is stolen or exposed. And, synthetic data can lower the bias sometimes found in real data. For example, it can enhance data diversity by including rare but realistic cases which may be tough to source in the real world. 

Synthetic data can literally be IT’s best friend. As long as it’s balanced, high quality, unbiased, and represents patterns accurately, synthetic data allows data teams to work: 

  • With higher quality data – Real world data is not only complex and pricey to collect, it also frequently contains errors, inaccuracies or bias that can skew test or training results. Although not immune to errors, synthetic data can enable more accurate predictions by automatically applying labels and completing missing values. 

  • At scale – Training or testing a predictive AI/ML model demands massive amounts of data. Aside from the expense mentioned above, a suitable dataset may simply not exist. A synthetic dataset can fill in the gaps to achieve both greater scale of input and broader scale of testing. 

  • More efficiently – It’s arguably far easier to generate and use synthetic data. Production data needs to be collected, unified from disparate formats, de-duped, and filtered for bugs. With synthetic data, inaccuracies, duplicates, and errors are greatly reduced – with uniformity all but guaranteed.  

How is Synthetic Data Generated? 

Market analyst firm Gartner delineates 4 ways synthetic data can be generated, in declining order of simplicity (the most complex, first):

  1. Agent-based modeling makes use of agents that imitate the actions and reactions of individuals or groups, and is particularly useful for use cases containing complex interdependencies, like stock market trading.

  2. A Generative Adversarial Network (GAN) is made up of a synthetic data generator, and a discriminator that attempts to discover flaws in both structured and unstructured data.

  3. Statistical model-based synthetic data simulates actual data by deciding which distributions to retain, and which to let go, to minimize bias.

  4. Rule-based / intelligent rule-based synthetic data generation relies on pre-defined business rules for data creation. For example, rules might include average, maximum, or minimum values for age range. The intelligent variation verifies relational integrity by examining the relationships between elements.

Which method is best for generating synthetic data? The answer depends on the use case at hand, the capabilities of the generator, data governance policies, and cost-benefit analysis. 

Synthetic Data Use Cases 

When synthetic data closely resembles real data, it can be ideal for a wide variety of use cases, including:

  • Testing applications prior to their release
    Synthetic test data provides the flexibility, scalability, and realism needed to test new software programs or updates when production data is insufficient or doesn’t exist. It can also be used to generate large volumes of data for performance and load testing.

  • Securing sensitive data
    Synthetic data protects personal information while enabling its use for testing or training.  It allows testing teams to validate applications at scale with large datasets, without compromising privacy or exposing the organization to legal risks.

  • Training ML models
    Synthetic data can either supplement or replace real data to train machine learning models. By sampling unusual patterns or events, synthetic data enables algorithms to train much more effectively.

  • Augmenting data
    When the amount of production data is inadequate, synthetic data can be used as “filler”.

  • Governing data
    Synthetic data can reduce bias from real-life data, and is especially useful for stress-testing models containing data points that are rarely seen in real life. In this way, it applies data governance tools to AI models by offering behavioral insights.

Synthetic Data Challenges

Synthetic data has its limitations. Any outstanding or unusual values can act as clues to an individual’s information. For example, if a production dataset includes net worth, a single person worth over $1 billion could easily be mapped to the parallel billionaire in a synthetic dataset. To avoid such situations, data scientists must change distributions, or add differential noise to the data. 

Synthetic Data Based on Business Entities  

The next generation of synthetic data creation solutions can synthesize data by business entity (customer, product, or even an invoice). Generating synthetic data in this manner ensures that data created is consistent and complete, even if it’s drawn from, and provisioned to, numerous disparate systems.

Entity-based synthetic data generation tools come equipped with a variety of data generation techniques (employed indivdually or together) to synthesize data.

  • Generative AI synthetic data models use machine learning to create rich, realistic tabular data.
  • Rule-based generation is based on the policies and statistical distributions applied to the model.
  • Data cloning is based on one entity (and all its data), but alters the identifying data in each clone.
  • Data masking anonymizes real-world data at the entity level, making the source entities look like realistic synthetic data

Only entity-based synthetic data generation tools integrate all these techniques.