Density-based Outlier Detection Algorithms

버전 1.0.5 (10.2 KB) 작성자: Blue Bird
A MATLAB version of DDOutlier
다운로드 수: 715
업데이트 날짜: 2019/7/23

Story

An R package called DDOutlier [4] contains many density-based outlier detection algorithms. I find the package by accident in the searching for the sophisticated outlier detection methods. It proves the codes together with the associated papers, which are what I need. Then, I start to find a similar package in the MATLAB.

The MATLAB will never provide any algorithms that have not been proved stable and useful. It is an excellent advantage of the MATLAB. One will not worry that a function from MathWorks, Inc. has already been shown containing errors by other scientists. The MATLAB supports density-based methods from the bottom. It proves a function called ‘knnsearch’ and other associated functions.

DDOutlier written in MATLAB

The MATLAB version of DDOutlier proves an interface to operate the neighbors or reverse neighbors of a data point. The neighborhood is the keystone of density-based outlier detection algorithms. In the meantime, the buffer in the DDOutlier package prevents frequently search the database. It is self-maintained. The user will not worry about them when operating the neighborhood.

Supported algorithms

The MATLAB version directly supports two outlier detection algorithms:

  1. Local Outlier Factor (LOF) in function LOFs.m, which is from [1].

  2. Natural Outlier Factor (NOF) in function NOFs.m from [2] and [3].

Note that the R version of DDOutlier [4] supports many other algorithms.

Functions in the package:

  1. LRD.m : Local Reachability density [1].
  2. NIS.m : Natural Influence Space [2].
  3. NN.m : kth neighborhood [1].
  4. NaNSearching.m : find the searching range when all the nature neighbors are found [3].
  5. dataSet.m : store your data and buffer.
  6. distance.m : calculate the distance of two data points if at least one of them considers another as friends.
  7. kDistObj.m : generate a buffer for a specific searching range. Please use ‘clean all’ to clean it.
  8. k_distance.m : calculate the k-distance [1].
  9. matlabKNN.m : a function will generate the same output as KNN functions in R.
  10. rNN.m : kth-reverse-neighborhood [2].
  11. reach_distance.m : reachability distance [1].
  12. rnbs.m : the times that one point is contained by the neighborhood of other points.

Usage

A sample example can be found in tests.m. Remember to use ‘clean all’ to clean all the persist variables in the package. The package supports other distance metrics; however, only the euclidean metric is tested. So, it temporarily prevents outlier metric. The user is welcome to alter the code in dataSet.m for using other distance metrics.

References

[1] Breunig, Markus M., et al. “LOF: identifying density-based local outliers.” ACM sigmod record. Vol. 29. No. 2. ACM, 2000.APA

[2] Huang, Jinlong, et al. “A non-parameter outlier detection algorithm based on Natural Neighbor.” Knowledge-Based Systems 92 (2016): 71-77.

[3] Zhu, Qingsheng, Ji Feng, and Jinlong Huang. “Natural neighbor: A self-adaptive neighborhood method without parameter K.” Pattern Recognition Letters 80 (2016): 30-36.APA

[4]. https://github.com/jhmadsen/DDoutlier

인용 양식

Blue Bird (2024). Density-based Outlier Detection Algorithms (https://github.com/BlueBirdHouse/DDoutlier), GitHub. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2019a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Statistics and Machine Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
1.0.5

Automatically update.

1.0.4

New tags.

1.0.3

New title.

1.0.2

New title.

1.0.1

Renew Documents.

1.0.0

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.