
시계열 데이터 이상 탐지를 위한 도구 및 데이터셋 목록.
시계열(time-series) 데이터의 이상 탐지를 위한 도구 및 데이터셋 목록입니다.
모든 목록은 알파벳순으로 정렬되어 있습니다. 목록에서 유지 관리 중인 프로젝트가 유지 관리되지 않는 프로젝트보다 우선합니다. 저장소의 최신 커밋이 1년 이상 지났거나 작성자가 명시적으로 언급한 경우 해당 저장소는 "유지 관리되지 않음"으로 간주합니다.
🎓 이 컬렉션이 유용하다고 생각되어 인용하고 싶다면 인용 정책을 참조하세요.
| 이름 | 언어 | 설명 | 라이선스 | 유지 관리 |
|---|---|---|---|---|
| Cuebook의 CueObserve | Python3 | SQL 데이터 웨어하우스 및 데이터베이스에서의 이상 탐지. | Apache-2.0 | ✔️ |
| Yahoo의 EGADS | Java | GADS는 유일한 의존성이 Java인 단일 패키지로 다양한 사용 사례에 적용 가능한 여러 이상 탐지 기법을 포함하는 라이브러리입니다. | GPL | ✔️ |
| AIStream의 flow-forecast | Python | 시계열 예측, 분류 및 이상 탐지를 위한 PyTorch 딥러닝 라이브러리(원래 홍수 예측용). | GPL-3 | ✔️ |
| Hastic | Python + node.js | Grafana 기반 UI를 갖춘 시계열 데이터 이상 탐지 도구. | GPL | ✔️ |
| Zillow의 Luminaire | Python | Luminaire는 시계열 데이터를 위한 ML 기반 이상 탐지 및 예측 솔루션을 제공하는 Python 패키지입니다. | Apache-2.0 | ✔️ |
| MIDAS | C++ | MIDAS(Microcluster-Based Detector of Anomalies in Edge Streams)는 일정한 시간과 메모리로 엣지 스트림에서 마이크로클러스터 이상을 탐지합니다. | Apache-2.0 | ✔️ |
| Orion | Python | Orion은 비지도 시계열 이상 탐지를 위해 구축된 머신러닝 라이브러리로, 희귀 패턴을 식별하고 전문가 검토를 위해 플래그를 지정하는 여러 "검증된" ML 파이프라인(일명 Orion 파이프라인)을 제공합니다. | MIT | ✔️ |
| OutlierDetection.jl | Julia | Julia를 사용한 빠르고 확장 가능하며 유연한 이상치 탐지. | MIT | ✔️ |
| PyOD | Python |
이 섹션에는 예측, 일반적인 시계열 분석 및 라벨링과 같은 이상 탐지 관련 작업을 위한 일부 시계열 소프트웨어가 포함되어 있습니다.
NAB는 스트리밍 실시간 애플리케이션의 이상 탐지 알고리즘을 평가하기 위한 새로운 벤치마크입니다. 50개 이상의 라벨링된 실제 및 인공 시계열 데이터 파일과 실시간 애플리케이션을 위해 설계된 새로운 점수 계산 메커니즘으로 구성됩니다.
이 데이터셋은 이상 지점이 태깅된 실제 및 합성 시계열로 구성됩니다. 이상치 및 변화점을 포함한 다양한 이상 유형의 탐지 정확도를 테스트합니다.
SKAB(Skoltech Anomaly Benchmark)는 이상 탐지 알고리즘 평가를 위해 설계되었습니다. 이 벤치마크는 현재 30개 이상의 데이터셋과 알고리즘 평가를 위한 Python 모듈을 포함합니다. 각 데이터셋은 테스트베드에 설치된 센서에서 수집된 다변량 시계열을 나타냅니다. 모든 인스턴스는 이상치 탐지 및 변화점 탐지 문제 해결 결과를 평가하기 위해 라벨링되어 있습니다.
이 데이터셋은 인터넷 기업의 여러 실제 시나리오에서 얻은 KPI(핵심 성과 지표) 시계열 데이터와 정답 라벨로 구성됩니다. 더 자세한 설명은 아래를 클릭하세요.
이 데이터셋은 인터넷 기업의 여러 실제 시나리오에서 얻은 KPI(핵심 성과 지표) 시계열 데이터와 정답 라벨로 구성됩니다. KPI는 서비스 KPI와 머신 KPI의 두 가지 광범위한 범주로 나뉩니다. 서비스 KPI는 페이지 응답 시간, 페이지 뷰, 연결 오류 수 등 웹 서비스의 규모와 품질을 반영하는 성능 메트릭입니다. 머신 KPI는 CPU 사용률, 메모리 사용률, 디스크 IO, 네트워크 카드 처리량 등 머신(서버, 라우터, 스위치)의 상태를 반영하는 성능 지표입니다.
데이터셋 설명:
이상 탐지 알고리즘을 학습시키기 위해 제공하는 학습 KPI 데이터는 표 1과 같으며, KPI ID, 타임스탬프, 해당 시점의 KPI 값, 해당 시점의 비정상 여부(라벨)의 네 가지 열로 구성됩니다.
표 1 학습 KPI 데이터 예시
이 저장소를 인용하려면 다음 DOI를 사용하세요:
또는 다음 BibTex를 사용하세요.
@article{medico2020,
title={rob-med/awesome-TS-anomaly-detection},
DOI={10.5281/zenodo.3972944},
abstractNote={A collection of tools and datasets for anomaly detection on time-series data.},
publisher={Zenodo}, author={Roberto Medico}, year={2020}, month={Aug}}
| PyOD는 다변량 데이터에서 이상치 객체를 탐지하기 위한 포괄적이고 확장 가능한 Python 툴킷입니다. |
| BSD 2-Clause |
| ✔️ |
| ruptures | Python | Ruptures는 오프라인 변화점 탐지를 위한 Python 라이브러리입니다. 이 패키지는 비정상 신호의 분석 및 분할 방법을 제공합니다. | BSD 2-Clause | ✔️ |
| EarthGecko Skyline | Python3 | Skyline은 수십만 개의 메트릭을 수동적으로 모니터링할 수 있도록 구축된 실시간 이상 탐지 시스템입니다. | MIT | ✔️ |
| Expedia.com의 Adaptive Alerting | Java | 자동 모델 선택 및 피팅을 지원하는 스트리밍 이상 탐지. | Apache-2.0 | ❌ |
| Arundo의 ADTK | Python | Anomaly Detection Toolkit(ADTK)은 비지도/규칙 기반 시계열 이상 탐지를 위한 Python 패키지입니다. | MPL 2.0 | ❌ |
| Twitter의 AnomalyDetection | R | AnomalyDetection은 계절성과 기본 추세가 존재할 때 통계적으로 강건한 이상 탐지를 위한 오픈소스 R 패키지입니다. | GPL | ❌ |
| Lytics의 Anomalyzer | Go | Anomalyzer는 일반적으로 시계열인 주어진 숫자 입력 집합에 이상 동작이 포함될 확률을 산출하는 일련의 통계 테스트를 구현합니다. | Apache-2.0 | ❌ |
| banpei | Python | 시계열을 위한 이상치 탐지(Hotelling의 이론) 및 변화점 탐지(특이 스펙트럼 변환). | MIT | ❌ |
| Ele.me의 banshee | Go | 주기적 메트릭을 위한 이상 탐지 시스템. | MIT | ❌ |
| CAD | Python | 스트리밍 데이터에 대한 실시간 이상 탐지를 위한 Contextual Anomaly Detection(2016 NAB 대회 우승 알고리즘). | AGPL | ❌ |
| Chaos Genius | Python | 이상치/이상 탐지 및 근본 원인 분석을 위한 ML 기반 분석 엔진. | MIT | ❌ |
| Mentat의 datastream.io | Python | Python, Elasticsearch 및 Kibana를 사용한 실시간 이상 탐지를 위한 오픈소스 프레임워크. | Apache-2.0 | ❌ |
| DeepADoTS | Python | 시계열 데이터 이상 탐지를 위한 7가지 딥러닝 기반 기법의 구현 및 평가. | MIT | ❌ |
| Donut | Python | Donut은 Variational Autoencoder 기반의 계절성 KPI를 위한 비지도 이상 탐지 알고리즘입니다. | - | ❌ |
| LoudML | Python | Loud ML은 TensorFlow 기반의 오픈소스 시계열 추론 엔진입니다. 데이터 예측, 이상치 탐지, 미래 지식을 사용한 프로세스 자동화에 유용합니다. | MIT | ❌ |
| Linkedin의 luminol | Python | Luminol은 시계열 데이터 분석을 위한 경량 Python 라이브러리입니다. 지원하는 두 가지 주요 기능은 이상 탐지와 상관관계 분석입니다. 이상의 가능한 원인을 조사하는 데 사용할 수 있습니다. | Apache-2.0 | ❌ |
| Numenta의 Nupic | C++ | Numenta Platform for Intelligent Computing은 계층적 시간 메모리(HTM)의 구현입니다. | AGPL | ❌ |
| oddstream | R | oddstream(Outlier Detection in Data Streams)은 대규모 스트리밍 시계열 데이터 모음에서 이상 계열을 조기에 탐지하기 위한 실시간 지원을 제공합니다. | GPL-3 | ❌ |
| PyOdds | Python | PyODDS는 데이터베이스 지원을 갖춘 엔드투엔드 Python 이상치 탐지 시스템입니다. PyODDS는 정적 데이터와 시계열 데이터를 모두 지원하는 이상치 탐지 알고리즘을 제공합니다. | MIT | ❌ |
| PySAD | Python | PySAD는 다양한 온라인 모델과 실험을 위한 완전한 도구 세트를 갖춘 스트리밍 이상 탐지 프레임워크입니다. | BSD 3-Clause | ❌ |
| rrcf | Python | 스트림 이상 탐지를 위한 Robust Random Cut Forest 알고리즘 구현. | MIT | ❌ |
| Netflix의 Surus | Java | 강건한 이상 탐지(RAD) - Robust PCA의 구현. | Apache-2.0 | ❌ |
| NASA의 Telemanom | Python | 다변량 시계열 데이터에서 이상을 탐지하기 위해 LSTM을 사용하는 프레임워크. 화성 과학 연구소(Mars Science Laboratory) 및 SMAP 임무의 우주선 이상 데이터와 실험을 포함합니다. | custom | ❌ |
| 이름 | 언어 | 설명 | 라이선스 | 유지 관리 |
|---|
| darts | Python | darts는 시계열의 손쉬운 조작과 예측을 위한 Python 라이브러리입니다. ARIMA와 같은 고전 모델부터 신경망까지 다양한 모델을 포함합니다. | Apache-2.0 | ✔️ |
| ETNA | Python | etna는 시간 데이터 구조를 항상 염두에 둔 시계열 예측 및 분석을 위한 Python 라이브러리입니다. 통합 인터페이스를 갖춘 다양한 예측 모델과 함께 EDA 및 검증 방법을 포함합니다. | Apache-2.0 | ✔️ |
| Amazon의 GluonTS | Python | GluonTS는 MXNet을 기반으로 구축된 확률적 시계열 모델링을 위한 Python 툴킷입니다. GluonTS는 시계열 데이터셋을 로드하고 반복 처리하기 위한 유틸리티, 학습 준비가 된 최신 모델, 자체 모델을 정의하기 위한 빌딩 블록을 제공합니다. | Apache-2.0 | ✔️ |
| pmdarima | Python | scikit-learn 친화적인 인터페이스를 갖춘 R의 auto.arima 포팅. | MIT | ✔️ |
| Facebook의 Prophet | Python/R | Prophet은 시계열 데이터를 예측하기 위한 절차입니다. 비선형 추세를 연간 및 주간 계절성과 공휴일에 맞추는 가산 모델을 기반으로 합니다. | BSD | ✔️ |
| PyFlux | Python | 이 라이브러리는 다양한 최신 시계열 모델과 함께 이러한 모델에 적용할 수 있는 유연한 추론 옵션(빈도주의 및 베이지안)을 제공합니다. | BSD 3-Clause | ❌ |
| 이름 | 언어 | 설명 | 라이선스 | 유지 관리 |
|---|
| Facebook의 Kats | Python | Kats는 탐지, 예측, 특징 추출/임베딩, 다변량 분석 등을 포함한 시계열 분석의 원스톱 솔루션을 제공하는 것을 목표로 합니다. | MIT | ✔️ |
| MatrixProfile | Python | 매트릭스 프로파일 알고리즘을 활용하여 시계열 데이터 마이닝 작업을 누구나 접근할 수 있게 해주는 Python 3 라이브러리. | Apache-2.0 | ✔️ |
| Salesforce의 Merlion | Python | Merlion: 시계열 인텔리전스를 위한 머신러닝 프레임워크, ARIMA를 포함한 여러 모델 지원 | BSD 3-Clause | ✔️ |
| SaxPy | Python | SAX의 일반적인 구현과 이상 탐지를 위한 HOTSAX. | GPLv2.0 | ✔️ |
| sktime | Python | 시계열 머신러닝을 위한 통합 프레임워크. 여러 학습 문제에 대한 시계열 모델을 구축, 튜닝 및 검증하기 위한 전문 시계열 알고리즘과 scikit-learn 호환 도구를 제공합니다. | BSD 3-Clause | ✔️ |
| sktime-dl | Python | sktime을 위한 Tensorflow/Keras 딥러닝 확장 패키지. | BSD 3-Clause | ✔️ |
| Squey | C++ | 모든 이상치를 표시하면서 시계열을 심층적으로 탐색할 수 있는 시각화 소프트웨어. | MIT | ✔️ |
| Tigramite | Python | Tigramite는 인과적 시계열 분석을 위한 Python 패키지입니다. 고차원 시계열 데이터셋에서 인과 그래프를 효율적으로 재구성하고, 얻은 인과 의존성을 인과 매개 및 예측 분석을 위해 모델링할 수 있습니다. | GPLv3.0 | ✔️ |
| tsflex | Python | tsflex는 유연하면서도 효율적인 특징 추출 및 처리를 위한 시계열 툴킷입니다. 이 패키지는 다변량, 불규칙 샘플링 시퀀스 데이터에 대한 스트라이드 윈도우 특징 추출을 지원합니다. | MIT | ✔️ |
| tslearn | Python | tslearn은 시계열 분석을 위한 머신러닝 도구를 제공하는 Python 패키지입니다. 이 패키지는 scikit-learn, numpy 및 scipy 라이브러리를 기반으로 합니다. | BSD 2-Clause | ✔️ |
| seglearn | Python | seglearn은 시계열 또는 시퀀스 머신러닝을 위한 Python 패키지입니다. 분할, 특징 추출, 특징 처리 및 최종 추정기를 위한 통합 파이프라인을 제공합니다. | BSD 3-Clause | ❌ |
| 이름 | 언어 | 설명 | 라이선스 | 유지 관리 |
|---|
| Baidu의 Curve | Python | Curve는 시계열 데이터의 이상에 라벨을 지정하는 데 도움을 주는 오픈소스 도구입니다. | Apache-2.0 | ❌ |
| Microsoft의 Taganomaly | R (dockerized web app) | 시계열 데이터 태깅을 위한 간단한 도구. 단변량 및 다변량 데이터에서 작동하며, Twitter의 AnomalyDetection 패키지를 사용한 참조 이상 예측을 제공합니다. | MIT | ❌ |
| KPI ID | Timestamp | Value | Label |
|---|
| 0 | 1503831000 | 10.8 | 0 |
| 0 | 1503831060 | 12.3 | 1 |
| ... | ... | ... | ... |
이상 탐지 알고리즘을 평가하기 위해 제공하는 테스트 KPI 데이터는 표 2와 같으며, KPI ID, 타임스탬프, 해당 시점의 KPI에 해당하는 값의 두 열로 구성됩니다.
표 2 테스트 KPI 데이터 예시
| KPI ID | Timestamp | Value |
|---|---|---|
| 0 | 1503831000 | 10.8 |
| 0 | 1503831060 | 12.3 |
| ... | ... | ... |