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 comprising:
receiving a request from a client device to perform a predictive analytics query on a set of data stored by a database, the request identifying a target accuracy and a maximum privacy spend;
performing the predictive analytics query on the set of data to produce a result;
perturbing the result to produce a differentially private result by injecting a noise value into the differentially private result, 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 the predictive analytics query comprises requesting a data analytics model trained on the set of data.
3. The method of claim 2 , wherein the result comprises the data analytics model.
4. The method of claim 1 , wherein the predictive analytics query comprises requesting that the set of data be executed on a stored analytical model.
5. The method of claim 4 , wherein the result comprises a classification generated by the stored analytical model based on the set of data.
6. The method of claim 1 , wherein the iteratively calibrating of 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.
7. The method of claim 6 , wherein the determining of 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.
8. The method of claim 6 , wherein the new fractional privacy spend is generated as a multiple of a preceding fractional privacy spend of a preceding iteration.
9. The method of claim 6 , 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.
10. The method of claim 1 , wherein the secondary distribution is a mixture distribution determined responsive to a plurality of functions.
11. The method of claim 1 , wherein the iteratively calibrating of the noise value of the differentially private result is responsive to the relative error of the differentially private result exceeding the target accuracy.
12. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations comprising:
receiving a request from a client device to perform a predictive analytics query on a set of data stored by a database, the request identifying a target accuracy and a maximum privacy spend;
performing the predictive analytics query on the set of data to produce a result;
perturbing the result to produce a differentially private result by injecting a noise value into the differentially private result, 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.
13. The non-transitory computer-readable storage medium of claim 12 , wherein the predictive analytics query comprises requesting a data analytics model trained on the set of data.
14. The non-transitory computer-readable storage medium of claim 13 , wherein the result comprises the data analytics model.
15. The non-transitory computer-readable storage medium of claim 12 , wherein the predictive analytics query comprises requesting that the set of data be executed on a stored analytical model.
16. The non-transitory computer-readable storage medium of claim 15 , wherein the result comprises a classification generated by the stored analytical model based on the set of data.
17. The non-transitory computer-readable storage medium of claim 12 , wherein the iteratively calibrating of 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.
18. The non-transitory computer-readable storage medium of claim 17 , wherein the determining of 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.
19. The non-transitory computer-readable storage medium of claim 17 , wherein the new fractional privacy spend is generated as a multiple of a preceding fractional privacy spend of a preceding iteration.
20. A system comprising:
a processor; and
a non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations comprising:
receiving a request from a client device to perform a predictive analytics query on a set of data stored by a database, the request identifying a target accuracy and a maximum privacy spend;
performing the predictive analytics query on the set of data to produce a result;
perturbing the result to produce a differentially private result by injecting a noise value into the differentially private result, 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.