Skip to contents

For Laplace noise of scale \(b = \Delta/(n\epsilon)\), the confidence half-width is \(b\log(1/(1-c))\). Supply a target error and get the epsilon it implies, or supply epsilon and get the error it buys.

Usage

morie_dp_release_calibration(
  sensitivity = 1,
  target_error = NULL,
  epsilon = NULL,
  confidence = 0.95,
  n = 1
)

Arguments

sensitivity

query sensitivity.

target_error

desired half-width. Supply this OR epsilon.

epsilon

budget. Supply this OR target_error.

confidence

coverage for the half-width, in (0, 1).

n

number of records the query averages over.

Value

list with epsilon, half_width, noise_scale, direction.

Details

The point is to set the budget FROM a tolerable error rather than by convention. An epsilon above 10 means a likelihood ratio above 22000 between neighbouring datasets, which is close to no guarantee at all; the function warns rather than returning it silently.

References

Dwork, C. and Roth, A. (2014). FnTTCS, 9(3-4).

Examples

round(morie_dp_release_calibration(1,
  target_error = 0.01,
  n = 1000
)$epsilon, 4)
#> [1] 0.2996