de.lmu.ifi.dbs.elki.algorithm.outlier.spatial
Class CTLuMoranScatterplotOutlier<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.CTLuMoranScatterplotOutlier<N>
Type Parameters:
N - Neighborhood type
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable

@Title(value="Moran Scatterplot Outlier")
@Description(value="Spatial Outlier detection based on the standardized deviation from the local means.")
@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 CTLuMoranScatterplotOutlier<N>
extends AbstractNeighborhoodOutlier<N>

Moran scatterplot outliers, based on the standardized deviation from the local and global means. In contrast to the definition given in the reference, we use this as a ranking outlier detection by not applying the signedness test, but by using the score (- localZ) * (Average localZ of Neighborhood) directly. This allows us to differentiate a bit between stronger and weaker outliers.

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

Moran scatterplot is a plot of normalized attribute values against the neighborhood average of normalized attribute values. Spatial Objects on the upper left or lower right are Spatial Outliers.


Nested Class Summary
static class CTLuMoranScatterplotOutlier.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
CTLuMoranScatterplotOutlier(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

CTLuMoranScatterplotOutlier

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

Parameters:
npredf - Neighborhood
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

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)