Package elki.utilities.scaling.outlier
Class SqrtStandardDeviationScaling
- java.lang.Object
-
- elki.utilities.scaling.outlier.SqrtStandardDeviationScaling
-
- 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 SqrtStandardDeviationScaling extends java.lang.Object implements OutlierScaling
Scaling that can map arbitrary values to a probability in the range of [0:1].Transformation is done using the formulas \[y = \sqrt{x - \min}\] \[s = \max\{0, \textrm{erf}(\lambda \frac{y-\mu}{\sigma\sqrt{2}})\}\]
Where min and mean \(\mu\) can be fixed to a given value, and stddev \(\sigma\) is then computed against this mean.
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SqrtStandardDeviationScaling.Par
Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description (package private) double
factor
Effective parameters.(package private) double
mean
Effective parameters.(package private) double
min
Effective parameters.(package private) double
plambda
Predefined lambda scaling factor.(package private) double
pmean
Pre-fixed minimum and mean.(package private) double
pmin
Pre-fixed minimum and mean.
-
Constructor Summary
Constructors Constructor Description SqrtStandardDeviationScaling(double pmin, double pmean, double plambda)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.
-
-
-
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 interfaceScalingFunction
- 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 interfaceOutlierScaling
- 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 fullOutlierResult
is preferred, as it will allow access to the metadata.- Specified by:
prepare
in interfaceOutlierScaling
- Parameters:
array
- Data to processadapter
- Array adapter
-
getMin
public double getMin()
Description copied from interface:ScalingFunction
Get minimum resulting value. May beDouble.NaN
orDouble.NEGATIVE_INFINITY
.- Specified by:
getMin
in interfaceScalingFunction
- Returns:
- Minimum resulting value.
-
getMax
public double getMax()
Description copied from interface:ScalingFunction
Get maximum resulting value. May beDouble.NaN
orDouble.POSITIVE_INFINITY
.- Specified by:
getMax
in interfaceScalingFunction
- Returns:
- Maximum resulting value.
-
-