Skip to contents

Make a Measurement that adds noise from the Laplace(scale) distribution to the input.

Usage

make_laplace(
  input_domain,
  input_metric,
  scale,
  k = NULL,
  .MO = "MaxDivergence"
)

Arguments

input_domain

Domain of the data type to be privatized.

input_metric

Metric of the data type to be privatized.

scale

Noise scale parameter for the Laplace distribution. scale == standard_deviation / sqrt(2).

k

The noise granularity in terms of 2^k, only valid for domains over floats.

.MO

Measure used to quantify privacy loss. Valid values are just MaxDivergence

Value

Measurement

Details

Valid inputs for input_domain and input_metric are:

input_domaininput typeinput_metric
atom_domain(T) (default)Tabsolute_distance(T)
vector_domain(atom_domain(T))Vec<T>l1_distance(T)

Internally, all sampling is done using the discrete Laplace distribution.

Required features: contrib

make_laplace in Rust documentation.

Citations:

Supporting Elements:

  • Input Domain: DI

  • Output Type: MI

  • Input Metric: MO

  • Output Measure: DI::Carrier

Proof Definition:

(Proof Document)