Trait smartnoise_validator::components::Sensitivity [−][src]
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]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
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 structprivacy_definition
- the definition of privacy under which the sensitivity is to be computedproperties
- derived properties for the input datasensitivity_type
- space for which the sensitivity is computed within
Returns
Sensitivities for each of the values in the resulting computation
Implementors
impl Sensitivity for Variant
[src]
fn compute_sensitivity(
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
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]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
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]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
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]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
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]
&self,
_privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
Mean sensitivities are backed by the the proofs here.
impl Sensitivity for Quantile
[src]
fn compute_sensitivity(
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
impl Sensitivity for RawMoment
[src]
fn compute_sensitivity(
&self,
_privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]
&self,
_privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
impl Sensitivity for Sum
[src]
fn compute_sensitivity(
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
Sum sensitivities are backed by the the proofs here
impl Sensitivity for Union
[src]
fn compute_sensitivity(
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
impl Sensitivity for Variance
[src]
fn compute_sensitivity(
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
[src]
&self,
privacy_definition: &PrivacyDefinition,
properties: &NodeProperties,
sensitivity_type: &SensitivitySpace
) -> Result<Value>
Variance sensitivities are backed by the the proofs here