Skip to contents

The bound is only valid for epsilon below one, which is checked rather than assumed; the noise is drawn from the deterministic inverse-normal stream so the released value is reproducible across language arms.

Usage

Gaussm(f_value, l2_sens, epsilon, delta, draw = 1)

Arguments

f_value

Query value(s) to release.

l2_sens

L2 sensitivity of the query, positive.

epsilon

Privacy parameter in (0, 1).

delta

Failure probability in (0, 1).

draw

Index into the deterministic noise stream.

Value

List with estimate, released, noise, sigma, c, epsilon, delta, n, method.

Details

Formula: M(D) = f(D) + N(0, sigma^2) with sigma = sqrt(2 log(1.25/delta)) Delta_2 f / epsilon.

References

Dwork and Roth (2014), The Algorithmic Foundations of Differential Privacy, Foundations and Trends in Theoretical Computer Science 9(3-4):211-407, Theorem A.1. doi:10.1561/0400000042

Examples

Gaussm(c(1, 2, 3), l2_sens = 1, epsilon = 0.5, delta = 1e-5)
#> $estimate
#> [1] -5.535543
#> 
#> $released
#> [1] -5.535543  8.535543 -8.146437
#> 
#> $noise
#> [1]  -6.535543   6.535543 -11.146437
#> 
#> $sigma
#> [1] 9.689611
#> 
#> $c
#> [1] 4.844805
#> 
#> $epsilon
#> [1] 0.5
#> 
#> $delta
#> [1] 1e-05
#> 
#> $n
#> [1] 3
#> 
#> $method
#> [1] "f(D) + N(0, sigma^2) with sigma = sqrt(2 ln(1.25/delta)) Delta_2 f / eps, Dwork & Roth (2014) Thm A.1"
#> 
#> attr(,"class")
#> [1] "morie_rich_result" "list"