Package org.deidentifier.arx.metric.v2
Klasse MetricSDNMEntropyBasedInformationLoss
java.lang.Object
org.deidentifier.arx.metric.Metric<ILSingleDimensional>
org.deidentifier.arx.metric.v2.AbstractMetricSingleDimensional
org.deidentifier.arx.metric.v2.MetricSDNMEntropyBasedInformationLoss
- Alle implementierten Schnittstellen:
Serializable
This class implements a the entropy-based information loss model proposed in:
A Game Theoretic Framework for Analyzing Re-Identification Risk. Zhiyu Wan, Yevgeniy Vorobeychik, Weiyi Xia, Ellen Wright Clayton, Murat Kantarcioglu, Ranjit Ganta, Raymond Heatherly, Bradley A. Malin PLOS|ONE. 2015.
A Game Theoretic Framework for Analyzing Re-Identification Risk. Zhiyu Wan, Yevgeniy Vorobeychik, Weiyi Xia, Ellen Wright Clayton, Murat Kantarcioglu, Ranjit Ganta, Raymond Heatherly, Bradley A. Malin PLOS|ONE. 2015.
- Siehe auch:
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen org.deidentifier.arx.metric.Metric
Metric.AggregateFunction -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungCreates a new instance.MetricSDNMEntropyBasedInformationLoss(double gsFactor) Creates a new instance. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungReturns an instance of the maximal value.Returns an instance of the minimal value.Returns the configuration of this metric.static doublegetEntropyBasedInformationLoss(org.deidentifier.arx.framework.lattice.Transformation<?> transformation, org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry, DomainShare[] shares, org.deidentifier.arx.framework.data.DataAggregationInformation aggregation, double maxIL) Implements the entropy-based IL model.protected ILSingleDimensionalWithBoundgetInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> transformation, org.deidentifier.arx.framework.check.groupify.HashGroupify g) Evaluates the metric for the given node.protected InformationLossWithBound<ILSingleDimensional> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> transformation, org.deidentifier.arx.framework.check.groupify.HashGroupifyEntry entry) Returns the information loss that would be induced by suppressing the given entry.protected ILSingleDimensionalgetLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> transformation) Returns a lower bound for the information loss for the given node.protected ILSingleDimensionalgetLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> transformation, org.deidentifier.arx.framework.check.groupify.HashGroupify groupify) Returns a lower bound for the information loss for the given node.static doublegetMaximalEntropyBasedInformationLoss(DomainShare[] domainShares, org.deidentifier.arx.framework.data.DataAggregationInformation aggregation) Returns the maximal entropy-based information lossgetName()Returns the name of metric.protected DomainShare[]For subclasses.protected voidinitializeInternal(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) Implement this to initialize the metric.booleanReturns whether this metric handles microaggregationbooleanReturns whether a generalization/suppression factor is supportedrender(ARXConfiguration config) Renders the privacy modeltoString()Returns the name of metric.Von Klasse geerbte Methoden org.deidentifier.arx.metric.v2.AbstractMetricSingleDimensional
createInformationLoss, createInformationLoss, getAggregationFunctionsGeneralized, getAggregationFunctionsNonGeneralized, getAggregationIndicesGeneralized, getAggregationIndicesNonGeneralized, getAggregationInformation, getNumTuples, setNumTuplesVon 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, getAggregateFunction, getDescription, getDescription, getGeneralizationFactor, getGeneralizationSuppressionFactor, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getNumRecords, getScore, getSubset, getSuppressionFactor, initialize, isAbleToHandleClusteredMicroaggregation, isIndependent, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isPrecomputed, isScoreFunctionSupported, isWeighted, list, round
-
Konstruktordetails
-
MetricSDNMEntropyBasedInformationLoss
public MetricSDNMEntropyBasedInformationLoss()Creates a new instance. Default constructor which treats all transformation methods equally. -
MetricSDNMEntropyBasedInformationLoss
public MetricSDNMEntropyBasedInformationLoss(double gsFactor) Creates a new instance.- 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.
-
-
Methodendetails
-
createMaxInformationLoss
Beschreibung aus Klasse kopiert:MetricReturns an instance of the maximal value.- Setzt außer Kraft:
createMaxInformationLossin KlasseAbstractMetricSingleDimensional- Gibt zurück:
-
createMinInformationLoss
Beschreibung aus Klasse kopiert:MetricReturns an instance of the minimal value.- Setzt außer Kraft:
createMinInformationLossin KlasseAbstractMetricSingleDimensional- Gibt zurück:
-
getConfiguration
Returns the configuration of this metric.- Setzt außer Kraft:
getConfigurationin KlasseMetric<ILSingleDimensional>- Gibt zurück:
-
getName
Beschreibung aus Klasse kopiert:MetricReturns the name of metric.- Setzt außer Kraft:
getNamein KlasseMetric<ILSingleDimensional>- Gibt zurück:
-
isAbleToHandleMicroaggregation
public boolean isAbleToHandleMicroaggregation()Beschreibung aus Klasse kopiert:MetricReturns whether this metric handles microaggregation- Setzt außer Kraft:
isAbleToHandleMicroaggregationin KlasseMetric<ILSingleDimensional>- 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<ILSingleDimensional>- Gibt zurück:
-
render
Beschreibung aus Klasse kopiert:MetricRenders the privacy model- Angegeben von:
renderin KlasseMetric<ILSingleDimensional>- Gibt zurück:
-
toString
Beschreibung aus Klasse kopiert:MetricReturns the name of metric.- Setzt außer Kraft:
toStringin KlasseMetric<ILSingleDimensional>- Gibt zurück:
-
getInformationLossInternal
protected ILSingleDimensionalWithBound getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> transformation, org.deidentifier.arx.framework.check.groupify.HashGroupify g) Beschreibung aus Klasse kopiert:MetricEvaluates the metric for the given node.- Angegeben von:
getInformationLossInternalin KlasseMetric<ILSingleDimensional>- Parameter:
transformation- The node for which to compute the information lossg- The groupify operator of the previous check- Gibt zurück:
- the double
-
getInformationLossInternal
protected InformationLossWithBound<ILSingleDimensional> getInformationLossInternal(org.deidentifier.arx.framework.lattice.Transformation<?> transformation, org.deidentifier.arx.framework.check.groupify.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<ILSingleDimensional>- Parameter:
entry-- Gibt zurück:
-
getLowerBoundInternal
protected ILSingleDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> transformation) 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<ILSingleDimensional>- Parameter:
transformation-- Gibt zurück:
-
getLowerBoundInternal
protected ILSingleDimensional getLowerBoundInternal(org.deidentifier.arx.framework.lattice.Transformation<?> transformation, org.deidentifier.arx.framework.check.groupify.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<ILSingleDimensional>- Parameter:
transformation-groupify-- 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:MetricImplement this to initialize the metric.- Setzt außer Kraft:
initializeInternalin KlasseAbstractMetricSingleDimensional- Parameter:
manager-definition-input-hierarchies-config-