Klasse AbstractMetricMultiDimensionalPotentiallyPrecomputed

Alle implementierten Schnittstellen:
Serializable
Bekannte direkte Unterklassen:
MetricMDNMLossPotentiallyPrecomputed, MetricMDNUEntropyPotentiallyPrecomputed, MetricMDNUNMEntropyPotentiallyPrecomputed, MetricMDNUNMNormalizedEntropyPotentiallyPrecomputed

public abstract class AbstractMetricMultiDimensionalPotentiallyPrecomputed extends AbstractMetricMultiDimensional
This class provides an abstract skeleton for the implementation of metrics that can either be precomputed or not. The decision is made at runtime depending on data properties.
Siehe auch:
  • Methodendetails

    • createMaxInformationLoss

      public InformationLoss<?> createMaxInformationLoss()
      Beschreibung aus Klasse kopiert: Metric
      Returns an instance of the maximal value.
      Setzt außer Kraft:
      createMaxInformationLoss in Klasse AbstractMetricMultiDimensional
      Gibt zurück:
    • createMinInformationLoss

      public InformationLoss<?> createMinInformationLoss()
      Beschreibung aus Klasse kopiert: Metric
      Returns an instance of the minimal value.
      Setzt außer Kraft:
      createMinInformationLoss in Klasse AbstractMetricMultiDimensional
      Gibt zurück:
    • getAggregateFunction

      public Metric.AggregateFunction getAggregateFunction()
      Beschreibung aus Klasse kopiert: Metric
      Returns the aggregate function of a multi-dimensional metric, null otherwise.
      Setzt außer Kraft:
      getAggregateFunction in Klasse AbstractMetricMultiDimensional
      Gibt zurück:
    • getGeneralizationFactor

      public double getGeneralizationFactor()
      Beschreibung aus Klasse kopiert: Metric
      Returns the factor used weight generalized values.
      Setzt außer Kraft:
      getGeneralizationFactor in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • getGeneralizationSuppressionFactor

      public double getGeneralizationSuppressionFactor()
      Beschreibung aus Klasse kopiert: Metric
      Returns the factor weighting generalization and suppression.
      Setzt außer Kraft:
      getGeneralizationSuppressionFactor in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
      A factor [0,1] weighting generalization and suppression. The default value is 0.5, which means that generalization and suppression will be treated equally. A factor of 0 will favor suppression, and a factor of 1 will favor generalization. The values in between can be used for balancing both methods.
    • getScore

      public ILScore getScore(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
      Beschreibung aus Klasse kopiert: Metric
      Calculates the score. Note: All score functions are expected to return a score value divided by the sensitivity of the score function.
      Setzt außer Kraft:
      getScore in Klasse Metric<AbstractILMultiDimensional>
      Parameter:
      node -
      groupify -
      Gibt zurück:
    • getSuppressionFactor

      public double getSuppressionFactor()
      Beschreibung aus Klasse kopiert: Metric
      Returns the factor used to weight suppressed values.
      Setzt außer Kraft:
      getSuppressionFactor in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • isIndependent

      public boolean isIndependent()
      Beschreibung aus Klasse kopiert: Metric
      Returns whether this metric requires the transformed data or groups to determine information loss.
      Setzt außer Kraft:
      isIndependent in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • isPrecomputed

      public boolean isPrecomputed()
      Beschreibung aus Klasse kopiert: Metric
      Returns whether the metric is precomputed
      Setzt außer Kraft:
      isPrecomputed in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • isScoreFunctionSupported

      public boolean isScoreFunctionSupported()
      Beschreibung aus Klasse kopiert: Metric
      Returns whether the metric provides a score function
      Setzt außer Kraft:
      isScoreFunctionSupported in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • getDefaultMetric

      protected AbstractMetricMultiDimensional getDefaultMetric()
      Returns the default variant.
      Gibt zurück:
    • getInformationLossInternal

      protected InformationLossWithBound<AbstractILMultiDimensional> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
      Beschreibung aus Klasse kopiert: Metric
      Evaluates the metric for the given node.
      Angegeben von:
      getInformationLossInternal in Klasse Metric<AbstractILMultiDimensional>
      Parameter:
      node - The node for which to compute the information loss
      groupify - The groupify operator of the previous check
      Gibt zurück:
      the double
    • getInformationLossInternal

      protected InformationLossWithBound<AbstractILMultiDimensional> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry)
      Beschreibung aus Klasse kopiert: Metric
      Returns the information loss that would be induced by suppressing the given entry. The loss is not necessarily consistent with the loss that is computed by getInformationLoss(node, groupify) but is guaranteed to be comparable for different entries from the same groupify operator.
      Angegeben von:
      getInformationLossInternal in Klasse Metric<AbstractILMultiDimensional>
      Parameter:
      entry -
      Gibt zurück:
    • getLowerBoundInternal

      protected AbstractILMultiDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node)
      Beschreibung aus Klasse kopiert: Metric
      Returns a lower bound for the information loss for the given node. This can be used to expose the results of monotonic shares of a metric, which can significantly speed-up the anonymization process. If no such metric exists, simply return null.
      Angegeben von:
      getLowerBoundInternal in Klasse Metric<AbstractILMultiDimensional>
      Parameter:
      node -
      Gibt zurück:
    • getLowerBoundInternal

      protected AbstractILMultiDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify)
      Beschreibung aus Klasse kopiert: Metric
      Returns a lower bound for the information loss for the given node. This can be used to expose the results of monotonic shares of a metric, which can significantly speed-up the anonymization process. If no such metric exists, simply return null.

      This variant of the method allows computing a monotonic share based on a groupified data representation. IMPORTANT NOTE: The groups may not have been classified correctly when the method is called, i.e., HashGroupifyEntry.isNotOutlier may not be set correctly!
      Angegeben von:
      getLowerBoundInternal in Klasse Metric<AbstractILMultiDimensional>
      Parameter:
      node -
      groupify -
      Gibt zurück:
    • getPrecomputedMetric

      protected AbstractMetricMultiDimensional getPrecomputedMetric()
      Returns the precomputed variant.
      Gibt zurück:
    • getThreshold

      protected double getThreshold()
      Returns the threshold.
      Gibt zurück:
    • initializeInternal

      protected void initializeInternal(org.deidentifier.arx.framework.data.DataManager manager, DataDefinition definition, org.deidentifier.arx.framework.data.Data input, org.deidentifier.arx.framework.data.GeneralizationHierarchy[] ahierarchies, ARXConfiguration config)
      Beschreibung aus Klasse kopiert: Metric
      Implement this to initialize the metric.
      Setzt außer Kraft:
      initializeInternal in Klasse AbstractMetricMultiDimensional
      Parameter:
      manager -
      definition -
      input -
      ahierarchies -
      config -