chaining#

Measurements constructed by chaining other measurements and transformations.

Classes#

ChainTM

Measurement constructed by chaining a transformation and a measurement.

class ChainTM(transformation, measurement, hint=None)#

Bases: tmlt.core.measurements.base.Measurement

Measurement constructed by chaining a transformation and a measurement.

Parameters
__init__(transformation, measurement, hint=None)#

Constructor.

Parameters
property measurement#

Returns measurement being chained.

Return type

tmlt.core.measurements.base.Measurement

property transformation#

Returns transformation being chained.

Return type

tmlt.core.transformations.base.Transformation

privacy_function(d_in)#

Returns the smallest d_out satisfied by the measurement.

Returns M.privacy_function(T.stability_function(d_in)).

where:

Parameters

d_in (Any) – Distance between inputs under input_metric.

Raises

NotImplementedError – If M.privacy_function(T.stability_function(d_in)) raises NotImplementedError.

Return type

Any

privacy_relation(d_in, d_out)#

Returns True only if outputs are close under close inputs.

Let d_mid = T.stability_function(d_in), or hint(d_in, d_out) if T.stability_function raises NotImplementedError.

This returns True only if the following hold:

  1. T.stability_relation(d_in, d_mid)

  2. M.privacy_relation(d_mid, d_out)

where:

  • T is the transformation applied (transformation”)

  • M is the measurement applied (measurement”)

  • hint is the hint passed to the constructor.

Parameters
  • d_in (Any) – Distance between inputs under input_metric.

  • d_out (Any) – Distance between outputs under output_measure.

Raises

ValueError – If a hint is not provided and T.stability_function raises NotImplementedError.

Return type

bool

__call__(data)#

Computes measurement after applying transformation on input data.

Parameters

data (Any) –

Return type

Any

property input_domain#

Return input domain for the measurement.

Return type

tmlt.core.domains.base.Domain

property input_metric#

Distance metric on input domain.

Return type

tmlt.core.metrics.Metric

property output_measure#

Distance measure on output.

Return type

tmlt.core.measures.Measure

property is_interactive#

Returns true iff the measurement is interactive.

Return type

bool