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

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.utilities.scaling.outlier.SqrtStandardDeviationScaling
All Implemented Interfaces:
InspectionUtilFrequentlyScanned, Parameterizable, OutlierScalingFunction, ScalingFunction

@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 SqrtStandardDeviationScaling
extends Object
implements OutlierScalingFunction

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) newscore = max(0, erf(lambda * (y - mean) / (stddev * sqrt(2)))) Where min and mean can be fixed to a given value, and stddev is then computed against this mean.


Nested Class Summary
static class SqrtStandardDeviationScaling.Parameterizer
          Parameterization class.
 
Field Summary
(package private)  double factor
          Scaling factor to use (usually: Lambda * Stddev * Sqrt(2))
protected  Double lambda
          Field storing the lambda value
static OptionID LAMBDA_ID
          Parameter to specify the lambda value Key: -sqrtstddevscale.lambda
(package private)  Double mean
          Mean to use
static OptionID MEAN_ID
          Parameter to specify a fixed mean to use.
(package private)  Double min
          Min to use
static OptionID MIN_ID
          Parameter to specify the fixed minimum to use.
 
Constructor Summary
SqrtStandardDeviationScaling(Double min, Double mean, Double lambda)
          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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MIN_ID

public static final OptionID MIN_ID
Parameter to specify the fixed minimum to use.

Key: -sqrtstddevscale.min


MEAN_ID

public static final OptionID MEAN_ID
Parameter to specify a fixed mean to use.

Key: -sqrtstddevscale.mean


LAMBDA_ID

public static final OptionID LAMBDA_ID
Parameter to specify the lambda value

Key: -sqrtstddevscale.lambda


lambda

protected Double lambda
Field storing the lambda value


min

Double min
Min to use


mean

Double mean
Mean to use


factor

double factor
Scaling factor to use (usually: Lambda * Stddev * Sqrt(2))

Constructor Detail

SqrtStandardDeviationScaling

public SqrtStandardDeviationScaling(Double min,
                                    Double mean,
                                    Double lambda)
Constructor.

Parameters:
min -
mean -
lambda -
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

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)