Class CTLuGLSBackwardSearchAlgorithm<V extends elki.data.NumberVector>

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

    @Title("GLS-Backward Search")
    @Reference(authors="F. Chen, C.-T. Lu, A. P. Boedihardjo",
               title="GLS-SOD: A Generalized Local Statistical Approach for Spatial Outlier Detection",
               booktitle="Proc. 16th ACM SIGKDD Int. Conf. Knowledge Discovery and Data Mining",
               url="https://doi.org/10.1145/1835804.1835939",
               bibkey="DBLP:conf/kdd/ChenLB10")
    public class CTLuGLSBackwardSearchAlgorithm<V extends elki.data.NumberVector>
    extends java.lang.Object
    implements OutlierAlgorithm
    GLS-Backward Search is a statistical approach to detecting spatial outliers.

    Implementation note: this is just the most basic version of this algorithm. The spatial relation must be two dimensional, the set of spatial basis functions is hard-coded (but trivial to enhance) to \(\{1,x,y,x^2,y^2,xy\}\), and we assume the neighborhood is large enough for the simpler formulas to work that make the optimization problem convex.

    Reference:

    F. Chen, C.-T. Lu, A. P. Boedihardjo
    GLS-SOD: A Generalized Local Statistical Approach for Spatial Outlier Detection
    Proc. 16th ACM SIGKDD Int. Conf. Knowledge Discovery and Data Mining

    Since:
    0.4.0
    Author:
    Ahmed Hettab
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected double alpha
      Parameter Alpha - significance niveau
      protected elki.distance.Distance<? super V> distance
      Distance function used.
      protected int k
      Parameter k - neighborhood size
    • Constructor Summary

      Constructors 
      Constructor Description
      CTLuGLSBackwardSearchAlgorithm​(elki.distance.Distance<? super V> distance, int k, double alpha)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      elki.data.type.TypeInformation[] getInputTypeRestriction()  
      OutlierResult run​(elki.database.relation.Relation<V> relationx, elki.database.relation.Relation<? extends elki.data.NumberVector> relationy)
      Run the algorithm
      private elki.utilities.pairs.Pair<elki.database.ids.DBIDVar,​java.lang.Double> singleIteration​(elki.database.relation.Relation<V> relationx, elki.database.relation.Relation<? extends elki.data.NumberVector> relationy)
      Run a single iteration of the GLS-SOD modeling step
      • Methods inherited from class java.lang.Object

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

      • distance

        protected elki.distance.Distance<? super V extends elki.data.NumberVector> distance
        Distance function used.
      • alpha

        protected double alpha
        Parameter Alpha - significance niveau
      • k

        protected int k
        Parameter k - neighborhood size
    • Constructor Detail

      • CTLuGLSBackwardSearchAlgorithm

        public CTLuGLSBackwardSearchAlgorithm​(elki.distance.Distance<? super V> distance,
                                              int k,
                                              double alpha)
        Constructor.
        Parameters:
        distance - Distance function
        k - number of nearest neighbors to use
        alpha - Significance niveau
    • Method Detail

      • getInputTypeRestriction

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

        public OutlierResult run​(elki.database.relation.Relation<V> relationx,
                                 elki.database.relation.Relation<? extends elki.data.NumberVector> relationy)
        Run the algorithm
        Parameters:
        relationx - Spatial relation
        relationy - Attribute relation
        Returns:
        Algorithm result
      • singleIteration

        private elki.utilities.pairs.Pair<elki.database.ids.DBIDVar,​java.lang.Double> singleIteration​(elki.database.relation.Relation<V> relationx,
                                                                                                            elki.database.relation.Relation<? extends elki.data.NumberVector> relationy)
        Run a single iteration of the GLS-SOD modeling step
        Parameters:
        relationx - Geo relation
        relationy - Attribute relation
        Returns:
        Top outlier and associated score