Algorithms for Mining Distance-Based Outliers in Large Datasets

Edwin M. KnorrRaymond T. Ng

article1998VLDB1,966 citations

Proposes the concept of distance-based outliers alongside scalable nested-loop and cell-based mining algorithms that efficiently detect multidimensional anomalies in large disk-resident datasets without requiring prior knowledge of underlying data distributions.

Listen

Identifying rare exceptions and anomalies within massive datasets is critical for applications such as credit card fraud detection, electronic commerce security, and professional sports analytics. Traditional statistical techniques for finding outliers generally require prior knowledge of data distributions and are largely restricted to single-attribute analysis. Existing multi-attribute computational methods, such as depth-based approaches, face severe performance bottlenecks and become impractical for datasets with more than two dimensions.

The article evaluates and demonstrates scalable algorithms for discovering distance-based outliers in large, multidimensional datasets without assuming standard probability distributions. Specifically, it introduces an intuitive distance-based framework where an outlier is defined as an object that has at least a specified fraction of the total dataset lying beyond a designated distance threshold.

To evaluate this approach, the researchers designed and tested multiple computational methods: traditional index-based searches, a block-oriented nested-loop algorithm, and optimized cell-based spatial partitioning algorithms designed for both memory-resident and disk-resident data. The evaluation examined computational complexity theoretically and benchmarked performance empirically using real National Hockey League player statistics along with synthetic datasets scaled up to 2 million records across up to 5 dimensions.

The core findings demonstrate substantial performance improvements over prior techniques. First, the cell-based algorithm scales linearly with the number of records and is the most efficient choice for up to 4 dimensions, outperforming nested-loop approaches by nearly an order of magnitude (for example, taking 256 seconds versus 2,332 seconds on a 3-dimensional dataset of 2 million tuples). Second, the disk-resident cell algorithm provides a theoretical guarantee that it will require at most 3 passes over the dataset, significantly reducing input/output overhead. Third, because the cell method grows exponentially with dimensionality, the nested-loop algorithm becomes the superior approach at 5 or more dimensions, processing a 500,000-record, 5-dimensional dataset in roughly 2.5 minutes. Finally, standard index-based structures such as R-trees proved uncompetitive due to the high cost of building the index alone.

These results establish that multi-attribute anomaly detection is computationally feasible at scale without requiring manual statistical distribution fitting or specialized pre-built indexes. For organizations handling large volumes of transaction or activity data, these techniques reduce processing time, minimize disk storage input/output costs, and mitigate the risk of missed fraudulent behavior by uncovering complex anomalies that only appear when multiple attributes are evaluated simultaneously.

Organizations seeking to implement distance-based outlier detection should adopt a hybrid architectural strategy: deploy cell-based algorithms for analytical problems involving 4 or fewer dimensions to maximize speed, and switch to block-oriented nested-loop algorithms when analyzing 5 or more dimensions. Decision-makers should also maintain domain experts in the loop to establish appropriate distance and fraction thresholds based on operational needs.

Key limitations include the current reliance on Euclidean distance metrics and the need to manually choose distance and fraction parameters, which can require iterative trial and error. Additionally, performance for cell-based methods deteriorates rapidly beyond 4 dimensions due to the exponential growth of grid cells. However, for datasets within the evaluated parameters, confidence in the algorithmic efficiency and input/output bounds remains high.

Knorr et al (1998).pdf
  • Paper: Efficient algorithms for mining outliers from large data sets, S. Ramaswamy et al. (2000). This paper builds directly on the distance-based outlier paradigm introduced by the source, refining it to rank top outliers using k-nearest neighbor distances without requiring a preset distance threshold.
  • Paper: LOF: identifying density-based local outliers, Markus M. Breunig et al. (2000). This seminal paper critiques the global nature of distance-based outliers introduced by the source and extends the concept to local density variations via the Local Outlier Factor.
  • Paper: Isolation-Based Anomaly Detection, Fei Tony Liu et al. (2012). Isolation Forest directly compares against and offers an alternative to distance-based outlier detection methods by isolating anomalies using random partition trees.
  • Paper: Support Vector Method for Novelty Detection, B. Schölkopf et al. (1999). This work introduces one-class support vector machines as a principled machine-learning alternative to distance-based heuristics for identifying outliers and novelty in high-dimensional data.
