Class CTLuGLSBackwardSearchAlgorithm<V extends NumberVector>

  • Type Parameters:
    V - Vector type to use for distances
    All Implemented Interfaces:
    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 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
    • Field Detail

      • alpha

        protected double alpha
        Parameter Alpha - significance niveau
      • k

        protected int k
        Parameter k - neighborhood size
    • Constructor Detail

      • CTLuGLSBackwardSearchAlgorithm

        public CTLuGLSBackwardSearchAlgorithm​(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 TypeInformation[] getInputTypeRestriction()
        Description copied from interface: Algorithm
        Get the input type restriction used for negotiating the data query.
        Specified by:
        getInputTypeRestriction in interface Algorithm
        Returns:
        Type restriction
      • run

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

        private Pair<DBIDVar,​java.lang.Double> singleIteration​(Relation<V> relationx,
                                                                     Relation<? extends 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