Package elki.utilities.scaling.outlier
Class OutlierGammaScaling
- java.lang.Object
-
- elki.utilities.scaling.outlier.OutlierGammaScaling
-
- All Implemented Interfaces:
OutlierScaling,ScalingFunction
- Direct Known Subclasses:
MinusLogGammaScaling
@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 OutlierGammaScaling extends java.lang.Object implements OutlierScaling
Scaling that can map arbitrary values to a probability in the range of [0:1] by assuming a Gamma distribution on the values.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 classOutlierGammaScaling.ParParameterization class.
-
Field Summary
Fields Modifier and Type Field Description (package private) doubleatmeanScore at the mean, for cut-off.(package private) doublekGamma parameter k(package private) OutlierScoreMetametaKeep a reference to the outlier score meta, for normalization.(package private) booleannormalizeStore flag to Normalize data before curve fitting.(package private) doublethetaGamma parameter theta
-
Constructor Summary
Constructors Constructor Description OutlierGammaScaling(boolean normalize)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublegetMax()Get maximum resulting value.doublegetMin()Get minimum resulting value.doublegetScaled(double value)Transform a given value using the scaling function.<A> voidprepare(A array, NumberArrayAdapter<?,A> adapter)Prepare is called once for each data set, before getScaled() will be called.voidprepare(OutlierResult or)Prepare is called once for each data set, before getScaled() will be called.protected doublepreScale(double score)Normalize data if necessary.
-
-
-
Field Detail
-
k
double k
Gamma parameter k
-
theta
double theta
Gamma parameter theta
-
atmean
double atmean
Score at the mean, for cut-off.
-
normalize
boolean normalize
Store flag to Normalize data before curve fitting.
-
meta
OutlierScoreMeta meta
Keep a reference to the outlier score meta, for normalization.
-
-
Method Detail
-
getScaled
public double getScaled(double value)
Description copied from interface:ScalingFunctionTransform a given value using the scaling function.- Specified by:
getScaledin interfaceScalingFunction- Parameters:
value- Original value- Returns:
- Scaled value
-
prepare
public void prepare(OutlierResult or)
Description copied from interface:OutlierScalingPrepare 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:
preparein interfaceOutlierScaling- Parameters:
or- Outlier result to use
-
prepare
public <A> void prepare(A array, NumberArrayAdapter<?,A> adapter)Description copied from interface:OutlierScalingPrepare 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 fullOutlierResultis preferred, as it will allow access to the metadata.- Specified by:
preparein interfaceOutlierScaling- Parameters:
array- Data to processadapter- Array adapter
-
preScale
protected double preScale(double score)
Normalize data if necessary.Note: this is overridden by
MinusLogGammaScaling!- Parameters:
score- Original score- Returns:
- Normalized score.
-
getMin
public double getMin()
Description copied from interface:ScalingFunctionGet minimum resulting value. May beDouble.NaNorDouble.NEGATIVE_INFINITY.- Specified by:
getMinin interfaceScalingFunction- Returns:
- Minimum resulting value.
-
getMax
public double getMax()
Description copied from interface:ScalingFunctionGet maximum resulting value. May beDouble.NaNorDouble.POSITIVE_INFINITY.- Specified by:
getMaxin interfaceScalingFunction- Returns:
- Maximum resulting value.
-
-