IP Library › Granted Patent US 11,593,360
Granted Patent B2
US 11,593,360 · App. 17/006,061 · Granted Feb 28, 2023

Empirically providing data privacy with reduced noise

Inventors: Paul Burchard (Jersey City, NJ); Anthony Daoud (New York, NY); Dominic Dotterrer (New York, NY)
Assignee: Goldman Sachs & Co. LLC
G06F16/2425G06F16/248G06F16/2462G06F16/24573G06F21/6227G06K9/6226
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,593,360
App. No.
17/006,061
Granted
Feb 28, 2023
Kind
B2
Abstract

An empirical approach to providing differential privacy includes applying a common statistical query to a set of databases to produce sample values, both with and without any particular entity's data. The probability density is empirically estimated by sorting the sample values to generate an empirical cumulative distribution function. The cumulative distribution function is differenced across approximately the square root of the number of sample points to get an empirical density function. The statistical query is empirically (ε,δ)-private if the empirical densities with and without any particular individual differ by a factor of no more than exp(ε), with the exception of a set for which the densities exceed that bound by a total of no more than δ.

Claims (47)

1. A method comprising:

receiving, by a data analysis system, a request from a user to run a query on a set of databases, each database in the set of databases including data of a plurality of entities, the data labelled by entity;

running, by the data analysis system, a plurality of sample queries based on the query requested by the user to generate sample query results for the databases in the subset, each of the sample queries having a different entity's data removed relative to other sample queries in the plurality;

calculating, by the data analysis system, empirical probability density functions from the sample query results;

determining, by the data analysis system, whether the query requested by the user meets one or more differential privacy requirements based on the empirical probability density functions; and

outputting, by the data analysis system, a result of the query requested by the user to the user responsive to determining that the query requested by the user meets the one or more differential privacy requirements, wherein calculating the empirical probability density functions comprises:

sorting the sample query results to create empirical cumulative distribution functions of the sample query results with and without each of the plurality of entities; and

differencing the empirical cumulative distribution functions using a spacing of a number of data points depending on a size of the data to yield the empirical probability density functions.

2. The method of claim 1 , wherein determining whether the query requested by the user meets one or more differential privacy requirements comprises calculating a total amount, δ, by which probability densities with and without each entity's data exceed a bound of differing by no more than a factor of exp(ε), where ε is a parameter indicating a maximum acceptable change in the determined probability for a query if an entity is excluded.

3. The method of claim 1 , wherein the spacing is approximately a square root of a total number of data points in the data set.

4. The method of claim 1 , wherein calculating the empirical probability density function comprises:

determining an adaptive kernel density estimation, wherein data points are replaced by kernels whose widths are selected to span a number of data points, the number of data points depending on a size of the data set; and

adding the kernels to calculate the density.

5. The method of claim 4 , wherein the width of the adaptive kernel is such that it spans approximately a square root of a total number of data points in the data set.

6. The method of claim 4 , wherein the kernel shape is rectangular, triangular, or Gaussian.

7. The method of claim 1 , further comprising, responsive to determining the query requested by the user does not meet the one or more differential privacy requirements, adding noise to the query results until the query results do meet the one or more differential privacy requirements.

8. The method of claim 7 , wherein the noise is Gaussian noise or Laplacian noise.

9. The method of claim 7 , wherein the result outputted is based on the results with added noise.

10. The method of claim 1 , wherein there is some information in the databases that may be known to an adversary, and the empirical probability density is calculated conditional on that adversarial information falling into a series of buckets.

11. The method of claim 1 , wherein the set of databases is an ordered sequence, and, responsive to empirical evidence indicating that the query results in the sequence have statistically significant autocorrelation, the method further comprises:

locally aggregating the sequence of databases into a shorter sequence of larger databases, until the query results no longer have statistically significant autocorrelation; and

testing the differential privacy requirements based on the shorter sequence of larger databases.

