Package org.deidentifier.arx.metric.v2
Klasse MetricMDNUEntropyPrecomputed
java.lang.Object
org.deidentifier.arx.metric.Metric<AbstractILMultiDimensional>
org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensional
org.deidentifier.arx.metric.v2.MetricMDNUEntropyPrecomputed
- Alle implementierten Schnittstellen:
Serializable
- Bekannte direkte Unterklassen:
MetricMDNUEntropy,MetricMDNUNMEntropyPrecomputed
This class provides an efficient implementation of the non-uniform entropy
metric. It avoids a cell-by-cell process by utilizing a three-dimensional
array that maps identifiers to their frequency for all quasi-identifiers and
generalization levels. It further reduces the overhead induced by subsequent
calls by caching the results for previous columns and generalization levels.
See:
A. De Waal and L. Willenborg: "Information loss through global recoding and local suppression" Netherlands Off Stat, vol. 14, pp. 17–20, 1999.
A. De Waal and L. Willenborg: "Information loss through global recoding and local suppression" Netherlands Off Stat, vol. 14, pp. 17–20, 1999.
- Siehe auch:
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen org.deidentifier.arx.metric.Metric
Metric.AggregateFunction -
Feldübersicht
Von Klasse geerbte Felder org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensional
k -
Konstruktorübersicht
KonstruktorenModifiziererKonstruktorBeschreibungprotectedCreates a new instance.MetricMDNUEntropyPrecomputed(boolean monotonicWithGeneralization, boolean monotonicWithSuppression, boolean independent, double gsFactor, Metric.AggregateFunction function) Precomputed.protectedMetricMDNUEntropyPrecomputed(double gsFactor, Metric.AggregateFunction function) Creates a new instance. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungReturns the configuration of this metric.protected ILMultiDimensionalWithBoundgetInformationLossInternal(Transformation<?> node, HashGroupify g) Evaluates the metric for the given node.protected ILMultiDimensionalWithBoundgetInformationLossInternal(Transformation<?> node, HashGroupifyEntry entry) Returns the information loss that would be induced by suppressing the given entry.protected double[]getInformationLossInternalRaw(Transformation<?> node, HashGroupify g) protected AbstractILMultiDimensionalgetLowerBoundInternal(Transformation<?> node) Returns a lower bound for the information loss for the given node.protected AbstractILMultiDimensionalgetLowerBoundInternal(Transformation<?> node, HashGroupify groupify) Returns a lower bound for the information loss for the given node.getScore(Transformation<?> node, HashGroupify groupify) Calculates the score.protected double[]Returns the upper bound of the entropy value per columnprotected voidinitialize(double[][] cache, int[][][] cardinalities, int[][][] hierarchies) For backwards compatibility.protected voidinitializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config) Implement this to initialize the metric.booleanReturns whether a generalization/suppression factor is supportedbooleanReturns whether the metric is precomputedbooleanReturns whether the metric provides a score functionrender(ARXConfiguration config) Renders the privacy modeltoString()Returns the name of metric.Von Klasse geerbte Methoden org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensional
createInformationLoss, createMaxInformationLoss, createMinInformationLoss, getAggregateFunction, getAggregationFunctionsGeneralized, getAggregationFunctionsNonGeneralized, getAggregationIndicesGeneralized, getAggregationIndicesNonGeneralized, getAggregationInformation, getDimensions, getDimensionsAggregated, getDimensionsGeneralized, initialize, setMax, setMinVon Klasse geerbte Methoden org.deidentifier.arx.metric.Metric
createAECSMetric, createAECSMetric, createAmbiguityMetric, createClassificationMetric, createClassificationMetric, createDiscernabilityMetric, createDiscernabilityMetric, createEntropyBasedInformationLossMetric, createEntropyBasedInformationLossMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createEntropyMetric, createHeightMetric, createHeightMetric, createInstanceOfHighestScore, createInstanceOfLowestScore, createKLDivergenceMetric, createLossMetric, createLossMetric, createLossMetric, createLossMetric, createMetric, createNormalizedEntropyMetric, createNormalizedEntropyMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecisionMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedEntropyMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedLossMetric, createPrecomputedNormalizedEntropyMetric, createPrecomputedNormalizedEntropyMetric, createPublisherPayoutMetric, createPublisherPayoutMetric, createStaticMetric, createStaticMetric, getDescription, getDescription, getGeneralizationFactor, getGeneralizationSuppressionFactor, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getName, getNumRecords, getSubset, getSuppressionFactor, initialize, isAbleToHandleClusteredMicroaggregation, isAbleToHandleMicroaggregation, isIndependent, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isWeighted, list, round
-
Konstruktordetails
-
MetricMDNUEntropyPrecomputed
public MetricMDNUEntropyPrecomputed(boolean monotonicWithGeneralization, boolean monotonicWithSuppression, boolean independent, double gsFactor, Metric.AggregateFunction function) Precomputed.- Parameter:
monotonicWithGeneralization-monotonicWithSuppression-independent-gsFactor-function-
-
MetricMDNUEntropyPrecomputed
protected MetricMDNUEntropyPrecomputed()Creates a new instance. -
MetricMDNUEntropyPrecomputed
Creates a new instance.- Parameter:
gsFactor-function-
-
-
Methodendetails
-
getConfiguration
Returns the configuration of this metric.- Setzt außer Kraft:
getConfigurationin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
getScore
Beschreibung aus Klasse kopiert:MetricCalculates 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:
getScorein KlasseMetric<AbstractILMultiDimensional>- Parameter:
node-groupify-- Gibt zurück:
-
isGSFactorSupported
public boolean isGSFactorSupported()Beschreibung aus Klasse kopiert:MetricReturns whether a generalization/suppression factor is supported- Setzt außer Kraft:
isGSFactorSupportedin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
isPrecomputed
public boolean isPrecomputed()Beschreibung aus Klasse kopiert:MetricReturns whether the metric is precomputed- Setzt außer Kraft:
isPrecomputedin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
isScoreFunctionSupported
public boolean isScoreFunctionSupported()Beschreibung aus Klasse kopiert:MetricReturns whether the metric provides a score function- Setzt außer Kraft:
isScoreFunctionSupportedin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
render
Beschreibung aus Klasse kopiert:MetricRenders the privacy model- Angegeben von:
renderin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
toString
Beschreibung aus Klasse kopiert:MetricReturns the name of metric.- Setzt außer Kraft:
toStringin KlasseMetric<AbstractILMultiDimensional>- Gibt zurück:
-
getInformationLossInternal
protected ILMultiDimensionalWithBound getInformationLossInternal(Transformation<?> node, HashGroupify g) Beschreibung aus Klasse kopiert:MetricEvaluates the metric for the given node.- Angegeben von:
getInformationLossInternalin KlasseMetric<AbstractILMultiDimensional>- Parameter:
node- The node for which to compute the information lossg- The groupify operator of the previous check- Gibt zurück:
- the double
-
getInformationLossInternal
protected ILMultiDimensionalWithBound getInformationLossInternal(Transformation<?> node, HashGroupifyEntry entry) Beschreibung aus Klasse kopiert:MetricReturns the information loss that would be induced by suppressing the given entry. The loss is not necessarily consistent with the loss that is computed bygetInformationLoss(node, groupify)but is guaranteed to be comparable for different entries from the same groupify operator.- Angegeben von:
getInformationLossInternalin KlasseMetric<AbstractILMultiDimensional>- Parameter:
entry-- Gibt zurück:
-
getInformationLossInternalRaw
- Parameter:
node-g-- Gibt zurück:
-
getLowerBoundInternal
Beschreibung aus Klasse kopiert:MetricReturns 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 returnnull.- Angegeben von:
getLowerBoundInternalin KlasseMetric<AbstractILMultiDimensional>- Parameter:
node-- Gibt zurück:
-
getLowerBoundInternal
protected AbstractILMultiDimensional getLowerBoundInternal(Transformation<?> node, HashGroupify groupify) Beschreibung aus Klasse kopiert:MetricReturns 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 returnnull.
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:
getLowerBoundInternalin KlasseMetric<AbstractILMultiDimensional>- Parameter:
node-groupify-- Gibt zurück:
-
getUpperBounds
protected double[] getUpperBounds()Returns the upper bound of the entropy value per column- Gibt zurück:
-
initialize
protected void initialize(double[][] cache, int[][][] cardinalities, int[][][] hierarchies) For backwards compatibility.- Parameter:
cache-cardinalities-hierarchies-
-
initializeInternal
protected void initializeInternal(DataManager manager, DataDefinition definition, Data input, GeneralizationHierarchy[] hierarchies, ARXConfiguration config) Beschreibung aus Klasse kopiert:MetricImplement this to initialize the metric.- Setzt außer Kraft:
initializeInternalin KlasseAbstractMetricMultiDimensional- Parameter:
manager-definition-input-hierarchies-config-
-