de.lmu.ifi.dbs.elki.utilities.scaling.outlier

## Class MultiplicativeInverseScaling

• java.lang.Object
• de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MultiplicativeInverseScaling
• All Implemented Interfaces:
OutlierScaling, ScalingFunction

@Reference(authors="Hans-Peter Kriegel, Peer Kr\u00f6ger, Erich Schubert, Arthur Zimek",
title="Interpreting and Unifying Outlier Scores",
booktitle="Proc. 11th SIAM International Conference on Data Mining (SDM 2011)",
url="https://doi.org/10.1137/1.9781611972818.2",
bibkey="DBLP:conf/sdm/KriegelKSZ11")
public class MultiplicativeInverseScaling
extends java.lang.Object
implements OutlierScaling
Scaling function to invert values by computing 1/x, but in a variation that maps the values to the [0:1] interval and avoiding division by 0.

The exact formula can be written as $1 / (v \cdot \max_{x\neq 0}\frac{1}{|x|}) = \min_{x \neq 0}(|x|) / v$ with 1 / 0 := 1

Reference:

Hans-Peter Kriegel, Peer KrĂ¶ger, Erich Schubert, Arthur Zimek
Interpreting and Unifying Outlier Scores
Proc. 11th SIAM International Conference on Data Mining (SDM 2011)

Since:
0.3
Author:
Erich Schubert
• ### Constructor Summary

Constructors
Constructor and Description
MultiplicativeInverseScaling()
Constructor.
• ### Method Summary

All Methods
Modifier and Type Method and Description
double getMax()
Get maximum resulting value.
double getMin()
Get minimum resulting value.
double getScaled(double value)
Transform a given value using the scaling function.
<A> void prepare(A array, NumberArrayAdapter<?,A> adapter)
Prepare is called once for each data set, before getScaled() will be called.
void prepare(OutlierResult or)
Prepare is called once for each data set, before getScaled() will be called.
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• ### Constructor Detail

• #### MultiplicativeInverseScaling

public MultiplicativeInverseScaling()
Constructor.
• ### Method Detail

• #### getScaled

public double getScaled(double value)
Description copied from interface: ScalingFunction
Transform a given value using the scaling function.
Specified by:
getScaled in interface ScalingFunction
Parameters:
value - Original value
Returns:
Scaled value
• #### prepare

public void prepare(OutlierResult or)
Description copied from interface: OutlierScaling
Prepare is called once for each data set, before getScaled() will be called. This function can be used to extract global parameters such as means, minimums or maximums from the outlier scores.
Specified by:
prepare in interface OutlierScaling
Parameters:
or - Outlier result to use
• #### prepare

public <A> void prepare(A array,
NumberArrayAdapter<?,A> adapter)
Description copied from interface: OutlierScaling
Prepare is called once for each data set, before getScaled() will be called. This function can be used to extract global parameters such as means, minimums or maximums from the score array. The method using a full OutlierResult is preferred, as it will allow access to the metadata.
Specified by:
prepare in interface OutlierScaling
Parameters:
array - Data to process
adapter - Array adapter
• #### getMin

public double getMin()
Description copied from interface: ScalingFunction
Get minimum resulting value. May be Double.NaN or Double.NEGATIVE_INFINITY.
Specified by:
getMin in interface ScalingFunction
Returns:
Minimum resulting value.
• #### getMax

public double getMax()
Description copied from interface: ScalingFunction
Get maximum resulting value. May be Double.NaN or Double.POSITIVE_INFINITY.
Specified by:
getMax in interface ScalingFunction
Returns:
Maximum resulting value.