@Reference(authors="J. Gao, P.-N. Tan", title="Converting Output Scores from Outlier Detection Algorithms into Probability Estimates", booktitle="Proc. Sixth International Conference on Data Mining, 2006. ICDM\'06.", url="http://dx.doi.org/10.1109/ICDM.2006.43") public class MixtureModelOutlierScalingFunction extends Object implements OutlierScalingFunction
Modifier and Type | Field and Description |
---|---|
protected double |
alpha
Mixing parameter alpha
|
private static double |
DELTA
Convergence parameter
|
protected double |
lambda
Parameter lambda of the exponential distribution (inliers)
|
private static Logging |
LOG
The logger for this class.
|
protected double |
mu
Parameter mu of the gaussian distribution (outliers)
|
static double |
ONEBYSQRT2PI
Precomputed static value
|
protected double |
sigma
Parameter sigma of the gaussian distribution (outliers)
|
Constructor and Description |
---|
MixtureModelOutlierScalingFunction() |
Modifier and Type | Method and Description |
---|---|
protected static double |
calcP_i(double f,
double mu,
double sigma)
Compute p_i (Gaussian distribution, outliers)
|
protected static double |
calcPosterior(double f,
double alpha,
double mu,
double sigma,
double lambda)
Compute the a posterior probability for the given parameters.
|
protected static double |
calcQ_i(double f,
double lambda)
Compute q_i (Exponential distribution, inliers)
|
double |
getMax()
Get maximum resulting value.
|
double |
getMin()
Get minimum resulting value.
|
double |
getScaled(double value)
Transform a given value using the scaling function.
|
<A> void |
prepare(A array,
NumberArrayAdapter<?,A> adapter)
Prepare is called once for each data set, before getScaled() will be
called.
|
void |
prepare(OutlierResult or)
Prepare is called once for each data set, before getScaled() will be
called.
|
private static final Logging LOG
protected double mu
protected double sigma
protected double lambda
protected double alpha
public static final double ONEBYSQRT2PI
private static final double DELTA
protected static double calcP_i(double f, double mu, double sigma)
f
- valuemu
- Mu parametersigma
- Sigma parameterprotected static double calcQ_i(double f, double lambda)
f
- valuelambda
- Lambda parameterprotected static double calcPosterior(double f, double alpha, double mu, double sigma, double lambda)
f
- valuealpha
- Alpha (mixing) parametermu
- Mu (for gaussian)sigma
- Sigma (for gaussian)lambda
- Lambda (for exponential)public void prepare(OutlierResult or)
OutlierScalingFunction
prepare
in interface OutlierScalingFunction
or
- Outlier result to usepublic <A> void prepare(A array, NumberArrayAdapter<?,A> adapter)
OutlierScalingFunction
OutlierResult
is preferred, as it will
allow access to the metadata.prepare
in interface OutlierScalingFunction
array
- Data to processadapter
- Array adapterpublic double getMax()
ScalingFunction
Double.NaN
or
Double.POSITIVE_INFINITY
.getMax
in interface ScalingFunction
public double getMin()
ScalingFunction
Double.NaN
or
Double.NEGATIVE_INFINITY
.getMin
in interface ScalingFunction
public double getScaled(double value)
ScalingFunction
getScaled
in interface ScalingFunction
value
- Original value