
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<?>> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
 Reference:
 Eskin, Eleazar: Anomaly detection over noisy data using learned probability
 distributions. In Proc. of the Seventeenth International Conference on
 Machine Learning (ICML-2000).
 
| Modifier and Type | Class and Description | 
|---|---|
| static class  | GaussianUniformMixture.Parameterizer<V extends NumberVector<?>>Parameterization class. | 
| Modifier and Type | Field and Description | 
|---|---|
| private double | cHolds the value of  C_ID. | 
| static OptionID | C_IDParameter to specify the cutoff. | 
| static OptionID | L_IDParameter to specify the fraction of expected outliers. | 
| private static Logging | LOGThe logger for this class. | 
| private double | logllog(l) precomputed | 
| private double | logmllog(1-l) precomputed | 
| private static double | SINGULARITY_CHEATSmall value to increment diagonally of a matrix in order to avoid
 singularity before building the inverse. | 
| Constructor and Description | 
|---|
| GaussianUniformMixture(double l,
                      double c)Constructor with parameters. | 
| Modifier and Type | Method and Description | 
|---|---|
| TypeInformation[] | getInputTypeRestriction()Get the input type restriction used for negotiating the data query. | 
| protected Logging | getLogger()Get the (STATIC) logger for this class. | 
| private double | loglikelihoodAnomalous(DBIDs anomalousObjs)Loglikelihood anomalous objects. | 
| private double | loglikelihoodNormal(DBIDs objids,
                   Relation<V> database)Computes the loglikelihood of all normal objects. | 
| OutlierResult | run(Relation<V> relation)Run the algorithm | 
makeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
public static final OptionID L_ID
public static final OptionID C_ID
private static final double SINGULARITY_CHEAT
private double c
C_ID.private double logl
private double logml
public GaussianUniformMixture(double l,
                      double c)
l - l valuec - c valuepublic OutlierResult run(Relation<V> relation)
relation - Data relationprivate double loglikelihoodAnomalous(DBIDs anomalousObjs)
anomalousObjs - private double loglikelihoodNormal(DBIDs objids, Relation<V> database)
objids - Object IDs for 'normal' objects.database - Databasepublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>