sensitivitySamplerManual,DPMechNumeric,function,numeric,numeric,numeric-method {diffpriv} R Documentation

## Sensitivity sampler for DPMechNumeric-class.

### Description

Given a constructed DPMechNumeric-class, complete with target function and sensitivityNorm, and an oracle for producing records, samples the sensitivity of the target function to set the mechanism's sensitivity. Typically the method sensitivitySampler should be used instead; NOTE this method does not properly set the gammaSensitivity slot of DPMech-class unlike the preferred method. This method can probe target to determine response dimension when the corresponding object@dims is NA.

### Usage


## S4 method for signature 'DPMechNumeric,'function',numeric,numeric,numeric'
sensitivitySamplerManual(object,
oracle, n, m, k)


### Arguments

 object an object of class DPMechNumeric-class. oracle a source of random databases. A function returning: list, matrix/data.frame (data in rows), numeric/character vector of records if given desired length > 1; or single record given length 1, respectively a list element, a row/named row, a single numeric/character. Whichever type is used should be expected by object@target. n database size scalar positive numeric, integer-valued. m sensitivity sample size scalar positive numeric, integer-valued. k order statistic index in 1,...,m.

### Value

object with updated sensitivity parameter, and (potentially) dims.

### References

Benjamin I. P. Rubinstein and Francesco Aldà. "Pain-Free Random Differential Privacy with Sensitivity Sampling", accepted into the 34th International Conference on Machine Learning (ICML'2017), May 2017.

sensitivitySampler preferred method for sensitivity sampling.

### Examples

## Simple example with unbounded data hence no global sensitivity.
f <- function(xs) mean(xs)
m <- DPMechLaplace(target = f, dims = 1)
P <- function(n) rnorm(n)
m <- sensitivitySamplerManual(m, oracle = P, n = 100, m = 10, k = 10)
m@sensitivity



[Package diffpriv version 0.4.2 Index]