de.lmu.ifi.dbs.elki.algorithm.outlier.spatial
Class CTLuScatterplotOutlier<N>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<OutlierResult>
      extended by de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.AbstractNeighborhoodOutlier<N>
          extended by de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuScatterplotOutlier<N>
Type Parameters:
N - Neighborhood object type
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable

@Title(value="Scatterplot Spatial Outlier")
@Description(value="Spatial Outlier Detection Algorithm using linear regression of attributes and the mean of their neighbors.")
@Reference(authors="S. Shekhar and C.-T. Lu and P. Zhang",
           title="A Unified Approach to Detecting Spatial Outliers",
           booktitle="GeoInformatica 7-2, 2003",
           url="http://dx.doi.org/10.1023/A:1023455925009")
public class CTLuScatterplotOutlier<N>
extends AbstractNeighborhoodOutlier<N>

Scatterplot-outlier is a spatial outlier detection method that performs a linear regression of object attributes and their neighbors average value.

Reference:
S. Shekhar and C.-T. Lu and P. Zhang
A Unified Approach to Detecting Spatial Outliers
in in GeoInformatica 7-2, 2003.

Scatterplot shows attribute values on the X-axis and the average of the attribute values in the neighborhood on the Y-axis. Best fit regression line is used to identify spatial outliers. Vertical difference of a data point tells about outlierness.


Nested Class Summary
static class CTLuScatterplotOutlier.Parameterizer<N>
          Parameterization class
 
Field Summary
private static Logging logger
          The logger for this class.
 
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.AbstractNeighborhoodOutlier
NEIGHBORHOOD_ID
 
Constructor Summary
CTLuScatterplotOutlier(NeighborSetPredicate.Factory<N> npredf)
          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<N> nrel, Relation<? extends NumberVector<?,?>> relation)
          Main method
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.AbstractNeighborhoodOutlier
getNeighborSetPredicateFactory
 
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.

Constructor Detail

CTLuScatterplotOutlier

public CTLuScatterplotOutlier(NeighborSetPredicate.Factory<N> npredf)
Constructor

Parameters:
npredf - Neighborhood predicate
Method Detail

run

public OutlierResult run(Relation<N> nrel,
                         Relation<? extends NumberVector<?,?>> relation)
Main method

Parameters:
nrel - Neighborhood relation
relation - Data relation (1d!)
Returns:
Outlier detection result

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

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

Release 0.4.0 (2011-09-20_1324)