Trait smartnoise_validator::components::Sensitivity[][src]

pub trait Sensitivity {
    fn compute_sensitivity(
        &self,
        privacy_definition: &PrivacyDefinition,
        properties: &NodeProperties,
        sensitivity_type: &SensitivitySpace
    ) -> Result<Value>; }

Sensitivity component trait

When a component has sensitivity, the abstract computation the component represents combines multiple rows together into a single value. For example, a mean, minimum, or scoring function on a dataset. A component that aggregates data has an associated sensitivity, which captures how much the input data affects the output of the aggregator.

Required methods

fn compute_sensitivity(
    &self,
    privacy_definition: &PrivacyDefinition,
    properties: &NodeProperties,
    sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]

Derivation for the sensitivity of an aggregator based on available local metadata.

The sensitivity is the maximum amount that a perturbation of input data may have on the resulting value. The type of perturbation is described in the privacy_definition.

Arguments

  • self - the protobuf object corresponding to the prost protobuf struct
  • privacy_definition - the definition of privacy under which the sensitivity is to be computed
  • properties - derived properties for the input data
  • sensitivity_type - space for which the sensitivity is computed within

Returns

Sensitivities for each of the values in the resulting computation

Loading content...

Implementors

impl Sensitivity for Variant[src]

fn compute_sensitivity(
    &self,
    privacy_definition: &PrivacyDefinition,
    properties: &NodeProperties,
    sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]

Utility implementation on the enum containing all variants of a component.

This utility delegates evaluation to the concrete implementation of each component variant.

impl Sensitivity for Count[src]

fn compute_sensitivity(
    &self,
    privacy_definition: &PrivacyDefinition,
    properties: &NodeProperties,
    sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]

Count query sensitivities are backed by the the proofs here.

impl Sensitivity for Covariance[src]

fn compute_sensitivity(
    &self,
    privacy_definition: &PrivacyDefinition,
    properties: &NodeProperties,
    sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]

Covariance sensitivities are backed by the the proofs here.

impl Sensitivity for Histogram[src]

fn compute_sensitivity(
    &self,
    privacy_definition: &PrivacyDefinition,
    properties: &NodeProperties,
    sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]

Histogram sensitivities are backed by the the proofs here.

impl Sensitivity for Mean[src]

fn compute_sensitivity(
    &self,
    _privacy_definition: &PrivacyDefinition,
    properties: &NodeProperties,
    sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]

impl Sensitivity for Quantile[src]

impl Sensitivity for RawMoment[src]

impl Sensitivity for Sum[src]

fn compute_sensitivity(
    &self,
    privacy_definition: &PrivacyDefinition,
    properties: &NodeProperties,
    sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]

impl Sensitivity for Union[src]

impl Sensitivity for Variance[src]

fn compute_sensitivity(
    &self,
    privacy_definition: &PrivacyDefinition,
    properties: &NodeProperties,
    sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]

Variance sensitivities are backed by the the proofs here

Loading content...