K-Marginal Synopsys:
The k-marginal metric checks how far the shape of the deidentified data distribution has shifted away from the target data distribution. It does this using many 3-dimensional snapshots of the data, averaging the density differences across all snapshots. It was developed by Sergey Pogodin as an efficient scoring mechanism for the NIST Temporal Data Challenges, and can be applied to measure the distance between any two data distributions. A score of 0 means two distributions have zero overlap, while a score of 1000 means the two distributions match identically. More information can be found
here.
Sampling Error Comparison:
Here we provide a sampling error baseline: Taking a random subsample of the data also shifts the distribution by introducing sampling error. How does the shift from deidentifying data compare to the shift that would occur from subsampling the target data?
K-Marginal score of the deidentified data closely resembles K-Marginal score of a 40% sub-sample of the target data.
Sub-Sample Size
|
Sub-Sample K-Marginal Score
|
Deidentified Data K-marginal score
|
Absolute Diff. From Deidentified Data K-marginal Score
|
10% |
853 |
928 |
75 |
20% |
906 |
928 |
22 |
30% |
920 |
928 |
8 |
40% |
935 |
928 |
7 |
50% |
944 |
928 |
16 |
60% |
954 |
928 |
26 |
70% |
962 |
928 |
34 |
80% |
969 |
928 |
41 |
90% |
979 |
928 |
51 |
100% |
1000 |
928 |
72 |
K-Marginal Score in Each PUMA:
Different PUMA have different subpopulations and distributions; how much has each PUMA shifted during deidentification?
PUMA
|
Score
|
25-01000: Peabody City, Danvers, Reading, North Reading & Lynnfield Towns |
836 |
25-00503: Middlesex County--Waltham City, Lexington, Burlington, Bedford & Lincoln Towns |
846 |
25-01300: Billerica, Andover, Tewksbury & Wilmington Towns |
853 |
25-02800: Woburn, Melrose Cities, Saugus, Wakefield & Stoneham Towns |
854 |
25-00703: Essex County (East)--Salem, Beverly, Gloucester & Newburyport Cities |
879 |
Univariate Distributions:
Here we provide single feature distribution comparisons ordered to show worst performing features first (based on the L1 norm of density differences).
WGTP: Housing unit sampling weight:
PWGTP: Person's sampling weight:
PINCP_DECILE: Person's total income in 10-percentile bins:
EDU: Educational attainment:
INDP_CAT: Industry categories:
Feature Value: N (N/A)
Target Data Counts: 2703
Deidentified Data Counts: 2599
POVPIP: Income-to-poverty ratio (ex: 250 = 2.5 x poverty line):
Feature Value: 501 (Not in poverty: income above 5 x poverty line)
Target Data Counts: 4423
Deidentified Data Counts: 4527
Feature Value: 1
Target Data Counts: 6658
Deidentified Data Counts: 6896
DPHY: Ambulatory (walking) difficulty:
Feature Value: 2
Target Data Counts: 6829
Deidentified Data Counts: 6886
DREM: Cognitive difficulty:
Feature Value: 2
Target Data Counts: 6859
Deidentified Data Counts: 6857
OWN_RENT: Housing unit rented or owned:
Feature Value: 1
Target Data Counts: 5705
Deidentified Data Counts: 5731
HOUSING_TYPE: Housing unit or group quarters:
Feature Value: 1
Target Data Counts: 7161
Deidentified Data Counts: 7193
DEAR: Hearing difficulty:
Feature Value: 2
Target Data Counts: 7369
Deidentified Data Counts: 7340
Feature Value: 0
Target Data Counts: 7312
Deidentified Data Counts: 7324
Feature Value: 2
Target Data Counts: 7490
Deidentified Data Counts: 7509
DVET: Veteran service connected disability rating (percentage):
Feature Value: N (N/A)
Target Data Counts: 7551
Deidentified Data Counts: 7563
DENSITY: Population density among residents of each PUMA:
PUMA: Public use microdata area code:
Linear Regression:
Linear regression is a fundamental data analysis technique that condenses a multi-dimensional data distribution down to a one dimensional (line) representation. It works by finding the line that sits in the 'middle' of the data, in some sense--
it minimizes the total distance between the points of the data and the line. There are more advanced forms of regression, but here we're focusing on the simplest case-- we fit a simple straight line to the data, getting the slope and y-intercept value of that line.
For this metric we're just looking at data from adults (AGEP > 15) and we're only considering the distribution of the data across two features:
- EDU: The highest education level this individual has attained, ranging from 1 (elementary school) to 12 (PhD). See Appendix of this report for the full list of code values.
- PINCP_DECILE: The individual's income decile relative to their PUMA. This helps us account for differences in cost of living across the country. If an individual makes a moderate income but lives in a very low income area, they may have a high value for PINCP_DECILE indicating that they have a high income for their PUMA).
The basic idea is that higher values of EDU should lead to higher values of PINCP_DECILE, and this is broadly true. However, it is known that the relationship between EDU and PINCP_DECILE is different for different demographic subgroups. The heatmaps in the left column below show the density distribution of the true data for each subgroup, normalized by education category (so the density values in each column sum to 1; note that when a cell in the heatmap contains too few people (< 20 ), it is left blank; its not expected that the deidentified data will match the original distribution precisely). The regression line is drawn in red over the heatmap, so you can see the relationship between the target data distribution and its linear regression analysis. In the right column for each subgroup we show how the deidentified data's regression line compares to the target data's regression line, along with a heatmap of the density differences between the two distributions. Redder areas are where the deidentified data has created too many people, bluer areas are where it's created too few people.
We've broken this metric down into demographic subgroups so we can see not only how well the privacy techniques preserve the overall relationship between these features, but also whether they preserve how that overall relationship is built up from the different relationships that hold at each major demographic subgroup. It's important that deidentification techniques preserve these distinct subgroup patterns for analysis.
Total Population:
Target Data:
6514 records, 100.0% of adult (>15) data
Regression: 0.62 slope, 0.12 intercept
Deidentified Data:
6494 records, 100.0% of adult (>15) data
Regression: 0.59 slope, 0.51 intercept
White Men:
Target Data:
2671 records, 41.0% of adult (>15) data
Regression: 0.63 slope, 0.8 intercept
Deidentified Data:
2807 records, 43.22% of adult (>15) data
Regression: 0.62 slope, 0.82 intercept
White Women:
Target Data:
3076 records, 47.22% of adult (>15) data
Regression: 0.59 slope, -0.18 intercept
Deidentified Data:
3112 records, 47.92% of adult (>15) data
Regression: 0.54 slope, 0.45 intercept
Black Men:
Target Data:
74 records, 1.14% of adult (>15) data
Regression: 0.72 slope, -1.31 intercept
Deidentified Data:
36 records, 0.55% of adult (>15) data
Regression: 0.31 slope, 1.77 intercept
Black Women:
Target Data:
73 records, 1.12% of adult (>15) data
Regression: 0.7 slope, -1.07 intercept
Deidentified Data:
65 records, 1.0% of adult (>15) data
Regression: 0.76 slope, -2.16 intercept
Asian Men:
Target Data:
199 records, 3.05% of adult (>15) data
Regression: 0.83 slope, -1.31 intercept
Deidentified Data:
158 records, 2.43% of adult (>15) data
Regression: 0.72 slope, -0.4 intercept
Asian Women:
Target Data:
266 records, 4.08% of adult (>15) data
Regression: 0.64 slope, -1.43 intercept
Deidentified Data:
182 records, 2.8% of adult (>15) data
Regression: 0.58 slope, -0.57 intercept
American Indian, Alaskan Native and Native Hawaiians (AIANNH) Men:
Target Data:
3 records, 0.05% of adult (>15) data
Regression: -0.83 slope, 7.33 intercept
Deidentified Data:
2 records, 0.03% of adult (>15) data
Regression: -1.5 slope, 11.5 intercept
American Indian, Alaskan Native and Native Hawaiians (AIANNH) Women:
Target Data:
3 records, 0.05% of adult (>15) data
Regression: -0.5 slope, 5.17 intercept
Deidentified Data:
2 records, 0.03% of adult (>15) data
Regression: 1.0 slope, -4.0 intercept
PCA:
This is another approach for visualizing where the distribution of the deidentified data has shifted away from the target data. In this approach, we begin by using
Principle Component Analysis to find a way of representing the target data in a lower dimensional space (in 5 dimensions rather than the full 22 dimensions of the original feature space). Descriptions of these new five dimensions (components) are given in the components table; the components will change depending on which target data set you’re using. Five dimensions are better than 22, but we actually want to get down to two dimensions so we can plot the data on simple (x,y) axes– the plots below show the data across each possible pair combination of our five components. You can compare how the shapes change between the target data and the deidentified data, and consider what that might mean in light of the component definitions. This is a relatively new visualization metric that was introduced by the
IPUMS International team during the HLG-MOS Synthetic Data Test Drive.
Contribution of Features in Each Principal Component:
Principal Component
|
Features Contribution: feature-name (contribution ratio)
|
PC-0 |
PWGTP (0.09),WGTP (0.09),RAC1P (0.06),HISP (0.05),OWN_RENT (0.04) |
PC-1 |
WGTP (0.49),OWN_RENT (0.44),PWGTP (0.44),PINCP_DECILE (0.12),HISP (0.07) |
PC-2 |
AGEP (0.39),PUMA (0.17),DVET (0.16),PINCP_DECILE (0.14),OWN_RENT (0.12) |
PC-3 |
PWGTP (0.37),HOUSING_TYPE (0.3),WGTP (0.29),DVET (0.22),AGEP (0.21) |
PC-4 |
DENSITY (0.48),OWN_RENT (0.27),RAC1P (0.27),HISP (0.16),SEX (0.14) |
The queries below explore the PCA metric results in more detail by zooming in on a single component-pair panel and highlighting all individuals that satisfy a given constraint (such as MSP = “N”, individuals who are unmarried because they are children). If the deidentified data preserves the structure and feature correlations of the target data, the highlighted areas should have similar shape.
MSP_N: Children (AGEP < 15):
Inconsistencies:
Summary:
Inconsistency Group
|
Number of Records Inconsistent
|
Percent Records Inconsistent
|
Age |
11 |
0.1% |
Work |
0 |
0.0% |
Housing |
1 |
0.0% |
Age-Based Inconsistencies:
These inconsistencies deal with the AGE feature; records with age-based inconsistencies might have children who are married, or infants with high school diplomas
child_MSP: Children (< 15) can't be married:
AGEP
|
DEAR
|
DENSITY
|
DEYE
|
DPHY
|
DREM
|
DVET
|
EDU
|
HISP
|
HOUSING_TYPE
|
INDP_CAT
|
MSP
|
OWN_RENT
|
PINCP_DECILE
|
POVPIP
|
PUMA
|
PWGTP
|
RAC1P
|
SEX
|
WGTP
|
14 |
2 |
6 |
2 |
2 |
2 |
N |
4 |
0 |
1 |
N |
6 |
2 |
0 |
66 |
25-00703 |
345 |
2 |
2 |
416 |
child_PINCP_DECILE: Children (< 15) don't have personal incomes:
AGEP
|
DEAR
|
DENSITY
|
DEYE
|
DPHY
|
DREM
|
DVET
|
EDU
|
HISP
|
HOUSING_TYPE
|
INDP_CAT
|
MSP
|
OWN_RENT
|
PINCP_DECILE
|
POVPIP
|
PUMA
|
PWGTP
|
RAC1P
|
SEX
|
WGTP
|
14 |
2 |
6 |
2 |
2 |
2 |
N |
4 |
0 |
1 |
N |
6 |
2 |
0 |
66 |
25-00703 |
345 |
2 |
2 |
416 |
child_INDP_CAT: Children (< 15) don't have work industries:
AGEP
|
DEAR
|
DENSITY
|
DEYE
|
DPHY
|
DREM
|
DVET
|
EDU
|
HISP
|
HOUSING_TYPE
|
INDP_CAT
|
MSP
|
OWN_RENT
|
PINCP_DECILE
|
POVPIP
|
PUMA
|
PWGTP
|
RAC1P
|
SEX
|
WGTP
|
13 |
2 |
6 |
2 |
2 |
1 |
N |
3 |
0 |
1 |
6 |
N |
1 |
N |
271 |
25-00703 |
105 |
1 |
1 |
99 |
adult_N: Adults ( > 14) must specify values (other than N) for all adult features:
AGEP
|
DEAR
|
DENSITY
|
DEYE
|
DPHY
|
DREM
|
DVET
|
EDU
|
HISP
|
HOUSING_TYPE
|
INDP_CAT
|
MSP
|
OWN_RENT
|
PINCP_DECILE
|
POVPIP
|
PUMA
|
PWGTP
|
RAC1P
|
SEX
|
WGTP
|
33 |
2 |
7 |
2 |
2 |
2 |
N |
3 |
0 |
1 |
N |
N |
2 |
N |
459 |
25-00503 |
105 |
1 |
2 |
105 |
toddler_DPHY: Toddlers (< 5) naturally toddle, it's not a physical disability:
AGEP
|
DEAR
|
DENSITY
|
DEYE
|
DPHY
|
DREM
|
DVET
|
EDU
|
HISP
|
HOUSING_TYPE
|
INDP_CAT
|
MSP
|
OWN_RENT
|
PINCP_DECILE
|
POVPIP
|
PUMA
|
PWGTP
|
RAC1P
|
SEX
|
WGTP
|
4 |
2 |
7 |
2 |
2 |
2 |
N |
3 |
0 |
1 |
N |
N |
1 |
N |
501 |
25-00503 |
105 |
9 |
1 |
125 |
toddler_DREM: Toddlers (< 5) are naturally forgetful, it's not a cognitive disability:
AGEP
|
DEAR
|
DENSITY
|
DEYE
|
DPHY
|
DREM
|
DVET
|
EDU
|
HISP
|
HOUSING_TYPE
|
INDP_CAT
|
MSP
|
OWN_RENT
|
PINCP_DECILE
|
POVPIP
|
PUMA
|
PWGTP
|
RAC1P
|
SEX
|
WGTP
|
4 |
2 |
7 |
2 |
2 |
2 |
N |
3 |
0 |
1 |
N |
N |
1 |
N |
501 |
25-00503 |
105 |
9 |
1 |
125 |
Work-Based Inconsistencies:
These inconsistencies deal with the work and finance features; records with work-based inconsistencies might have high incomes while being in poverty, or have conflicts between their industry code and industry category.
Housing-Based Inconsistencies:
These inconsistencies deal with housing and family features; records with household-based inconsistencies might have more children in the house than the total household size, or be residents of group quarters (such as prison inmates) who are listed as owning their residences.
house_OWN_RENT: Individuals who live in houses must specify if they rent or own:
AGEP
|
DEAR
|
DENSITY
|
DEYE
|
DPHY
|
DREM
|
DVET
|
EDU
|
HISP
|
HOUSING_TYPE
|
INDP_CAT
|
MSP
|
OWN_RENT
|
PINCP_DECILE
|
POVPIP
|
PUMA
|
PWGTP
|
RAC1P
|
SEX
|
WGTP
|
68 |
2 |
6 |
2 |
2 |
1 |
N |
4 |
0 |
1 |
12 |
4 |
0 |
4 |
248 |
25-00703 |
109 |
1 |
2 |
108 |
K-Marginal Score Breakdown:
In the metrics above we’ve considered all of the data together; however we know that algorithms may behave differently on different subgroups in the population. Below we look in more detail at deidentification performance just in the worst performing PUMA, based on k-marginal score.
2 Worst Performing PUMA:
Which are the worst performing PUMA?
Record Counts in 2 Worst Performing PUMA:
Did the deidentified versions of these PUMA have similar population totals to the target versions?
Dataset
|
Record Counts
|
Target |
2729 |
Deidentified |
2729 |
Univariate Distribution of Worst Performing Features in 2 Worst Performing PUMA:
Which features are performing the worst in each of these PUMA?
PWGTP: Person's sampling weight:
WGTP: Housing unit sampling weight:
EDU: Educational attainment:
PINCP_DECILE: Person's total income in 10-percentile bins:
INDP_CAT: Industry categories:
Feature Value: N (N/A)
Target Data Counts: 1004
Deidentified Data Counts: 936
POVPIP: Income-to-poverty ratio (ex: 250 = 2.5 x poverty line):
Feature Value: 501 (Not in poverty: income above 5 x poverty line)
Target Data Counts: 1591
Deidentified Data Counts: 1644
Feature Value: 1
Target Data Counts: 2268
Deidentified Data Counts: 2378
DPHY: Ambulatory (walking) difficulty:
Feature Value: 2
Target Data Counts: 2446
Deidentified Data Counts: 2458
DREM: Cognitive difficulty:
Feature Value: 2
Target Data Counts: 2476
Deidentified Data Counts: 2453
HOUSING_TYPE: Housing unit or group quarters:
Feature Value: 1
Target Data Counts: 2509
Deidentified Data Counts: 2507
Feature Value: 0
Target Data Counts: 2588
Deidentified Data Counts: 2623
Feature Value: 2
Target Data Counts: 2678
Deidentified Data Counts: 2690
DVET: Veteran service connected disability rating (percentage):
Feature Value: N (N/A)
Target Data Counts: 2705
Deidentified Data Counts: 2715
OWN_RENT: Housing unit rented or owned:
Feature Value: 1
Target Data Counts: 1939
Deidentified Data Counts: 1941
DENSITY: Population density among residents of each PUMA:
DEAR: Hearing difficulty:
Feature Value: 2
Target Data Counts: 2640
Deidentified Data Counts: 2642
PUMA: Public use microdata area code:
Pearson Correlation Coefficient Difference in 2 Worst Performing PUMA:
How are feature correlations performing in each of these PUMA?