|
|
|||||||||||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.lmu.ifi.dbs.elki.logging.AbstractLoggable
de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<V,OutlierResult>
de.lmu.ifi.dbs.elki.algorithm.outlier.GaussianUniformMixture<V>
V
- Vector Type@Title(value="Gaussian-Uniform Mixture Model Outlier Detection") @Description(value="Fits a mixture model consisting of a Gaussian and a uniform distribution to the data.") @Reference(prefix="Generalization using the likelihood gain as outlier score of", authors="Eskin, Eleazar", title="Anomaly detection over noisy data using learned probability distributions", booktitle="Proc. of the Seventeenth International Conference on Machine Learning (ICML-2000)") public class GaussianUniformMixture<V extends NumberVector<V,Double>>
Outlier detection algorithm using a mixture model approach. The data is modeled as a mixture of two distributions, a Gaussian distribution for ordinary data and a uniform distribution for outliers. At first all Objects are in the set of normal objects and the set of anomalous objects is empty. An iterative procedure then transfers objects from the ordinary set to the anomalous set if the transfer increases the overall likelihood of the data.
Reference:
Eskin, Eleazar: Anomaly detection over noisy data using learned probability
distributions. In Proc. of the Seventeenth International Conference on
Machine Learning (ICML-2000).
Field Summary | |
---|---|
private double |
c
Holds the value of C_PARAM . |
static OptionID |
C_ID
OptionID for C_PARAM |
private DoubleParameter |
C_PARAM
Parameter to specify the cutoff, Key: -mmo.c
|
private double |
l
Holds the value of L_PARAM . |
static OptionID |
L_ID
OptionID for L_PARAM |
private DoubleParameter |
L_PARAM
Parameter to specify the fraction of expected outliers, Key: -mmo.l
|
private double |
logl
log(l) precomputed |
private double |
logml
log(1-l) precomputed |
static AssociationID<Double> |
MMOD_OFLAG
The association id to associate the MMOD_OFLAF of an object for the GaussianUniformMixture algorithm. |
private static double |
SINGULARITY_CHEAT
Small value to increment diagonally of a matrix in order to avoid singularity before building the inverse. |
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable |
---|
debug, logger |
Constructor Summary | |
---|---|
GaussianUniformMixture(Parameterization config)
Constructor, adhering to Parameterizable |
Method Summary | |
---|---|
private double |
loglikelihoodAnomalous(Collection<Integer> anomalousObjs)
Loglikelihood anomalous objects. |
private double |
loglikelihoodNormal(Collection<Integer> objids,
Database<V> database)
Computes the loglikelihood of all normal objects. |
protected OutlierResult |
runInTime(Database<V> database)
The run method encapsulated in measure of runtime. |
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm |
---|
isTime, isVerbose, run, setTime, setVerbose |
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 |
---|
public static final AssociationID<Double> MMOD_OFLAG
public static final OptionID L_ID
L_PARAM
public static final OptionID C_ID
C_PARAM
private static final double SINGULARITY_CHEAT
private final DoubleParameter L_PARAM
Key: -mmo.l
private double l
L_PARAM
.
private final DoubleParameter C_PARAM
Key: -mmo.c
private double c
C_PARAM
.
private double logl
private double logml
Constructor Detail |
---|
public GaussianUniformMixture(Parameterization config)
Parameterizable
config
- ParameterizationMethod Detail |
---|
protected OutlierResult runInTime(Database<V> database) throws IllegalStateException
AbstractAlgorithm
runInTime
in class AbstractAlgorithm<V extends NumberVector<V,Double>,OutlierResult>
database
- the database to run the algorithm on
IllegalStateException
- if the algorithm has not been initialized
properly (e.g. the setParameters(String[]) method has been failed
to be called).private double loglikelihoodAnomalous(Collection<Integer> anomalousObjs)
anomalousObjs
-
private double loglikelihoodNormal(Collection<Integer> objids, Database<V> database)
objids
- Object IDs for 'normal' objects.database
- Database
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |