Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

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

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

public class OutlierGammaScaling
extends AbstractLoggable
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.

Author:
Erich Schubert

Field Summary
(package private)  double atmean
          Score at the mean, for cut-off.
(package private)  double k
          Gamma parameter k
(package private)  double mean
          Mean value
(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.
(package private)  Flag NORMALIZE_FLAG
          Normalization flag.
private static OptionID NORMALIZE_ID
          Option to normalize data before fitting the gamma curve.
(package private)  double theta
          Gamma parameter theta
(package private)  double var
          Variance
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
 
Constructor Summary
OutlierGammaScaling(Parameterization config)
          Constructor, adhering to Parameterizable
 
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(Database<?> db, Result result, 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 de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, progress, verbose, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NORMALIZE_ID

private static final OptionID NORMALIZE_ID
Option to normalize data before fitting the gamma curve.


NORMALIZE_FLAG

Flag NORMALIZE_FLAG
Normalization flag.
   -gammascale.normalize
 


k

double k
Gamma parameter k


theta

double theta
Gamma parameter theta


mean

double mean
Mean value


var

double var
Variance


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(Parameterization config)
Constructor, adhering to Parameterizable

Parameters:
config - Parameterization
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(Database<?> db,
                    Result result,
                    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:
db - Database used
result - Result object
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.3 (2010-03-31_1612)