Cover for Algorithms for Mining Distance-Based Outliers in Large Datasets

Abstract

This paper deals with finding outliers (exceptions) in large, multidimensional datasets. The identification of outliers can lead to the discovery of truly unexpected knowledge in areas such as electronic commerce, credit card fraud, and even the analysis of performance statistics of professional athletes. Existing methods that we have seen for finding outliers in large datasets can only deal efficiently with two dimensions/attributes of a dataset. Here, we study the notion of DB- (Distance-Based) outliers. While we provide formal and empirical evidence showing the usefulness of DB-outliers, we focus on the development of algorithms for computing such outliers.

First, we present two simple algorithms, both having a complexity of O(k N²), k being the dimensionality and N being the number of objects in the dataset. These algorithms readily support datasets with many more than two attributes. Second, we present an optimized cell-based algorithm that has a complexity that is linear wrt N, but exponential wrt k. Third, for datasets that are mainly disk-resident, we present another version of the cell-based algorithm that guarantees at most 3 passes over a dataset. We provide experimental results showing that these cell-based algorithms are by far the best for k ≤ 4.

Table of Contents

  • 1 Introduction
  • 1.1 Related Work
  • 1.2 Distance-Based Outliers and Contributions of this Paper
  • 2 Justification for DB-Outliers
  • 2.1 Properties of DB(p, D)-Outliers
  • 2.2 Sample Runs Using NHL Statistics
  • 3 Simple Algorithms for Finding All DB(p, D)-Outliers
  • 3.1 Index-Based Algorithms
  • 3.2 A Nested-Loop Algorithm
  • 4 A Cell-Based Approach
  • 4.1 Cell Structure and Properties in 2-D
  • 4.2 Algorithm FindAllOutsM for MemoryResident Datasets
  • 4.3 Complexity Analysis: The 2-D Case
  • 4.4 Generalization to Higher Dimensions
  • 4.5 Complexity Analysis: The Case for Higher Dimensions
  • 5 DB-Outliers in Large, Disk-Resident Datasets
  • 5.1 Handling Large, Disk-Resident Datasets: An Example
  • 5.2 Algorithm FindAllOutsD Disk-Resident Datasets for
  • 5.3 Analysis of Algorithm FindAllOutsD and Comparison with Algorithm NL
  • 6 Empirical Behaviour of the Algorithms
  • 6.1 Experimental Setup
  • 6.2 Varying the Dataset Size
  • 6.3 Varying the Value of p
  • 6.4 Varying the Number of Dimensions and Cells
  • 7 Conclusions
  • Acknowledgements
  • References

