Class ABOD<V extends elki.data.NumberVector>

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

    @Title("ABOD: Angle-Based Outlier Detection")
    @Description("Outlier detection using variance analysis on angles, especially for high dimensional data sets.")
    @Reference(authors="Hans-Peter Kriegel, Matthias Schubert, Arthur Zimek",
               title="Angle-Based Outlier Detection in High-dimensional Data",
               booktitle="Proc. 14th ACM SIGKDD Int. Conf. Knowledge Discovery and Data Mining (KDD\'08)",
               url="https://doi.org/10.1145/1401890.1401946",
               bibkey="DBLP:conf/kdd/KriegelSZ08")
    public class ABOD<V extends elki.data.NumberVector>
    extends java.lang.Object
    implements OutlierAlgorithm
    Angle-Based Outlier Detection / Angle-Based Outlier Factor.

    Outlier detection using variance analysis on angles, especially for high dimensional data sets. Exact version, which has cubic runtime (see also FastABOD and LBABOD for faster versions).

    Reference:

    Hans-Peter Kriegel, Matthias Schubert, Arthur Zimek
    Angle-Based Outlier Detection in High-dimensional Data
    Proc. 14th ACM SIGKDD Int. Conf. Knowledge Discovery and Data Mining (KDD'08)

    Since:
    0.2
    Author:
    Matthias Schubert (Original Code), Erich Schubert (ELKIfication)
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ABOD.Par<V 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
      protected elki.similarity.Similarity<? super V> kernelFunction
      Store the configured Kernel version.
    • Constructor Summary

      Constructors 
      Constructor Description
      ABOD​(elki.similarity.Similarity<? super V> kernelFunction)
      Constructor for Angle-Based Outlier Detection (ABOD).
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected double computeABOF​(elki.similarity.kernel.KernelMatrix kernelMatrix, elki.database.ids.DBIDRef pA, elki.database.ids.DBIDArrayIter pB, elki.database.ids.DBIDArrayIter pC, elki.math.MeanVariance s)
      Compute the exact ABOF value.
      elki.data.type.TypeInformation[] getInputTypeRestriction()  
      OutlierResult run​(elki.database.relation.Relation<V> relation)
      Run ABOD on the data set.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • kernelFunction

        protected elki.similarity.Similarity<? super V extends elki.data.NumberVector> kernelFunction
        Store the configured Kernel version.
    • Constructor Detail

      • ABOD

        public ABOD​(elki.similarity.Similarity<? super V> kernelFunction)
        Constructor for Angle-Based Outlier Detection (ABOD).
        Parameters:
        kernelFunction - kernel function to use
    • Method Detail

      • run

        public OutlierResult run​(elki.database.relation.Relation<V> relation)
        Run ABOD on the data set.
        Returns:
        Angle-based outlier detection result
      • computeABOF

        protected double computeABOF​(elki.similarity.kernel.KernelMatrix kernelMatrix,
                                     elki.database.ids.DBIDRef pA,
                                     elki.database.ids.DBIDArrayIter pB,
                                     elki.database.ids.DBIDArrayIter pC,
                                     elki.math.MeanVariance s)
        Compute the exact ABOF value.
        Parameters:
        kernelMatrix - Kernel matrix
        pA - Object A to compute ABOF for
        pB - Iterator over objects B
        pC - Iterator over objects C
        s - Statistics tracker
        Returns:
        ABOF value
      • getInputTypeRestriction

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