org.deidentifier.arx.criteria

## Class AverageReidentificationRisk

- java.lang.Object
- - org.deidentifier.arx.criteria.PrivacyCriterion
  - - org.deidentifier.arx.criteria.SampleBasedCriterion
    - - org.deidentifier.arx.criteria.RiskBasedCriterion
      - - org.deidentifier.arx.criteria.AverageReidentificationRisk

All Implemented Interfaces:
  java.io.Serializable

    public class AverageReidentificationRisk
    extends RiskBasedCriterion

This criterion ensures that an estimate for the average re-identification risk falls below a given threshold. Furthermore a relaxed variant of this model is also implemented, supporting average risk, highest risk and a fraction of records allowed to exceed the highest risk

Author:
  Fabian Prasser
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`AverageReidentificationRisk(double riskThreshold)` Creates a new instance of this model.
`AverageReidentificationRisk(double averageRisk, double highestRisk, double recordsAtRisk)` Creates a new instance of a relaxed variant of this model with average risk, highest risk and the fraction of records with a risk exceeding the highest risk.

### Method Summary

All Methods Instance Methods Concrete Methods
`AverageReidentificationRisk` `clone()` Clone
`double` `getAverageRisk()`
`double` `getEffectiveHighestRisk()` Returns the effective highest risk, i.e. the threshold that is actually being used by the software.
`double` `getHighestRisk()` Returns the threshold set by the user.
`double` `getRecordsAtRisk()`
`double` `getRiskThresholdMarketer()` Return marketer risk threshold, 1 if there is none
`boolean` `isLocalRecodingSupported()` Returns whether the criterion supports local recoding.
`ElementData` `render()` Renders the privacy model
`java.lang.String` `toString()` Returns a string representation.

### Methods inherited from class org.deidentifier.arx.criteria.RiskBasedCriterion

`enforce, getRequirements, getRiskThreshold`

### Methods inherited from class org.deidentifier.arx.criteria.SampleBasedCriterion

`isAnonymous, isSampleBased`

### Methods inherited from class org.deidentifier.arx.criteria.PrivacyCriterion

`clone, getDataSubset, getMinimalClassSize, getPopulationModel, getRiskThresholdJournalist, getRiskThresholdProsecutor, getSubset, initialize, isHeuristicSearchSupported, isHeuristicSearchWithTimeLimitSupported, isMinimalClassSizeAvailable, isMonotonicWithGeneralization, isMonotonicWithSuppression, isOptimalSearchSupported, isSubsetAvailable`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### AverageReidentificationRisk

    public AverageReidentificationRisk(double riskThreshold)

Creates a new instance of this model.

Parameters:
  `riskThreshold` -

#### AverageReidentificationRisk

    public AverageReidentificationRisk(double averageRisk,
                                       double highestRisk,
                                       double recordsAtRisk)

Creates a new instance of a relaxed variant of this model with average risk, highest risk and the fraction of records with a risk exceeding the highest risk. Note: Due to rounding issues, the highest risk may be exceeded by up to 1%. To see the threshold that is actually being used, invoke `getEffectiveHighestRisk()`

Parameters:
  `averageRisk` -
  `highestRisk` -
  `recordsAtRisk` -

### Method Detail

#### clone

    public AverageReidentificationRisk clone()

Description copied from class: `PrivacyCriterion`
Clone

Specified by:
  `clone` in class `PrivacyCriterion`

#### getAverageRisk

    public double getAverageRisk()

Returns:
  the average risk

#### getEffectiveHighestRisk

    public double getEffectiveHighestRisk()

Returns the effective highest risk, i.e. the threshold that is actually being used by the software.

Returns:
  the highest risk

#### getHighestRisk

    public double getHighestRisk()

Returns the threshold set by the user. Please consider the effective threshold, i.e. the threshold that is actually being used by the software.

Returns:
  the highest risk

#### getRecordsAtRisk

    public double getRecordsAtRisk()

Returns:
  the records at risk

#### getRiskThresholdMarketer

    public double getRiskThresholdMarketer()

Return marketer risk threshold, 1 if there is none

Overrides:
  `getRiskThresholdMarketer` in class `PrivacyCriterion`
Returns:

#### isLocalRecodingSupported

    public boolean isLocalRecodingSupported()

Description copied from class: `PrivacyCriterion`
Returns whether the criterion supports local recoding.

Specified by:
  `isLocalRecodingSupported` in class `PrivacyCriterion`
Returns:

#### render

    public ElementData render()

Description copied from class: `PrivacyCriterion`
Renders the privacy model

Specified by:
  `render` in class `PrivacyCriterion`
Returns:

#### toString

    public java.lang.String toString()

Description copied from class: `PrivacyCriterion`
Returns a string representation.

Specified by:
  `toString` in class `PrivacyCriterion`