Knowls

  1. Knowl 1 — Distance-Based Outlier (DB(p, D)-Outlier)

    definition

    Let TT be a dataset containing NN objects in a kk-dimensional space, and let F(O,Q)F(O, Q) be a metric distance function (such as Euclidean or weighted Euclidean distance) defining the distance between any pair of objects O,Q∈TO, Q \in T.

    For parameters p∈(0,1)p \in (0, 1) and D>0D > 0, an object O∈TO \in T is defined as a DB(p,D)DB(p, D)-outlier if at least fraction pp of the objects in TT lie at a distance greater than DD from OO.

    Equivalently, defining the DD-neighbourhood of OO as the set of objects within distance DD: {Q∈T∣F(O,Q)≤D}\{Q \in T \mid F(O, Q) \le D\} an object OO is a DB(p,D)DB(p, D)-outlier if and only if its DD-neighbourhood contains at most MM objects, where: M=N(1−p)M = N(1 - p) Here, MM denotes the maximum allowable number of neighbours within distance DD for an object to remain classified as an outlier.

  2. Knowl 2 — Multi-Dimensional Cell Grid Partitioning and Pruning Properties for DB-Outliers

    model/method

    To identify DB(p,D)DB(p, D)-outliers without performing all O(N2)O(N^2) pairwise distance comparisons, the kk-dimensional data space is quantized into hypercubical cells with side length: l=D2kl = \frac{D}{2\sqrt{k}}

    For any cell Cx1,…,xkC_{x_1, \dots, x_k}, its Layer 1 (L1L_1) neighbours are defined as: L1(Cx1,…,xk)={Cu1,…,uk∣ui=xi±1, ∀1≤i≤k}∖{Cx1,…,xk}L_1(C_{x_1, \dots, x_k}) = \{ C_{u_1, \dots, u_k} \mid u_i = x_i \pm 1, \, \forall 1 \le i \le k \} \setminus \{ C_{x_1, \dots, x_k} \}

    Its Layer 2 (L2L_2) neighbours are defined with thickness x=⌈2k−1⌉x = \lceil 2\sqrt{k} - 1 \rceil as: L2(Cx1,…,xk)={Cu1,…,uk∣ui=xi±x, ∀1≤i≤k}∖(L1(Cx1,…,xk)∪{Cx1,…,xk})L_2(C_{x_1, \dots, x_k}) = \{ C_{u_1, \dots, u_k} \mid u_i = x_i \pm x, \, \forall 1 \le i \le k \} \setminus (L_1(C_{x_1, \dots, x_k}) \cup \{ C_{x_1, \dots, x_k} \})

    These dimensions yield the following distance properties:

    1. Any two objects inside the same cell are separated by a distance of at most D2\frac{D}{2}.
    2. Any object in cell CC and any object in an L1L_1 neighbour of CC are separated by at most DD.
    3. Any object in cell CC and any object in a cell outside C∪L1(C)∪L2(C)C \cup L_1(C) \cup L_2(C) are separated by strictly more than DD.

    Letting M=N(1−p)M = N(1 - p) be the maximum allowable neighbours for an outlier, the following cell-level classification rules hold:

    • Red Cell: If the number of objects in CC satisfies ∣C∣>M|C| > M, no object in CC is an outlier.
    • Pink Cell: If ∣C∪L1(C)∣>M|C \cup L_1(C)| > M, no object in CC is an outlier.
    • Yellow Cell: If ∣C∪L1(C)∪L2(C)∣≤M|C \cup L_1(C) \cup L_2(C)| \le M, every object in CC is an outlier.

    Objects residing in uncoloured (white) cells that fail all three pruning tests must undergo object-by-object distance comparisons against objects in their L2L_2 neighbouring cells.

  3. Knowl 3 — Memory-Resident Cell-Based Outlier Detection (Algorithm FindAllOutsM)

    algorithm

    Algorithm FindAllOutsM finds all DB(p,D)DB(p, D)-outliers when both the cell grid index and the dataset fit entirely in main memory. The algorithm quantizes objects into cells of length l=D/(2k)l = D / (2\sqrt{k}), labels cells exceeding M=N(1−p)M = N(1-p) objects as red, labels L1L_1 neighbours of red cells as pink, and filters remaining white cells by aggregating counts across L1L_1 and L2L_2 neighbours. White cells that cannot be pruned are evaluated tuple-by-tuple against tuples in their L2L_2 neighbouring cells, terminating evaluation for an object as soon as its DD-neighbour counter exceeds MM.

    Input: Dataset TT with NN objects in kk dimensions, distance threshold DD, fraction pp
    Output: Set of all DB(p,D)DB(p, D)-outliers
    M←N(1−p)M \leftarrow N(1 - p)
    l←D/(2k)l \leftarrow D / (2\sqrt{k})
    Initialize grid of cells C1,…,CmC_1, \dots, C_m with side length ll
    for q←1q \leftarrow 1 to mm do
        Countq←0Count_q \leftarrow 0
    for each object P∈TP \in T do
        Map PP to its corresponding cell CqC_q
        Store PP in CqC_q
        Countq←Countq+1Count_q \leftarrow Count_q + 1
    for q←1q \leftarrow 1 to mm do
        if Countq>MCount_q > M then
            Label CqC_q as red
    for each red cell CrC_r do
        for each cell C∈L1(Cr)C \in L_1(C_r) do
            if CC is not red then
                Label CC as pink
    for each non-empty uncoloured (white) cell CwC_w do
        Countw2←Countw+∑Ci∈L1(Cw)CountiCount_{w2} \leftarrow Count_w + \sum_{C_i \in L_1(C_w)} Count_i
        if Countw2>MCount_{w2} > M then
            Label CwC_w as pink
        else
            Countw3←Countw2+∑Ci∈L2(Cw)CountiCount_{w3} \leftarrow Count_{w2} + \sum_{C_i \in L_2(C_w)} Count_i
            if Countw3≤MCount_{w3} \le M then
                Mark all objects in CwC_w as outliers
            else
                for each object P∈CwP \in C_w do
                    CountP←Countw2Count_P \leftarrow Count_{w2}
                    for each object Q∈⋃Ci∈L2(Cw)CiQ \in \bigcup_{C_i \in L_2(C_w)} C_i do
                        if dist(P,Q)≤Ddist(P, Q) \le D then
                            CountP←CountP+1Count_P \leftarrow Count_P + 1
                            if CountP>MCount_P > M then
                                Break to next object PP
                    if CountP≤MCount_P \le M then
                        Report PP as an outlier

    The worst-case time complexity is O(ck+N)O(c^k + N), where cc is a constant depending on k\sqrt{k} and the number of partitions per dimension, maintaining linear scaling with respect to NN.

  4. Knowl 4 — Disk-Resident Cell-Based Outlier Detection (Algorithm FindAllOutsD)

    algorithm

    Algorithm FindAllOutsD detects all DB(p,D)DB(p, D)-outliers for large disk-resident datasets. It maintains only white and yellow tuples (tuples mapping to unresolved or fully outlying cells) in main memory, avoiding the need to buffer the entire dataset. In an initial pass, it quantizes objects to cells and records page references. It labels red, pink, and yellow cells, loads Class A pages (pages with white/yellow tuples), performs pairwise checks among loaded tuples, and subsequently reads Class B pages (pages with non-white tuples in L2L_2 of white cells) while re-reading necessary Class A pages.

    Input: Disk-resident dataset TT of NN objects in kk dimensions, distance threshold DD, fraction pp
    Output: Set of all DB(p,D)DB(p, D)-outliers
    M←N(1−p)M \leftarrow N(1 - p)
    l←D/(2k)l \leftarrow D / (2\sqrt{k})
    Initialize grid of cells C1,…,CmC_1, \dots, C_m
    for q←1q \leftarrow 1 to mm do
        Countq←0Count_q \leftarrow 0
    for each object P∈TP \in T from disk do
        Map PP to appropriate cell CqC_q (do not store PP in memory)
        Countq←Countq+1Count_q \leftarrow Count_q + 1
        Record that cell CqC_q references the disk page of PP
    for q←1q \leftarrow 1 to mm do
        if Countq>MCount_q > M then
            Label CqC_q as red
    for each red cell CrC_r do
        for each cell C∈L1(Cr)C \in L_1(C_r) do
            if CC is not red then
                Label CC as pink
    for each non-empty white cell CwC_w do
        Countw2←Countw+∑Ci∈L1(Cw)CountiCount_{w2} \leftarrow Count_w + \sum_{C_i \in L_1(C_w)} Count_i
        if Countw2>MCount_{w2} > M then
            Label CwC_w as pink
        else
            Countw3←Countw2+∑Ci∈L2(Cw)CountiCount_{w3} \leftarrow Count_{w2} + \sum_{C_i \in L_2(C_w)} Count_i
            if Countw3≤MCount_{w3} \le M then
                Label CwC_w as yellow
            else
                Sumw←Countw2Sum_w \leftarrow Count_{w2}
    for each disk page ii containing at least one white or yellow tuple do
        Read page ii
        for each white or yellow cell CqC_q having tuples in page ii do
            for each object PP in page ii mapped to CqC_q do
                Store PP in CqC_q
                KountP←SumwKount_P \leftarrow Sum_w
    for each non-empty white cell CwC_w do
        for each white or yellow cell CL∈L2(Cw)C_L \in L_2(C_w) do
            for each object P∈CwP \in C_w (unmarked) do
                for each object Q∈CLQ \in C_L do
                    if dist(P,Q)≤Ddist(P, Q) \le D then
                        KountP←KountP+1Kount_P \leftarrow Kount_P + 1
                        if KountP>MKount_P > M then
                            Mark PP as non-outlier
    Report all objects in yellow cells as outliers
    for each disk page ii containing tuples mapped to non-white/non-yellow L2L_2 neighbours of white cells do
        Read page ii
        for each cell Cq∈L2(Cw)C_q \in L_2(C_w) (non-white, non-yellow) having tuples in page ii do
            for each object QQ in page ii mapped to CqC_q do
                for each non-empty white cell Cw∈L2(Cq)C_w \in L_2(C_q) do
                    for each object P∈CwP \in C_w (unmarked) do
                        if dist(P,Q)≤Ddist(P, Q) \le D then
                            KountP←KountP+1Kount_P \leftarrow Kount_P + 1
                            if KountP>MKount_P > M then
                                Mark PP as non-outlier
    for each object PP in each non-empty white cell do
        if PP is not marked as a non-outlier then
            Report PP as an outlier
  5. Knowl 5 — Dataset Pass Bound for Algorithm FindAllOutsD

    theoretical result

    Let a dataset reside across n=n1+n2+n3n = n_1 + n_2 + n_3 pages on disk, partitioned into:

    • Class A (n1n_1 pages): pages containing at least one white or yellow tuple.
    • Class B (n2n_2 pages): pages containing no white/yellow tuples, but containing tuples mapped to non-white cells that are L2L_2 neighbours of white cells.
    • Class C (n3n_3 pages): all remaining pages.

    Algorithm FindAllOutsD requires at most 3 passes over the dataset on disk.

    The initial mapping phase performs exactly 1 full pass (nn page reads). In the object-pairwise phase, the algorithm reads all Class A pages (n1n_1), followed by all Class B pages (n2n_2), and finally re-reads Class A pages (n1n_1), resulting in at most 2n1+n2≤2n2n_1 + n_2 \le 2n additional page reads. The total number of page reads is bounded by n+2n1+n2≤3nn + 2n_1 + n_2 \le 3n.

    Furthermore, if n1≤n3n_1 \le n_3, then 2n1+n2≤n1+n2+n3=n2n_1 + n_2 \le n_1 + n_2 + n_3 = n, which guarantees that the total I/O cost does not exceed 2 passes over the dataset.

  6. Knowl 6 — Block-Oriented Nested-Loop Outlier Detection (Algorithm NL)

    algorithm

    Algorithm NL computes all DB(p,D)DB(p, D)-outliers without constructing spatial index or cell grid structures. Given a buffer of size B%B\% of the dataset size, the buffer is split into two halves: the first array and the second array. A block of tuples is loaded into the first array, and pairwise distances are computed within the block and against blocks streamed through the second array. For each tuple tit_i in the first array, neighbour counting stops immediately once the count exceeds M=N(1−p)M = N(1-p).

    Input: Dataset TT of NN tuples, distance threshold DD, fraction pp, memory buffer size B%B\%
    Output: Set of all DB(p,D)DB(p, D)-outliers
    M←N(1−p)M \leftarrow N(1 - p)
    Divide buffer into two arrays of equal size
    Load initial block of tuples from TT into the first array
    for each tuple tit_i in the first array do
        counti←0count_i \leftarrow 0
        for each tuple tjt_j in the first array do
            if dist(ti,tj)≤Ddist(t_i, t_j) \le D then
                counti←counti+1count_i \leftarrow count_i + 1
                if counti>Mcount_i > M then
                    Mark tit_i as non-outlier and proceed to next tit_i
    while blocks remain to be compared against the first array do
        Fill second array with another block (saving an unbuffered block for last)
        for each unmarked tuple tit_i in the first array do
            for each tuple tjt_j in the second array do
                if dist(ti,tj)≤Ddist(t_i, t_j) \le D then
                    counti←counti+1count_i \leftarrow count_i + 1
                    if counti>Mcount_i > M then
                        Mark tit_i as non-outlier and proceed to next tit_i
    for each unmarked tuple tit_i in the first array do
        Report tit_i as an outlier
    if second array has previously served as the first array then
        Stop
    else
        Swap first and second array designations and continue comparing remaining blocks

    The time complexity of Algorithm NL is O(kN2)O(k N^2), where kk is the dimensionality and NN is the dataset size.

  7. Knowl 7 — I/O Complexity and Dataset Passes of Algorithm NL

    theoretical result

    Let a dataset be partitioned into n=⌈100/B⌉n = \lceil 100/B \rceil logical blocks, where BB is the percentage of total dataset size available in the memory buffer (with the buffer divided into two halves to support block nested-loop comparisons).

    Under Algorithm NL:

    1. The total number of block reads required is: Total Block Reads=n+(n−2)(n−1)\text{Total Block Reads} = n + (n - 2)(n - 1)
    2. The total number of passes over the dataset is: Passes=n+(n−2)(n−1)n=n2−2n+2n=n−2+2n≥n−2\text{Passes} = \frac{n + (n - 2)(n - 1)}{n} = \frac{n^2 - 2n + 2}{n} = n - 2 + \frac{2}{n} \ge n - 2

    For datasets where nn is large (e.g., when n=10n = 10, requiring 8 passes), Algorithm NL requires significantly more disk passes than the cell-based disk algorithm FindAllOutsD, which is guaranteed to require at most 3 passes.

  8. Knowl 8 — Dimensionality Crossover and Scalability of Cell-Based vs. Nested-Loop Algorithms

    data/table

    The execution times (CPU time plus I/O time in seconds) of the cell-based algorithm (CS) and the block nested-loop algorithm (NL) were evaluated on disk-resident synthetic datasets mirroring NHL statistics across dimensions k∈{3,4,5}k \in \{3, 4, 5\} and sizes N∈{100k,500k,2M}N \in \{100\text{k}, 500\text{k}, 2\text{M}\} with p=0.9999p = 0.9999 on an UltraSPARC-1 machine (128 MB RAM).

    3-D 4-D 5-D
    NN CS(103)\text{CS}(10^3) NL\text{NL} CS(104)\text{CS}(10^4) NL\text{NL} CS(105)\text{CS}(10^5) CS(85)\text{CS}(8^5) CS(65)\text{CS}(6^5) NL\text{NL}
    100,000 10.77 93.96 23.32 45.79 93.40 217.04 205.63 17.30
    500,000 57.10 490.62 114.00 223.51 695.37 997.11 1061.33 148.44
    2,000,000 253.90 2332.10 606.56 1421.16 >2147 >2147 >2147 1555.78

    In the table, CS(mik)\text{CS}(m_i^k) denotes the cell structure with mim_i partitions per dimension, yielding m=mikm = m_i^k cells.

    The results demonstrate:

    1. For k=3k = 3, CS outperforms NL by nearly an order of magnitude (e.g., 253.90 s253.90\text{ s} vs. 2332.10 s2332.10\text{ s} for N=2MN = 2\text{M}) because CS scales linearly with NN.
    2. For k=4k = 4, CS remains substantially faster than NL across all dataset sizes.
    3. For k=5k = 5, NL outperforms CS across all tested cell granularities (105,85,6510^5, 8^5, 6^5), because the exponential growth in the number of cells (O(ck)O(c^k)) dominates CS processing time. Thus, CS is preferred for k≤4k \le 4, whereas NL is the preferred algorithm for k≥5k \ge 5.
  9. Knowl 9 — Inefficiency of Multidimensional Index Structures for DB-Outlier Detection

    empirical result

    Evaluating multidimensional spatial index structures—specifically memory-resident kk-d trees (KD) and disk-based R-trees (RT)—shows that index-based outlier detection is uncompetitive with cell-based (CS) and block nested-loop (NL) algorithms:

    • In 3-D memory-resident experiments with p=0.9995p = 0.9995, KD required 3.14 s3.14\text{ s} for N=20,000N = 20,000 (compared to 0.32 s0.32\text{ s} for CS and 1.02 s1.02\text{ s} for NL), and 104.28 s104.28\text{ s} for N=100,000N = 100,000 (compared to 1.43 s1.43\text{ s} for CS and 27.67 s27.67\text{ s} for NL). The time required merely to construct the kk-d tree index exceeded the total runtime of CS and NL.
    • In 3-D disk-resident experiments, building the R-tree index alone took at least 10 times longer than the complete execution time of CS.
    • Multidimensional range query search complexity in kk dimensions has a lower bound of Ω(N1−1/k)\Omega(N^{1 - 1/k}), which rapidly approaches O(N)O(N) sequential search as kk increases, making total outlier search cost O(kN2)O(k N^2) on top of index construction overhead.
  10. Knowl 10 — Unification of Classical Statistical Outlier Definitions by DB-Outliers

    theoretical result

    The DB(p,D)DB(p, D)-outlier framework unifies classical distribution-based outlier definitions. Formally, DB(p,D)DB(p, D) unifies an outlier definition DefDef if there exist fixed parameters p0∈(0,1)p_0 \in (0, 1) and D0>0D_0 > 0 such that an object OO is an outlier according to DefDef if and only if OO is a DB(p0,D0)DB(p_0, D_0)-outlier.

    Concrete unifications include:

    1. Normal Distribution: Let DefNormalDef_{Normal} define tt as an outlier in a normal distribution with mean μ\mu and standard deviation σ\sigma if ∣t−μ∣σ>3\frac{|t - \mu|}{\sigma} > 3. DB(p,D)DB(p, D) unifies DefNormalDef_{Normal} with: p0=0.9988,D0=0.13σp_0 = 0.9988, \quad D_0 = 0.13\sigma
    2. Poisson Distribution: Let DefPoissonDef_{Poisson} define tt as an outlier in a Poisson distribution with parameter μ=3.0\mu = 3.0 if t≥8t \ge 8. DB(p,D)DB(p, D) unifies DefPoissonDef_{Poisson} with: p0=0.9892,D0=1p_0 = 0.9892, \quad D_0 = 1

    Analogous unifications hold for Student's tt-distributions and linear regression outlier models.

