Class ALOCI<V extends elki.data.NumberVector>

  • Type Parameters:
    V - Vector type
    All Implemented Interfaces:
    elki.Algorithm, OutlierAlgorithm

    @Title("Approximate LOCI: Fast Outlier Detection Using the Local Correlation Integral")
    @Description("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)",
               url="https://doi.org/10.1109/ICDE.2003.1260802",
               bibkey="DBLP:conf/icde/PapadimitriouKGF03")
    public class ALOCI<V extends elki.data.NumberVector>
    extends java.lang.Object
    implements OutlierAlgorithm
    Fast Outlier Detection Using the "approximate Local Correlation Integral".

    Outlier detection using multiple epsilon neighborhoods.

    Reference:

    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)

    Since:
    0.5.0
    Author:
    Jonathan von Brünken, Erich Schubert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  ALOCI.ALOCIQuadTree
      Simple quadtree for ALOCI.
      (package private) static class  ALOCI.Node
      Node of the ALOCI Quadtree
      static class  ALOCI.Par<O extends elki.data.NumberVector>
      Parameterization class.
      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int alpha
      Alpha (level difference of sampling and counting neighborhoods)
      private elki.distance.NumberVectorDistance<? super V> distance
      Distance function used.
      private int g
      Number of trees to generate (forest size)
      private static elki.logging.Logging LOG
      The logger for this class.
      private int nmin
      Minimum size for a leaf.
      private elki.utilities.random.RandomFactory rnd
      Random generator
    • Constructor Summary

      Constructors 
      Constructor Description
      ALOCI​(elki.distance.NumberVectorDistance<? super V> distance, int nmin, int alpha, int g, elki.utilities.random.RandomFactory rnd)
      Constructor.
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        The logger for this class.
      • distance

        private elki.distance.NumberVectorDistance<? super V extends elki.data.NumberVector> distance
        Distance function used.
      • nmin

        private int nmin
        Minimum size for a leaf.
      • alpha

        private int alpha
        Alpha (level difference of sampling and counting neighborhoods)
      • g

        private int g
        Number of trees to generate (forest size)
      • rnd

        private elki.utilities.random.RandomFactory rnd
        Random generator
    • Constructor Detail

      • ALOCI

        public ALOCI​(elki.distance.NumberVectorDistance<? super V> distance,
                     int nmin,
                     int alpha,
                     int g,
                     elki.utilities.random.RandomFactory rnd)
        Constructor.
        Parameters:
        distance - Distance function
        nmin - Minimum neighborhood size
        alpha - Alpha value
        g - Number of grids to use
        rnd - Random generator.
    • Method Detail

      • run

        public OutlierResult run​(elki.database.relation.Relation<V> relation)
        Run the algorithm.
        Parameters:
        relation - Relation to process
        Returns:
        Outlier detection result
      • calculate_MDEF_norm

        private static double calculate_MDEF_norm​(ALOCI.Node sn,
                                                  ALOCI.Node cg)
        Method for the MDEF calculation
        Parameters:
        sn - Sampling Neighborhood
        cg - Counting Neighborhood
        Returns:
        MDEF norm
      • getInputTypeRestriction

        public elki.data.type.TypeInformation[] getInputTypeRestriction()
        Specified by:
        getInputTypeRestriction in interface elki.Algorithm