@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
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.Modifier and Type | Class and Description |
---|---|
static class |
SqrtStandardDeviationScaling.Parameterizer
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
(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 and Description |
---|
SqrtStandardDeviationScaling(Double min,
Double mean,
Double lambda)
Constructor.
|
Modifier and Type | Method and 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.
|
void |
prepare(OutlierResult or)
Prepare is called once for each data set, before getScaled() will be
called.
|
public static final OptionID MIN_ID
Key: -sqrtstddevscale.min
public static final OptionID MEAN_ID
Key: -sqrtstddevscale.mean
public static final OptionID LAMBDA_ID
Key: -sqrtstddevscale.lambda
protected Double lambda
Double min
Double mean
double factor
public double getScaled(double value)
ScalingFunction
getScaled
in interface ScalingFunction
value
- Original valuepublic void prepare(OutlierResult or)
OutlierScalingFunction
prepare
in interface OutlierScalingFunction
or
- Outlier result to usepublic double getMin()
ScalingFunction
Double.NaN
or
Double.NEGATIVE_INFINITY
.getMin
in interface ScalingFunction
public double getMax()
ScalingFunction
Double.NaN
or
Double.POSITIVE_INFINITY
.getMax
in interface ScalingFunction