Class IDOS<O>

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

    @Title("IDOS: Intrinsic Dimensional Outlier Score")
    @Reference(authors="Jonathan von Br\u00fcnken, Michael E. Houle, Arthur Zimek",
               title="Intrinsic Dimensional Outlier Detection in High-Dimensional Data",
               booktitle="NII Technical Report (NII-2015-003E)",
               url="http://www.nii.ac.jp/TechReports/15-003E.html",
               bibkey="tr/nii/BrunkenHZ15")
    public class IDOS<O>
    extends java.lang.Object
    implements OutlierAlgorithm
    Intrinsic Dimensional Outlier Detection in High-Dimensional Data.

    Reference:

    Jonathan von Brünken, Michael E. Houle, Arthur Zimek
    Intrinsic Dimensional Outlier Detection in High-Dimensional Data
    NII Technical Report (NII-2015-003E)

    Since:
    0.7.0
    Author:
    Jonathan von Brünken, Erich Schubert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  IDOS.Par<O>
      Parameterization class.
      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected elki.distance.Distance<? super O> distance
      Distance function used.
      protected elki.math.statistics.intrinsicdimensionality.IntrinsicDimensionalityEstimator<? super O> estimator
      Estimator for intrinsic dimensionality.
      protected int k_c
      kNN for the context set (ID computation).
      protected int k_r
      kNN for the reference set.
      private static elki.logging.Logging LOG
      The logger for this class.
    • Constructor Summary

      Constructors 
      Constructor Description
      IDOS​(elki.distance.Distance<? super O> distance, elki.math.statistics.intrinsicdimensionality.IntrinsicDimensionalityEstimator<? super O> estimator, int kc, int kr)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected elki.database.datastore.DoubleDataStore computeIDOS​(elki.database.ids.DBIDs ids, elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef> knnQ, elki.database.datastore.DoubleDataStore intDims, elki.math.DoubleMinMax idosminmax)
      Computes all IDOS scores.
      protected elki.database.datastore.DoubleDataStore computeIDs​(elki.database.ids.DBIDs ids, elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef> knnQ, elki.database.query.distance.DistanceQuery<O> distQ)
      Computes all IDs
      elki.data.type.TypeInformation[] getInputTypeRestriction()  
      OutlierResult run​(elki.database.relation.Relation<O> 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
        The logger for this class.
      • distance

        protected elki.distance.Distance<? super O> distance
        Distance function used.
      • k_c

        protected int k_c
        kNN for the context set (ID computation).
      • k_r

        protected int k_r
        kNN for the reference set.
      • estimator

        protected elki.math.statistics.intrinsicdimensionality.IntrinsicDimensionalityEstimator<? super O> estimator
        Estimator for intrinsic dimensionality.
    • Constructor Detail

      • IDOS

        public IDOS​(elki.distance.Distance<? super O> distance,
                    elki.math.statistics.intrinsicdimensionality.IntrinsicDimensionalityEstimator<? super O> estimator,
                    int kc,
                    int kr)
        Constructor.
        Parameters:
        distance - the distance function to use
        estimator - Estimator for intrinsic dimensionality
        kc - the context set size for the ID computation
        kr - the neighborhood size to use in score computation
    • 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> relation)
        Run the algorithm
        Parameters:
        relation - Data relation
        Returns:
        Outlier result
      • computeIDs

        protected elki.database.datastore.DoubleDataStore computeIDs​(elki.database.ids.DBIDs ids,
                                                                     elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef> knnQ,
                                                                     elki.database.query.distance.DistanceQuery<O> distQ)
        Computes all IDs
        Parameters:
        ids - the DBIDs to process
        knnQ - the KNN query
        distQ - the distance query
        Returns:
        The computed intrinsic dimensionalities.
      • computeIDOS

        protected elki.database.datastore.DoubleDataStore computeIDOS​(elki.database.ids.DBIDs ids,
                                                                      elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef> knnQ,
                                                                      elki.database.datastore.DoubleDataStore intDims,
                                                                      elki.math.DoubleMinMax idosminmax)
        Computes all IDOS scores.
        Parameters:
        ids - the DBIDs to process
        knnQ - the KNN query
        intDims - Precomputed intrinsic dimensionalities
        idosminmax - Output of minimum and maximum, for metadata
        Returns:
        ID scores