de.lmu.ifi.dbs.elki.algorithm.outlier.spatial
Class CTLuGLSBackwardSearchAlgorithm<V extends NumberVector<?,?>,D extends NumberDistance<D,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<R>
      extended by de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm<V,D,OutlierResult>
          extended by de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuGLSBackwardSearchAlgorithm<V,D>
Type Parameters:
V - Vector type to use for distances
D - Distance function to use
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable

@Title(value="GLS-Backward Search")
@Reference(authors="F. Chen and C.-T. Lu and A. P. Boedihardjo",
           title="GLS-SOD: A Generalized Local Statistical Approach for Spatial Outlier Detection",
           booktitle="Proc. 16th ACM SIGKDD international conference on Knowledge discovery and data mining",
           url="http://dx.doi.org/10.1145/1835804.1835939")
public class CTLuGLSBackwardSearchAlgorithm<V extends NumberVector<?,?>,D extends NumberDistance<D,?>>
extends AbstractDistanceBasedAlgorithm<V,D,OutlierResult>
implements OutlierAlgorithm

GLS-Backward Search is a statistical approach to detecting spatial outliers.

F. Chen and C.-T. Lu and A. P. Boedihardjo:
GLS-SOD: A Generalized Local Statistical Approach for Spatial Outlier Detection
In Proc. 16th ACM SIGKDD international conference on Knowledge discovery and data mining, 2010

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*x,y*y,x*y}, and we assume the neighborhood is large enough for the simpler formulas to work that make the optimization problem convex.


Nested Class Summary
static class CTLuGLSBackwardSearchAlgorithm.Parameterizer<V extends NumberVector<?,?>,D extends NumberDistance<D,?>>
          Parameterization class
 
Field Summary
private  double alpha
          Parameter Alpha - significance niveau
private  int k
          Parameter k - neighborhood size
private static Logging logger
          The logger for this class.
 
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
DISTANCE_FUNCTION_ID
 
Constructor Summary
CTLuGLSBackwardSearchAlgorithm(DistanceFunction<V,D> distanceFunction, int k, double alpha)
          Constructor.
 
Method Summary
 TypeInformation[] getInputTypeRestriction()
          Get the input type restriction used for negotiating the data query.
protected  Logging getLogger()
          Get the (STATIC) logger for this class.
 OutlierResult run(Relation<V> relationx, Relation<? extends NumberVector<?,?>> relationy)
          Run the algorithm
private  Pair<DBID,Double> singleIteration(Relation<V> relationx, Relation<? extends NumberVector<?,?>> relationy)
          Run a single iteration of the GLS-SOD modeling step
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
getDistanceFunction
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm
makeParameterDistanceFunction, run
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.algorithm.outlier.OutlierAlgorithm
run
 

Field Detail

logger

private static final Logging logger
The logger for this class.


alpha

private double alpha
Parameter Alpha - significance niveau


k

private int k
Parameter k - neighborhood size

Constructor Detail

CTLuGLSBackwardSearchAlgorithm

public CTLuGLSBackwardSearchAlgorithm(DistanceFunction<V,D> distanceFunction,
                                      int k,
                                      double alpha)
Constructor.

Parameters:
distanceFunction - Distance function
k - number of nearest neighbors to use
alpha - Significance niveau
Method Detail

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<DBID,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

getInputTypeRestriction

public TypeInformation[] getInputTypeRestriction()
Description copied from class: AbstractAlgorithm
Get the input type restriction used for negotiating the data query.

Specified by:
getInputTypeRestriction in interface Algorithm
Specified by:
getInputTypeRestriction in class AbstractAlgorithm<OutlierResult>
Returns:
Type restriction

getLogger

protected Logging getLogger()
Description copied from class: AbstractAlgorithm
Get the (STATIC) logger for this class.

Specified by:
getLogger in class AbstractAlgorithm<OutlierResult>
Returns:
the static logger

Release 0.4.0 (2011-09-20_1324)