# AbstractMetricMultiDimensionalPotentiallyPrecomputed (ARX API Documentation)

org.deidentifier.arx.metric.v2

## Class AbstractMetricMultiDimensionalPotentiallyPrecomputed

- java.lang.Object
- - org.deidentifier.arx.metric.Metric<AbstractILMultiDimensional>
  - - org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensional
    - - org.deidentifier.arx.metric.v2.AbstractMetricMultiDimensionalPotentiallyPrecomputed

- All Implemented Interfaces:
    java.io.Serializable
  Direct Known Subclasses:
    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.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.deidentifier.arx.metric.Metric

      `Metric.AggregateFunction`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `InformationLoss<?>` | `createMaxInformationLoss()` Returns an instance of the maximal value.
    `InformationLoss<?>` | `createMinInformationLoss()` Returns an instance of the minimal value.
    `Metric.AggregateFunction` | `getAggregateFunction()` Returns the aggregate function of a multi-dimensional metric, null otherwise.
    `double` | `getGeneralizationFactor()` Returns the factor used weight generalized values.
    `double` | `getGeneralizationSuppressionFactor()` Returns the factor weighting generalization and suppression.
    `double` | `getSuppressionFactor()` Returns the factor used to weight suppressed values.
    `boolean` | `isIndependent()` Returns whether this metric requires the transformed data or groups to determine information loss.
    `boolean` | `isPrecomputed()` Returns whether the metric is precomputed

    - ### Methods inherited from class org.deidentifier.arx.metric.Metric

      `createAECSMetric, createAECSMetric, createAmbiguityMetric, 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, getConfiguration, getDescription, getInformationLoss, getInformationLoss, getLowerBound, getLowerBound, getName, initialize, isAbleToHandleMicroaggregation, isGSFactorSupported, isMonotonic, isMonotonicWithGeneralization, isMonotonicWithSuppression, isMultiDimensional, isWeighted, list, render, toString`

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

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

- - ### Method Detail

    - #### createMaxInformationLoss

          public InformationLoss<?> createMaxInformationLoss()

      Description copied from class: `Metric`
      Returns an instance of the maximal value.
      Overrides:
        `createMaxInformationLoss` in class `AbstractMetricMultiDimensional`
      Returns:

    - #### createMinInformationLoss

          public InformationLoss<?> createMinInformationLoss()

      Description copied from class: `Metric`
      Returns an instance of the minimal value.
      Overrides:
        `createMinInformationLoss` in class `AbstractMetricMultiDimensional`
      Returns:

    - #### getAggregateFunction

          public Metric.AggregateFunction getAggregateFunction()

      Description copied from class: `Metric`
      Returns the aggregate function of a multi-dimensional metric, null otherwise.
      Overrides:
        `getAggregateFunction` in class `AbstractMetricMultiDimensional`
      Returns:

    - #### getGeneralizationFactor

          public double getGeneralizationFactor()

      Description copied from class: `Metric`
      Returns the factor used weight generalized values.
      Overrides:
        `getGeneralizationFactor` in class `Metric<AbstractILMultiDimensional>`
      Returns:

    - #### getGeneralizationSuppressionFactor

          public double getGeneralizationSuppressionFactor()

      Description copied from class: `Metric`
      Returns the factor weighting generalization and suppression.
      Overrides:
        `getGeneralizationSuppressionFactor` in class `Metric<AbstractILMultiDimensional>`
      Returns:
        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.

    - #### getSuppressionFactor

          public double getSuppressionFactor()

      Description copied from class: `Metric`
      Returns the factor used to weight suppressed values.
      Overrides:
        `getSuppressionFactor` in class `Metric<AbstractILMultiDimensional>`
      Returns:

    - #### isIndependent

          public boolean isIndependent()

      Description copied from class: `Metric`
      Returns whether this metric requires the transformed data or groups to determine information loss.
      Overrides:
        `isIndependent` in class `Metric<AbstractILMultiDimensional>`
      Returns:

    - #### isPrecomputed

          public boolean isPrecomputed()

      Description copied from class: `Metric`
      Returns whether the metric is precomputed
      Overrides:
        `isPrecomputed` in class `Metric<AbstractILMultiDimensional>`
      Returns: