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, wherein the request identifies a target accuracy and a maximum privacy spend, wherein the target accuracy comprises a maximum relative error, and the maximum privacy spend comprises a value of a privacy parameter ε describing a degree of information released about the set of data due to the query;
performing, responsive to receiving the request to perform the query, a differentially private count operation on the set of data to produce a differentially private result, the differentially private count operation comprising:
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 sampled from a Laplace distribution and based on a fractional privacy spend comprising a fraction of the maximum privacy spend; and
iteratively calibrating the noise value of the differentially private result using a secondary distribution different from the Laplace distribution and a new fractional privacy spend until at least one of:
an iteration uses the maximum privacy spend, and
a relative error of the differentially private result is determined to satisfy 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 using the secondary distribution different from the Laplace 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 using the new fractional privacy spend;
incorporating the new noise value into the differentially private result; and
determining whether the differentially private result satisfies the target accuracy.
3. The method of claim 2 , wherein determining whether the differentially private result satisfies the target accuracy comprises:
estimating a 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 a relative error of a 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 a 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, wherein the request identifies a target accuracy and a maximum privacy spend, wherein the target accuracy comprises a maximum relative error, and the maximum privacy spend comprises a value of a privacy parameter ε describing a degree of information released about the set of data due to the query;
performing, responsive to receiving the request to perform the query, a differentially private count operation on the set of data to produce a differentially private result, the differentially private count operation comprising:
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 sampled from a Laplace distribution and based on a fractional privacy spend comprising a fraction of the maximum privacy spend; and
iteratively calibrating the noise value of the differentially private result using a secondary distribution different from the Laplace distribution and a new fractional privacy spend until at least one of:
an iteration uses the maximum privacy spend, and
a relative error of the differentially private result is determined to satisfy 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 using the secondary distribution different from the Laplace 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 using the new fractional privacy spend;
incorporating the new noise value into the differentially private result; and
determining whether the differentially private result satisfies the target accuracy.
10. The non-transitory computer-readable storage medium of claim 9 , wherein determining whether the differentially private result satisfies the target accuracy comprises:
estimating a 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 a relative error of a 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 a 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, wherein the request identifies a target accuracy and a maximum privacy spend, wherein the target accuracy comprises a maximum relative error, and the maximum privacy spend comprises a value of a privacy parameter ε describing a degree of information released about the set of data due to the query;
performing, responsive to receiving the request to perform the query, a differentially private count operation on the set of data to produce a differentially private result, the differentially private count operation comprising:
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 sampled from a Laplace distribution and based on a fractional privacy spend comprising a fraction of the maximum privacy spend; and
iteratively calibrating the noise value of the differentially private result using a secondary distribution different from the Laplace distribution and a new fractional privacy spend until at least one of:
an iteration uses the maximum privacy spend, and
a relative error of the differentially private result is determined to satisfy 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 using the secondary distribution different from the Laplace 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 using the new fractional privacy spend;
incorporating the new noise value into the differentially private result; and
determining whether the differentially private result satisfies the target accuracy.
17. The system of claim 16 , wherein determining whether the differentially private result satisfies the target accuracy comprises:
estimating a 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 a relative error of a 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 a relative error of the differentially private result exceeding the target accuracy.