12. The method of claim 1 , wherein determining whether the query meets one or more differential privacy requirements comprises calculating a “total delta” Δ, which is defined as the accumulation Δ=1−Π i (1−δ i ) over entities, where δ i is a minimal δ that works in a privacy criterion for entity i.

13. A non-transitory computer-readable storage medium containing computer program code comprising instructions that, when executed by a processor, causes the processor to:

receive a request to run a query requested by a user on a set of databases, each database in the set of databases including data of a plurality of entities, the data labelled by entity;

run a plurality of sample queries based on the query requested by the user to generate sample query results for the databases in the subset, each of the sample queries having a different entity's data removed relative to other sample queries in the plurality;

calculate empirical probability density functions from the sample query results;

determine whether the query requested by the user meets one or more differential privacy requirements based on the empirical probability density functions; and

output a result of the query requested by the user to the user responsive to determining that the query requested by the user meets the one or more differential privacy requirements, wherein calculating the empirical probability density function comprises:

determining an adaptive kernel density estimation, wherein data points are replaced by kernels whose widths are selected to span approximately tho a square root of a total number of data points in the data set; and adding the kernels to calculate the density.

14. The non-transitory computer-readable storage medium of claim 13 , wherein calculating the empirical probability density functions comprises:

sorting the sample query results to create empirical cumulative distribution functions of the sample query results with and without each of the plurality of entities; and

differencing the empirical cumulative distribution functions using a spacing of a number of data points depending on a size of the data to yield the empirical probability density functions.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the set of databases is an ordered sequence, and, responsive to empirical evidence indicating that the query results in the sequence have statistically significant autocorrelation, wherein the computer program code further comprises instructions that, when executed by the processor, causes the processor to:

locally aggregate the sequence of databases into a shorter sequence of larger databases, until the query results no longer have statistically significant autocorrelation; and

test the differential privacy requirements based on the shorter sequence of larger databases.

16. The non-transitory computer-readable storage medium of claim 13 , wherein there is some information in the databases that may be known to an adversary, and the empirical probability density is calculated conditional on that adversarial information falling into a series of buckets.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the computer program code further comprises instructions that, when executed by the processor, causes the processor to:

responsive to determining the query requested by the user does not meet the one or more differential privacy requirements, adding noise to the query results until the query results do meet the one or more differential privacy requirements.

18. A data analysis system comprising:

one or more processors configured to execute instructions;

a set of databases, each database in the set of databases including data of a plurality of entities, the data labeled by entity;

a memory comprising instructions executable by the one or more processors, the memory comprising:

a query module configured to receive a request from a user to run a query on the set of databases;

a privacy analysis module configured to run a plurality of sample queries based on the query requested by the user to generate sample query results for the databases in the subset, each of the sample queries having a different entity's data removed relative to other sample queries in the plurality, and further configured to calculate empirical probability density functions from the sample query results, wherein calculating the empirical probability density function comprises:

determining an adaptive kernel density estimation, wherein data points are replaced by kernels whose widths are selected to span approximately tho a square root of a total number of data points in the data set; and adding the kernels to calculate the density; and

a results generation module configured to determine whether the query requested by the user meets one or more differential privacy requirements based on the empirical probability density functions, wherein the results generation module is further configured to output a result of the query requested by the user to the user responsive to determining that the query meets the one or more differential privacy requirements.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2020
From: BURCHARD, PAUL; DAOUD, ANTHONY; DOTTERRER, DOMINIC
To: GOLDMAN SACHS & CO. LLC
Reel/Frame 053678/0053 →
Continuity (7)
Provisional Application 62968742 · Jan 31, 2020
Provisional Application 62933800 · Nov 11, 2019
Provisional Application 62913089 · Oct 9, 2019
Provisional Application 62905657 · Sep 25, 2019
Provisional Application 62897687 · Sep 9, 2019
Provisional Application 62893376 · Aug 29, 2019
Related Publication 20210064610A1 · Mar 4, 2021
Cited By (1)
US 12,657,334