Sdtypes
Let SDV know what type of data you have in each column of your table. In the SDV, the data types are specified by sdtype, denoting a semantic or statistical meaning. SDV is designed to create synthetic data differently based on each sdtype.
An sdtype is a high level concept that tells SDV what your data means. An sdtype does not depend on how a computer stores the data. A single sdtype (such as "categorical"
) can be stored by a computer in several ways (string, integer, etc).
Common Sdtypes
Below are 5 common sdtypes that describe columns in a dataset.
Boolean
A boolean
columns contains TRUE
or FALSE
values and may contain some missing data.
Synthetic data goal: Your synthetic data will have the same proportion of True/False/missing values as the real data.
Categorical
Sdtype categorical
describes columns that contain distinct categories. The defining aspect of a categorical column is that only the values that appear in the real data are valid.
The categories may be ordered or unordered.
An example of categorical data is tax payer status such as Single
, Married filing jointly
, Widowed
, etc. Only these distinct categories are allowed.
Synthetic data goal: Your synthetic data will contain the exact same category values as the real data, in similar proportions.
If you want the synthetic data to include new values that were not in the original data, then the column is not categorical. See other sdtypes below.
Datetime
Sdtype datetime
describes columns that indicate a point of time. This can be at any granularity: to the nearest day, minute, second or even nanosecond. Typically, the datetime will be represented as a string.
Properties
(required)
datetime_format
: A string describing the format as defined by Python's strftime module.
Synthetic data goal: Your synthetic data will contain datetime values that are within the same overall range and distribution shape as the real data. The values will also conform to the datetime format.
Numerical
Sdtype numerical
describes data with numbers. The defining aspect of numerical data is that there is an order and you can apply a variety of mathematical computations to the values (average, sum, etc.) The actual values may follow a specific format, such as being rounded to 2 decimal digits and remaining between min/max bounds.
Some data may appear numerical but actually represents distinct categories. For example, HTTP response codes such as 200
, 404
, etc. are categorical data. These numbers don't have a specific order, and they cannot be combined or averaged.
Properties
computer_representation
: A string that represents how you'll ultimately store the data. This determines the min and max values allowed Available options are:'Float'
,'Int8'
,'Int16'
,'Int32'
,'Int64'
,'UInt8'
,'UInt16'
,'UInt32'
,'UInt64'
Synthetic data goal: Your synthetic data will contain numerical values that are within the same overall range and distribution shape as the real data. They will also be rounded to the same precision as your real data.
ID
Sdtype id
describes columns that are used to identify rows (eg. as a primary or foreign key). ID columns do not have any other mathematical or special meanings. Typically, an ID column follows a particular structure, for example being exactly 8 digits long with a -
in the middle.
Properties
regex_format
: A string describing the format of the ID as a regular expression
Synthetic data goal: Your synthetic data will contain brand new, randomly generated IDs based on the regex. If you have multiple tables, the primary and foreign key IDs will match up.
Additional Sdtypes: Domain-Specific Concepts & PII
You may find that some of the columns in your dataset represent high-level, concepts in your domain. Such data might also contain sensitive, Personal Identifiable Information (PII).
Properties
pii
: A boolean denoting whether the data is sensitive(default)
true
: The column is sensitive, meaning the values should be anonymized. If not provided, we assume that the column is PII.false
: The column is not sensitive, meaning the exact set of values can be reused in the synthetic data
Synthetic data goals: Your synthetic data will contain entirely new values that do not necessarily appear in the original data. If you are using SDV Enterprise, the synthetic data may conform to some generic properties that are non-identifiable (eg. an area code of a phone number).
Browse below for some common sdtypes related to different concepts.
These sdtypes describe the information about a person.
* Licensed, enterprise users will see higher quality data. The SDV will extract the deeper meaning and replicate it in the synthetic data. To learn more, visit our website.
FAQs
Last updated