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

@Title(value="A Trimmed Mean Approach to Finding Spatial Outliers")
@Description(value="A local trimmed mean approach to evaluating the spatial outlier factor which is the degree that a site is outlying compared to its neighbors")
@Reference(authors="Tianming Hu and Sam Yuan Sung",
           title="A trimmed mean approach to finding spatial outliers",
           booktitle="Intelligent Data Analysis, Volume 8, 2004",
           url="http://iospress.metapress.com/content/PLVLT6431DVNJXNK")
public class TrimmedMeanApproach<N>
extends AbstractNeighborhoodOutlier<N>

A Trimmed Mean Approach to Finding Spatial Outliers. Outliers are defined by their value deviation from a trimmed mean of the neighbors.

Reference:
Tianming Hu and Sam Yuan Sung
A Trimmed Mean Approach to finding Spatial Outliers
in Intelligent Data Analysis, Volume 8, 2004.

the contiguity Matrix is definit as
wij = 1/k if j is neighbor of i, k is the neighbors size of i.


Nested Class Summary
static class TrimmedMeanApproach.Parameterizer<N>
          Parameterizer
 
Field Summary
private static Logging logger
          The logger for this class.
private  double p
          the parameter p
 
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.AbstractNeighborhoodOutlier
NEIGHBORHOOD_ID
 
Constructor Summary
protected TrimmedMeanApproach(NeighborSetPredicate.Factory<N> npredf, double p)
          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(Database database, Relation<N> nrel, Relation<? extends NumberVector<?,?>> relation)
          Run the algorithm
 
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.


p

private double p
the parameter p

Constructor Detail

TrimmedMeanApproach

protected TrimmedMeanApproach(NeighborSetPredicate.Factory<N> npredf,
                              double p)
Constructor

Parameters:
p - Parameter p
npredf - Neighborhood factory.
Method Detail

run

public OutlierResult run(Database database,
                         Relation<N> nrel,
                         Relation<? extends NumberVector<?,?>> relation)
Run the algorithm

Parameters:
database - Database
nrel - Neighborhood relation
relation - Data Relation (1 dimensional!)
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)