Klasse MetricMDNMLoss

Alle implementierten Schnittstellen:
Serializable
Bekannte direkte Unterklassen:
MetricMDNMLossPrecomputed

public class MetricMDNMLoss extends AbstractMetricMultiDimensional
This class implements a variant of the Loss metric.
Siehe auch:
  • Konstruktordetails

    • MetricMDNMLoss

      public MetricMDNMLoss()
      Default constructor which treats all transformation methods equally.
    • MetricMDNMLoss

      public MetricMDNMLoss(Metric.AggregateFunction function)
      Default constructor which treats all transformation methods equally.
      Parameter:
      function -
    • MetricMDNMLoss

      public MetricMDNMLoss(double gsFactor, Metric.AggregateFunction function)
      A constructor that allows to define a factor weighting generalization and suppression.
      Parameter:
      gsFactor - 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.
      function -
  • Methodendetails

    • getConfiguration

      public MetricConfiguration getConfiguration()
      Returns the configuration of this metric.
      Setzt außer Kraft:
      getConfiguration in Klasse Metric<AbstractILMultiDimensional>
      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.
    • getName

      public String getName()
      Beschreibung aus Klasse kopiert: Metric
      Returns the name of metric.
      Setzt außer Kraft:
      getName in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • 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:
    • isAbleToHandleMicroaggregation

      public boolean isAbleToHandleMicroaggregation()
      Beschreibung aus Klasse kopiert: Metric
      Returns whether this metric handles microaggregation
      Setzt außer Kraft:
      isAbleToHandleMicroaggregation in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • isGSFactorSupported

      public boolean isGSFactorSupported()
      Beschreibung aus Klasse kopiert: Metric
      Returns whether a generalization/suppression factor is supported
      Setzt außer Kraft:
      isGSFactorSupported 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:
    • render

      public ElementData render(ARXConfiguration config)
      Beschreibung aus Klasse kopiert: Metric
      Renders the privacy model
      Angegeben von:
      render in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • toString

      public String toString()
      Beschreibung aus Klasse kopiert: Metric
      Returns the name of metric.
      Setzt außer Kraft:
      toString in Klasse Metric<AbstractILMultiDimensional>
      Gibt zurück:
    • getInformationLossInternal

      protected ILMultiDimensionalWithBound getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> node, org.deidentifier.arx.framework.check.groupify.HashGroupify g)
      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
      g - The groupify operator of the previous check
      Gibt zurück:
      the double
    • getInformationLossInternal

      protected ILMultiDimensionalWithBound 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 g)
      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 -
      g -
      Gibt zurück:
    • getShares

      protected DomainShare[] getShares()
      For subclasses.
      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[] hierarchies, 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 -
      hierarchies -
      config -
    • normalizeAggregated

      protected double normalizeAggregated(double aggregate)
      Normalizes the aggregate.
      Parameter:
      aggregate -
      dimension -
      Gibt zurück:
    • normalizeGeneralized

      protected double normalizeGeneralized(double aggregate, int dimension)
      Normalizes the aggregate.
      Parameter:
      aggregate -
      dimension -
      Gibt zurück: