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

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierGammaScaling
All Implemented Interfaces:
InspectionUtilFrequentlyScanned, Parameterizable, OutlierScalingFunction, ScalingFunction
Direct Known Subclasses:
MinusLogGammaScaling

@Reference(authors="H.-P. Kriegel, P. Kr\u00f6ger, E. Schubert, A. Zimek",
           title="Interpreting and Unifying Outlier Scores",
           booktitle="Proc. 11th SIAM International Conference on Data Mining (SDM), Mesa, AZ, 2011",
           url="http://www.dbs.ifi.lmu.de/~zimek/publications/SDM2011/SDM11-outlier-preprint.pdf")
public class OutlierGammaScaling
extends Object
implements OutlierScalingFunction

Scaling that can map arbitrary values to a probability in the range of [0:1] by assuming a Gamma distribution on the values.


Nested Class Summary
static class OutlierGammaScaling.Parameterizer
          Parameterization class.
 
Field Summary
(package private)  double atmean
          Score at the mean, for cut-off.
(package private)  double k
          Gamma parameter k
(package private)  OutlierScoreMeta meta
          Keep a reference to the outlier score meta, for normalization.
(package private)  boolean normalize
          Store flag to Normalize data before curve fitting.
static OptionID NORMALIZE_ID
          Normalization flag.
(package private)  double theta
          Gamma parameter theta
 
Constructor Summary
OutlierGammaScaling(boolean normalize)
          Constructor.
 
Method Summary
 double getMax()
          Get maximum resulting value.
 double getMin()
          Get minimum resulting value.
 double getScaled(double value)
          Transform a given value using the scaling function.
 void prepare(OutlierResult or)
          Prepare is called once for each data set, before getScaled() will be called.
protected  double preScale(double score)
          Normalize data if necessary.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NORMALIZE_ID

public static final OptionID NORMALIZE_ID
Normalization flag.
 -gammascale.normalize
 


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.

Constructor Detail

OutlierGammaScaling

public OutlierGammaScaling(boolean normalize)
Constructor.

Parameters:
normalize - Normalization flag
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: OutlierScalingFunction
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 Database, Result or Annotation.

Specified by:
prepare in interface OutlierScalingFunction
Parameters:
or - Outlier result to use

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: 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.

Release 0.4.0 (2011-09-20_1324)