Coverage note — None was omitted; the extracted knowls cover all contributed definitions, algorithmic implementations (NL, FindAllOutsM, FindAllOutsD), cell pruning properties, I/O guarantees, and empirical performance benchmarks across dimensions and dataset sizes.

References

  1. 1.A. Arning, R. Agrawal, and P. Raghavan. A linear method for deviation detection in large databases. In Proc. KDD, pages 164–169, 1996.
  2. 2.R. Agrawal, S. Ghosh, T. Imielinski, B. Iyer, and A. Swami. An interval classifier for database mining applications. In Proc. 18th VLDB, pages 560–573, 1992.
  3. 3.R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between sets of items in large databases. In Proc. ACM SIGMOD, pages 207–216, 1993.
  4. 4.D. Angluin and P. Laird. Learning from noisy examples. Machine Learning, 2(4):343–370, 1988.
  5. 5.I. S. Bhandari, E. Colet, J. Parker, Z. Pines, R. Pratap, and K. Ramanujam. Advanced scout: Data mining and knowledge discovery in NBA data. Data Mining and Knowledge Discovery, 1(1):121–125, 1997.
  6. 6.J. L. Bentley. Multidimensional binary search trees used for associative searching. CACM, 18(9):509–517, 1975.
  7. 7.V. Barnett and T. Lewis. Outliers in Statistical Data. John Wiley, 3rd edition, 1994.
  8. 8.M. Ester, H.-P. Kriegel, J. Sander, and X. Xu. A density-based algorithm for discovering clusters in large spatial databases with noise. In Proc. KDD, pages 226–231, 1996.
  9. 9.D. Freedman, R. Pisani, and R. Purves. Statistics. W.W. Norton, New York, 1978.
  10. 10.R. Guttmann. A dynamic index structure for spatial searching. In Proc. ACM SIGMOD, pages 47–57, 1984.
  11. 11.D. Hawkins. Identification of Outliers. Chapman and Hall, London, 1980.
  12. 12.J. Han, Y. Cai, and N. Cercone. Knowledge discovery in databases: An attribute-oriented approach. In Proc. 18th VLDB, pages 547–559, 1992.
  13. 13.J. Hellerstein, E. Koutsoupias, and C. Papadimitriou. On the analysis of indexing schemes. In Proc. PODS, pages 249–256, 1997.
  14. 14.R. A. Johnson and D. W. Wichern. Applied Multivariate Statistical Analysis. Prentice-Hall, 3rd edition, 1992.
  15. 15.E. M. Knorr and R. T. Ng. Finding aggregate proximity relationships and commonalities in spatial data mining. IEEE Transactions on Knowledge and Data Engineering, 8(6):884–897, 1996.
  16. 16.E. M. Knorr and R. T. Ng. A unified notion of outliers: Properties and computation. In Proc. KDD, pages 219–222, 1997. An extended version of this paper appears as: E. M. Knorr and R.T. Ng. A Unified Approach for Mining Outliers. In Proc. 7th CASCON, pages 236–248, 1997.
  17. 17.E. M. Knorr. On digital money and card technologies. Technical Report 97-02, University of British Columbia, 1997.
  18. 18.H. Mannila and H. Toivonen. Discovering generalized episodes using minimal occurrences. In Proc. KDD, pages 146–151, 1996.
  19. 19.H. Mannila, H. Toivonen, and A. Verkamo. Discovering frequent episodes in sequences. In Proc. KDD, pages 210–215, 1995.
  20. 20.R. Ng and J. Han. Efficient and effective clustering methods for spatial data mining. In Proc. 20th VLDB, pages 144–155, 1994.
  21. 21.F. Preparata and M. Shamos. Computational Geometry: an Introduction. Springer-Verlag, 1988.
  22. 22.I. Ruts and P. Rousseeuw. Computing depth contours of bivariate point clouds. Computational Statistics and Data Analysis, 23:153–168, 1996.
  23. 23.H. Samet. The Design and Analysis of Spatial Data Structures. Addison-Wesley, 1990.
  24. 24.T. Zhang, R. Ramakrishnan, and M. Livny. BIRCH: An efficient data clustering method for very large databases. In Proc. ACM SIGMOD, pages 103–114, 1996.

