Class CTLuRandomWalkEC<O>

  • Type Parameters:
    O - object type
    All Implemented Interfaces:
    elki.Algorithm, OutlierAlgorithm

    @Title("Random Walk on Exhaustive Combination")
    @Description("Spatial Outlier Detection using Random Walk on Exhaustive Combination")
    @Reference(authors="X. Liu, C.-T. Lu, F. Chen",
               title="Spatial outlier detection: random walk based approaches",
               booktitle="Proc. SIGSPATIAL Int. Conf. Advances in Geographic Information Systems",
               url="https://doi.org/10.1145/1869790.1869841",
               bibkey="DBLP:conf/gis/LiuLC10")
    public class CTLuRandomWalkEC<O>
    extends java.lang.Object
    implements OutlierAlgorithm
    Spatial outlier detection based on random walks.

    Note: this method can only handle one-dimensional data, but could probably be easily extended to higher dimensional data by using an distance function instead of the absolute difference.

    Reference:

    X. Liu, C.-T. Lu, F. Chen
    Spatial outlier detection: random walk based approaches
    Proc. SIGSPATIAL Int. Conf. Advances in Geographic Information Systems

    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
      private double alpha
      Parameter alpha: Attribute difference exponent.
      private double c
      Parameter c: damping factor.
      private elki.distance.Distance<? super O> distance
      Distance function used.
      private int k
      Parameter k.
      private static elki.logging.Logging LOG
      Class logger
    • Constructor Summary

      Constructors 
      Constructor Description
      CTLuRandomWalkEC​(elki.distance.Distance<? super O> distance, double alpha, double c, int k)
      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<O> spatial, elki.database.relation.Relation<? extends elki.data.NumberVector> relation)
      Run the algorithm.
      • Methods inherited from class java.lang.Object

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

      • LOG

        private static final elki.logging.Logging LOG
        Class logger
      • distance

        private elki.distance.Distance<? super O> distance
        Distance function used.
      • alpha

        private double alpha
        Parameter alpha: Attribute difference exponent.
      • c

        private double c
        Parameter c: damping factor.
      • k

        private int k
        Parameter k.
    • Constructor Detail

      • CTLuRandomWalkEC

        public CTLuRandomWalkEC​(elki.distance.Distance<? super O> distance,
                                double alpha,
                                double c,
                                int k)
        Constructor.
        Parameters:
        distance - Distance function
        alpha - Alpha parameter
        c - C parameter
        k - Number of neighbors
    • Method Detail

      • getInputTypeRestriction

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

        public OutlierResult run​(elki.database.relation.Relation<O> spatial,
                                 elki.database.relation.Relation<? extends elki.data.NumberVector> relation)
        Run the algorithm.
        Parameters:
        spatial - Spatial neighborhood relation
        relation - Attribute value relation
        Returns:
        Outlier result