Adaptive differentially private count
A differentially private security system communicatively coupled to a database storing restricted data receives a database query from a client. The database query includes an operation, a target accuracy, and a maximum privacy spend for the query. The system performs the operation to produce a result, then injects the result with noise sampled from a Laplace distribution to produce a differentially private result. The system iteratively calibrates the noise value of the differentially private result using a secondary distribution different from the Laplace distribution and a new fractional privacy spend. The system ceases to iterate when an iteration uses the maximum privacy spend or a relative error of the differentially private result is determined to satisfy the target accuracy, or both. The system sends the differentially private result to the client.
1. A method for performing an adaptive differentially private count operation on a set of data stored by a database, the method comprising:
receiving a request from a client device to perform a query on the set of data stored by the database, the request identifying a target accuracy and a maximum privacy spend;
performing a count operation on the set of data to produce a result;
perturbing the result to produce a differentially private result using a noise value, the noise value being sampled from a first probability distribution based on a fractional privacy spend, the fractional privacy spend comprising a first fraction of the maximum privacy spend;
iteratively calibrating the noise value of the differentially private result based on a secondary distribution different from the first probability distribution and based on a new fractional privacy spend, the new fractional privacy spend comprising a second fraction of the maximum privacy spend, the new fractional privacy spend being larger than fractional privacy spends of preceding iterations, the iterations of calibrating the noise value occurring until
a relative error of the differentially private result is less than or equal to the target accuracy; and
sending, to the client device, the differentially private result.
2. The method of claim 1 , wherein iteratively calibrating the noise value of the differentially private result based on the secondary distribution comprises, for an iteration:
generating the new fractional privacy spend larger than the fractional privacy spends of preceding iterations;
generating a new noise value sampled from the secondary distribution based on the new fractional privacy spend;
incorporating the new noise value into the differentially private result; and
determining whether the differentially private result is less than or equal to the target accuracy.
3. The method of claim 2 , wherein determining whether the differentially private result is less than or equal to the target accuracy comprises:
estimating the relative error of the differentially private result; and
comparing the relative error to the target accuracy.
4. The method of claim 2 , wherein the new fractional privacy spend is generated as a multiple of a preceding fractional privacy spend of a preceding iteration.
5. The method of claim 2 , wherein the new fractional privacy spend is generated as a function of a difference between the target accuracy and the relative error of the differentially private result of a preceding iteration.
6. The method of claim 1 , wherein the secondary distribution is a mixture distribution determined responsive to a plurality of functions.
7. The method of claim 1 , wherein iteratively calibrating the noise value of the differentially private result is responsive to the relative error of the differentially private result exceeding the target accuracy.
8. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations for performing an adaptive differentially private count operation on a set of data stored by a database, the operations comprising:
receiving a request from a client device to perform a query on the set of data stored by the database, the request identifying a target accuracy and a maximum privacy spend;
performing a count operation on the set of data to produce a result;
perturbing the result to produce a differentially private result using a noise value, the noise value being sampled from a first probability distribution based on a fractional privacy spend, the fractional privacy spend comprising a first fraction of the maximum privacy spend;
iteratively calibrating the noise value of the differentially private result based on a secondary distribution different from the first probability distribution and based on a new fractional privacy spend, the new fractional privacy spend comprising a second fraction of the maximum privacy spend, the new fractional privacy spend being larger than fractional privacy spends of preceding iterations, the iterations of calibrating the noise value occurring until
a relative error of the differentially private result is less than or equal to the target accuracy; and
sending, to the client device, the differentially private result.
9. The non-transitory computer-readable storage medium of claim 8 , wherein iteratively calibrating the noise value of the differentially private result based on the secondary distribution different from the first probability distribution comprises, for an iteration:
generating the new fractional privacy spend larger than the fractional privacy spends of preceding iterations;
generating a new noise value sampled from the secondary distribution based on the new fractional privacy spend;
incorporating the new noise value into the differentially private result; and
determining whether the differentially private result is less than or equal to the target accuracy.
10. The non-transitory computer-readable storage medium of claim 9 , wherein determining whether the differentially private result is less than or equal to the target accuracy comprises:
estimating the relative error of the differentially private result; and
comparing the relative error to the target accuracy.
11. The non-transitory computer-readable storage medium of claim 9 , wherein the new fractional privacy spend is generated as a multiple of a preceding fractional privacy spend of a preceding iteration.
12. The non-transitory computer-readable storage medium of claim 9 , wherein the new fractional privacy spend is generated as a function of a difference between the target accuracy and the relative error of the differentially private result of a preceding iteration.
13. The non-transitory computer-readable storage medium of claim 8 , wherein the secondary distribution is a mixture distribution determined responsive to a plurality of functions.
14. The non-transitory computer-readable storage medium of claim 8 , wherein iteratively calibrating the noise value of the differentially private result is responsive to the relative error of the differentially private result exceeding the target accuracy.
15. A system comprising:
a processor; and
a non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations for performing an adaptive differentially private count operation on a set of data stored by a database, the operations comprising:
receiving a request from a client device to perform a query on the set of data stored by the database, the request identifying a target accuracy and a maximum privacy spend;
performing a count operation on the set of data to produce a result;
perturbing the result to produce a differentially private result using a noise value, the noise value being sampled from a first probability distribution based on a fractional privacy spend, the fractional privacy spend comprising a first fraction of the maximum privacy spend;
iteratively calibrating the noise value of the differentially private result based on a secondary distribution different from the first probability distribution and based on a new fractional privacy spend, the new fractional privacy spend comprising a second fraction of the maximum privacy spend, the new fractional privacy spend being larger than fractional privacy spends of preceding iterations, the iterations of calibrating the noise value occurring until
a relative error of the differentially private result is less than or equal to the target accuracy; and
sending, to the client device, the differentially private result.
16. The system of claim 15 , wherein iteratively calibrating the noise value of the differentially private result based on the secondary distribution different from the first probability distribution comprises, for an iteration:
generating the new fractional privacy spend larger than the fractional privacy spends of preceding iterations;
generating a new noise value sampled from the secondary distribution based on the new fractional privacy spend;
incorporating the new noise value into the differentially private result; and
determining whether the differentially private result is less than or equal to the target accuracy.
17. The system of claim 16 , wherein determining whether the differentially private result is less than or equal to the target accuracy comprises:
estimating the relative error of the differentially private result; and
comparing the relative error to the target accuracy.
18. The system of claim 16 , wherein the new fractional privacy spend is generated as a multiple of a preceding fractional privacy spend of a preceding iteration.
19. The system of claim 16 , wherein the new fractional privacy spend is generated as a function of a difference between the target accuracy and the relative error of the differentially private result of a preceding iteration.
20. The system of claim 15 , wherein iteratively calibrating the noise value of the differentially private result is responsive to the relative error of the differentially private result exceeding the target accuracy.