de.lmu.ifi.dbs.elki.algorithm.outlier
Class LOCI<O,D extends NumberDistance<D,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<R>
      extended by de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
          extended by de.lmu.ifi.dbs.elki.algorithm.outlier.LOCI<O,D>
Type Parameters:
O - Object type
D - Distance type
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable

@Title(value="LOCI: Fast Outlier Detection Using the Local Correlation Integral")
@Description(value="Algorithm to compute outliers based on the Local Correlation Integral")
@Reference(authors="S. Papadimitriou, H. Kitagawa, P. B. Gibbons, C. Faloutsos",
           title="LOCI: Fast Outlier Detection Using the Local Correlation Integral",
           booktitle="Proc. 19th IEEE Int. Conf. on Data Engineering (ICDE \'03), Bangalore, India, 2003",
           url="http://dx.doi.org/10.1109/ICDE.2003.1260802")
public class LOCI<O,D extends NumberDistance<D,?>>
extends AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
implements OutlierAlgorithm

Fast Outlier Detection Using the "Local Correlation Integral". Exact implementation only, not aLOCI. TODO: add aLOCI Outlier detection using multiple epsilon neighborhoods. Based on: S. Papadimitriou, H. Kitagawa, P. B. Gibbons and C. Faloutsos: LOCI: Fast Outlier Detection Using the Local Correlation Integral. In: Proc. 19th IEEE Int. Conf. on Data Engineering (ICDE '03), Bangalore, India, 2003.


Nested Class Summary
static class LOCI.Parameterizer<O,D extends NumberDistance<D,?>>
          Parameterization class.
 
Field Summary
private  double alpha
          Holds the value of ALPHA_ID.
static OptionID ALPHA_ID
          Parameter to specify the averaging neighborhood scaling.
private static Logging logger
          The logger for this class.
private  int nmin
          Holds the value of NMIN_ID.
static OptionID NMIN_ID
          Parameter to specify the minimum neighborhood size
private  D rmax
          Holds the value of RMAX_ID.
static OptionID RMAX_ID
          Parameter to specify the maximum radius of the neighborhood to be considered, must be suitable to the distance function specified.
 
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
DISTANCE_FUNCTION_ID
 
Constructor Summary
LOCI(DistanceFunction<? super O,D> distanceFunction, D rmax, int nmin, double alpha)
          Constructor.
 
Method Summary
 TypeInformation[] getInputTypeRestriction()
          Get the input type restriction used for negotiating the data query.
protected  Logging getLogger()
          Get the (STATIC) logger for this class.
 OutlierResult run(Database database)
          Runs the algorithm in the timed evaluation part.
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
getDistanceFunction
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm
makeParameterDistanceFunction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final Logging logger
The logger for this class.


RMAX_ID

public static final OptionID RMAX_ID
Parameter to specify the maximum radius of the neighborhood to be considered, must be suitable to the distance function specified.


NMIN_ID

public static final OptionID NMIN_ID
Parameter to specify the minimum neighborhood size


ALPHA_ID

public static final OptionID ALPHA_ID
Parameter to specify the averaging neighborhood scaling.


rmax

private D extends NumberDistance<D,?> rmax
Holds the value of RMAX_ID.


nmin

private int nmin
Holds the value of NMIN_ID.


alpha

private double alpha
Holds the value of ALPHA_ID.

Constructor Detail

LOCI

public LOCI(DistanceFunction<? super O,D> distanceFunction,
            D rmax,
            int nmin,
            double alpha)
Constructor.

Parameters:
distanceFunction - Distance function
rmax - Maximum radius
nmin - Minimum neighborhood size
alpha - Alpha value
Method Detail

run

public OutlierResult run(Database database)
                  throws IllegalStateException
Runs the algorithm in the timed evaluation part.

Specified by:
run in interface Algorithm
Specified by:
run in interface OutlierAlgorithm
Overrides:
run in class AbstractAlgorithm<OutlierResult>
Parameters:
database - the database to run the algorithm on
Returns:
the Result computed by this algorithm
Throws:
IllegalStateException - if the algorithm has not been initialized properly (e.g. the setParameters(String[]) method has been failed to be called).

getInputTypeRestriction

public TypeInformation[] getInputTypeRestriction()
Description copied from class: AbstractAlgorithm
Get the input type restriction used for negotiating the data query.

Specified by:
getInputTypeRestriction in interface Algorithm
Specified by:
getInputTypeRestriction in class AbstractAlgorithm<OutlierResult>
Returns:
Type restriction

getLogger

protected Logging getLogger()
Description copied from class: AbstractAlgorithm
Get the (STATIC) logger for this class.

Specified by:
getLogger in class AbstractAlgorithm<OutlierResult>
Returns:
the static logger

Release 0.4.0 (2011-09-20_1324)