Citation

MLA
Knorr, E. M., and R. T. Ng. “Algorithms for Mining Distance-Based Outliers in Large Datasets”. Very Large Data Bases, 1998, pp. 392–403, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.8026.
APA
Knorr, E. M., & Ng, R. T. (1998). Algorithms for Mining Distance-Based Outliers in Large Datasets. Very Large Data Bases, 392–403. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.8026
Chicago
Knorr, E. M., and R. T. Ng. 1998. “Algorithms for Mining Distance-Based Outliers in Large Datasets”. Very Large Data Bases, 392–403. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.8026.
Harvard
Knorr, E.M. and Ng, R.T. (1998) “Algorithms for Mining Distance-Based Outliers in Large Datasets”, Very Large Data Bases, pp. 392–403. Available at: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.8026.
Vancouver
1. Knorr EM, Ng RT (1998) Algorithms for Mining Distance-Based Outliers in Large Datasets. Very Large Data Bases 392–403

BibTeX

@article{knorr1998algorithms,
  title = {Algorithms for Mining Distance-Based Outliers in Large Datasets},
  author = {Knorr, Edwin M. and Ng, Raymond T.},
  year = {1998},
  journal = {Very Large Data Bases},
  pages = {392-403},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.8026}
}
Metadata:DOI registry

Access the Paper

This paper is available from its original source. Click below to access the PDF.

Open PDF