FixedIncrements

Compatibility: A single, numerical column

The FixedIncrements constraint enforces that all the values in a column are increments of a particular, fixed value. That is, all the data must be divisible by the value.

Parameters

(required) column_name: The name of the column that must follow the constraint

(required) increment: The size of the increment. This must be a positive integer

Example

Define your constraint using the parameters and then add it to a synthesizer.

my_constraint = {
    'constraint_class': 'FixedIncrements',
    'table_name': 'employees', # for multi table synthesizers
    'constraint_parameters': {
        'column_name': 'salary',
        'increment': 1000
    }
}

my_synthesizer.add_constraints(constraints=[
    my_constraint
])

FAQs

What happens to missing values?

This constraint ignores missing values in the dataset. The constraint is valid as long as the numerical values (non-missing values) are increments of the provided integer value.

What if I want to specify a smaller increment 1 for rounding decimal digits?

The increments in this constraint must be integers greater than 1.

The SDV already learns the number of digits in your real data and matches them to your synthetic data. For example, if you have a column that represents US dollar amounts, then the real data will only contain values with 2 decimal digits. The SDV will learn this and ensure the synthetic data also has 2 decimal digits. No constraints are needed in this case.

Last updated

Copyright (c) 2023, DataCebo, Inc.