Skip to contents

Adds Laplace(sensitivity/epsilon) noise to each count and returns the index of the largest noisy count (Dwork and Roth 2014, Sec. 3.3). By Claim 3.9 the mechanism is \((\varepsilon, 0)\)-differentially private even though the count vector itself has \(\ell_1\) sensitivity equal to its length: releasing only the argmax costs no more than one query.

Usage

morie_reportm(counts, epsilon, sensitivity = 1, seed = 1)

Arguments

counts

Numeric vector of counts.

epsilon

Privacy parameter, positive.

sensitivity

Per-count sensitivity, default 1.

seed

Seed of the reproducible stream shared with the Python arm.

Value

A list with index (0-based winning index), winner (its noisy value), estimate, epsilon, scale, n, method.

References

Dwork, C. and Roth, A. (2014). The Algorithmic Foundations of Differential Privacy. Foundations and Trends in Theoretical Computer Science, 9(3-4), Claim 3.9.

Examples

morie_reportm(counts = c(1, 2, 3, 4, 5, 6, 7, 8), epsilon = 5L)
#> $index
#> [1] 7
#> 
#> $winner
#> [1] 7.954373
#> 
#> $estimate
#> [1] 7
#> 
#> $epsilon
#> [1] 5
#> 
#> $scale
#> [1] 0.2
#> 
#> $n
#> [1] 8
#> 
#> $method
#> [1] "Report Noisy Max (Dwork-Roth 2014, Claim 3.9)"
#>