Sequential CART Synthesis

Description

Sequential CART synthesis creates an artificial copy of a confidential microdata set (records about individual people or organisations) that can be released in place of the real data, in the form used by the synthpop package for R. Variables are synthesised one at a time in a chosen order: the first is generated by sampling with replacement from its observed values, and for each later variable a classification or regression tree (CART) is fitted on the real data to predict it from the variables earlier in the order. Each synthetic record is passed down that tree using its already-synthesised values, and the new value is copied from a randomly chosen real record in the leaf it reaches, so the joint distribution of the data is rebuilt as a chain of conditional distributions. Disclosure risk is limited by setting a minimum leaf size, smoothing synthesised continuous values and removing synthetic records that reproduce unique real ones, and several synthetic copies can be released so that analysts can allow for the extra uncertainty that synthesis adds.

Example Use Cases

Privacy

A national longitudinal study that links census returns to administrative records such as births, deaths and cancer registrations for a sample of the population cannot let approved researchers take the data off site. Its support team runs CART synthesis to produce a bespoke synthetic extract for each project, so researchers can explore the data and write and test their analysis code at their own institution before the final model is run on the real data in the secure setting.

A hospital trust wants a university team to develop a readmission model without receiving patient records. It releases a CART-synthesised copy of the admissions table with a minimum leaf size of ten and kernel smoothing of continuous values, removes any synthetic record that matches a unique real patient on age, sex and postcode district, and runs a disclosure-risk assessment before release.

A national statistics office publishes a synthetic teaching file of its labour force survey for university courses, generated by sequential CART synthesis with the variable order and minimum leaf sizes chosen with subject experts, and labels every record as synthetic so that no reader mistakes a row for a real respondent.

Limitations

  • It gives no formal privacy guarantee. No synthetic record is a real person, but trees can reproduce rare combinations and extreme values, and an intruder who knows that a real record holds the largest value of a variable can bound it from the synthetic maximum. Risk must be measured for each release and reduced with larger leaves, smoothing and removal of unique matches, each of which costs analytical value.
  • Relationships the trees miss disappear from the synthetic data. A tree grown from few records may never split on a variable that matters, so the synthetic data show no association where the real data have one; in the method's original evaluation a regression coefficient for sex was attenuated to zero in this way. Small subgroups and weak effects are the most exposed.
  • Results depend on the order in which variables are synthesised and on which earlier variables predict each later one. A careless order can produce impossible combinations, such as a detailed category that contradicts the summary variable derived from it, so detailed variables should be synthesised before derived ones and the output checked for inconsistencies.
  • Synthetic data cannot reproduce every analysis of the real data. Analyses the synthesiser did not plan for may give different answers, so a release should state which analyses it supports, and users should confirm key findings on the real data, for example through a verification service or secure access.

Resources

Research Papers

synthpop: Bespoke Creation of Synthetic Data in R
Beata Nowok, Gillian M. Raab, and Chris Dibben•Oct 28, 2016

In many contexts, confidentiality constraints severely restrict access to unique and valuable microdata. Synthetic data which mimic the original observed data and preserve the relationships between variables but do not contain any disclosive records are one possible solution to this problem. The synthpop package for R, introduced in this paper, provides routines to generate synthetic versions of original data sets. We describe the methodology and its consequences for the data characteristics. We illustrate the package features using a survey data example.

Using CART to Generate Partially Synthetic Public Use Microdata
J. P. Reiter•Jan 1, 2005

To limit disclosure risks, one approach is to release partially synthetic public use microdata sets. These comprise the units originally surveyed, but some collected values, for example sensitive values at high risk of disclosure or values of key identifiers, are replaced with multiple imputations. This article presents and evaluates the use of classification and regression trees to generate partially synthetic data. Two potential applications of CART are studied via simulation: (i) generate synthetic data for sensitive variables; and, (ii) generate synthetic data for variables that are key identifiers.

Software Packages

synthpop: Generating Synthetic Versions of Sensitive Microdata for Statistical Disclosure Control
Jul 12, 2025

A tool for producing synthetic versions of microdata containing confidential information so that they are safe to be released to users for exploratory analysis. The key objective of generating synthetic data is to replace sensitive original values with synthetic ones causing minimal distortion of the statistical information contained in the data set. Variables, which can be categorical or continuous, are synthesised one-by-one using sequential modelling. Replacements are generated by drawing from conditional distributions fitted to the original data using parametric or classification and regression trees models. Data are synthesised via the function syn() which can be largely automated, if default settings are used, or with methods defined by the user. Optional parameters can be used to influence the disclosure risk and the analytical quality of the synthesised data. For a description of the implemented method see Nowok, Raab and Dibben (2016) <doi:10.18637/jss.v074.i11>. Functions to assess identity and attribute disclosure for the original and for the synthetic data are included in the package, and their use is illustrated in a vignette on disclosure (Practical Privacy Metrics for Synthetic Data).

Tutorials

Get started — synthpop

Get started with synthpop, run your first synthesis or explore synthpop with Shinny app.

Documentations

synthpop: Generating synthetic versions of sensitive microdata for statistical disclosure control

What is synthpop? An R package for generating synthetic versions of sensitive microdata. A tool to create synthetic data and evaluate their utility.

Tags

Privacy Dimensions

Exposure Reduction:

Other Categories

Applicable Models:
Data Requirements:
Data Type:
Evidence Type:
Technique Type: