streamad

Online anomaly detection for data streams/ Real-time anomaly detection for time series data.

https://github.com/fengrui-liu/streamad

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, springer.com, ieee.org, acm.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords

anomaly-detection data-stream-processing data-streams incremental-learning machine-learning online-learning outlier-detection python real-time-detection streaming time-series timeseries
Last synced: 6 months ago · JSON representation ·

Repository

Online anomaly detection for data streams/ Real-time anomaly detection for time series data.

Basic Info
Statistics
  • Stars: 123
  • Watchers: 6
  • Forks: 24
  • Open Issues: 3
  • Releases: 3
Topics
anomaly-detection data-stream-processing data-streams incremental-learning machine-learning online-learning outlier-detection python real-time-detection streaming time-series timeseries
Created over 5 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Citation

README.md

StreamAD

StreamAD Logo

Anomaly detection for data streams/time series. Detectors process the univariate or multivariate data one by one to simulte a real-time scene.

Documentation

PyPI PyPI - Python Version PyPI - Implementation

Read the Docs GitHub Downloads

example workflow codecov Maintainability FOSSA Status


Installation

The stable version can be installed from PyPI:

bash pip install streamad

The development version can be installed from GitHub:

bash pip install git+https://github.com/Fengrui-Liu/StreamAD


Quick Start

Start once detection within 5 lines of code. You can find more example with visualization results here.

```python from streamad.util import StreamGenerator, UnivariateDS from streamad.model import SpotDetector

ds = UnivariateDS() stream = StreamGenerator(ds.data) model = SpotDetector()

for x in stream.iteritem(): score = model.fitscore(x) ```

Models

For univariate time series

If you want to detect multivarite time series with these models, you need to apply them on each feature separately.

| Model Example | API Usage | Paper | | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | KNNCAD | streamad.model.KNNDetector | Conformalized density- and distance-based anomaly detection in time-series data | | SPOT | streamad.model.SpotDetector | Anomaly detection in streams with extreme value theory | | Spectral Residual | streamad.model.SRDetector | Time-series anomaly detection service at microsoft | | Z score | streamad.model.ZScoreDetector | Standard score | | One-class SVM | streamad.model.OCSVMDetector | One-class SVM | | MAD | streamad.model.MadDetector | Median absolute deviation | | SARIMAX | streamad.model.SArimaDetector | Seasonal Arima Detector |

For multivariate time series

These models are compatible with univariate time series.

| Models Example | API Usage | Paper | | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | xStream | streamad.model.xStramDetector | Xstream: outlier detection in feature-evolving data streams | | RShash | streamad.model.RShashDetector | Subspace Outlier Detection in Linear Time with Randomized Hashing | | HSTree | streamad.model.HSTreeDetector | Fast Anomaly Detection for Streaming Data | | LODA | streamad.model.LodaDetector | Lightweight on-line detector of anomalies | | RRCF | streamad.model.RrcfDetector | Robust random cut forest based anomaly detection on streams |

Owner

  • Name: Fengrui Liu
  • Login: Fengrui-Liu
  • Kind: user
  • Location: Beijing, China
  • Company: Institute of Computing Technology, Chinese Academy of Sciences

Love What You Do ❤️ Do What You Love

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Liu
    given-names: Fengrui
    orcid:
title: "StreamAD"
version: 0.3.0
doi:
date-released: 2022-05-15

GitHub Events

Total
  • Watch event: 13
  • Issue comment event: 1
  • Fork event: 1
Last Year
  • Watch event: 13
  • Issue comment event: 1
  • Fork event: 1

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 227
  • Total Committers: 6
  • Avg Commits per committer: 37.833
  • Development Distribution Score (DDS): 0.062
Past Year
  • Commits: 151
  • Committers: 5
  • Avg Commits per committer: 30.2
  • Development Distribution Score (DDS): 0.04
Top Committers
Name Email Commits
Fengrui-Liu l****z@i****n 213
lcx 1****2@q****m 7
Xujiahui21 9****1@u****m 3
lcx 3****5@u****m 2
Brandon Fergerson b****n@a****g 1
Manuel Kaufmann h****s@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 2
  • Total pull requests: 14
  • Average time to close issues: about 23 hours
  • Average time to close pull requests: 7 days
  • Total issue authors: 2
  • Total pull request authors: 7
  • Average comments per issue: 4.0
  • Average comments per pull request: 0.86
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 2.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • stefanDeveloper (1)
  • BFergerson (1)
Pull Request Authors
  • Trailer5 (5)
  • Xujiahui21 (4)
  • fossabot (1)
  • dependabot[bot] (1)
  • humitos (1)
  • BFergerson (1)
  • lgtm-com[bot] (1)
Top Labels
Issue Labels
bug (2) enhancement (2) good first issue (1)
Pull Request Labels
function (3) new detector (3) documentation (1) dependencies (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
conda-forge.org: streamad
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Stargazers count: 36.2%
Forks count: 37.3%
Average: 39.7%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

benchmark/requirements_benchmark.txt pypi
  • kaleido *
docs/requirements-docs.txt pypi
  • jupytext *
  • myst_nb *
  • plotly *
  • recommonmark *
  • rrcf *
  • setuptools ==58.2.0
  • sphinx-book-theme *
  • sphinx-togglebutton *
  • sphinx_autodoc_typehints *
  • sphinx_copybutton *
  • sphinx_design *
  • sphinxcontrib.apidoc *
  • sphinxcontrib.bibtex *
  • tdigest *
.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
.github/workflows/testing.yml actions
  • actions/checkout master composite
  • actions/checkout v3 composite
  • actions/setup-python master composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v2 composite
  • pypa/gh-action-pypi-publish v1.5.0 composite
poetry.lock pypi
  • accumulation-tree 0.6.2
  • colorama 0.4.6
  • coverage 7.2.5
  • exceptiongroup 1.1.1
  • fast-histogram 0.11
  • iniconfig 2.0.0
  • joblib 1.2.0
  • mmh3 3.1.0
  • numpy 1.24.3
  • packaging 23.1
  • pandas 1.5.3
  • patsy 0.5.3
  • plotly 5.14.1
  • pluggy 1.0.0
  • pytest 7.3.1
  • pytest-cov 4.0.0
  • python-dateutil 2.8.2
  • pytz 2023.3
  • pyudorandom 1.0.0
  • rrcf 0.4.4
  • scikit-learn 1.2.2
  • scipy 1.6.1
  • scipy 1.9.3
  • six 1.16.0
  • statsmodels 0.13.5
  • tdigest 0.5.2.2
  • tenacity 8.2.2
  • threadpoolctl 3.1.0
  • tomli 2.0.1
pyproject.toml pypi
  • fast-histogram ^0.11
  • mmh3 ^3.0.0
  • numpy ^1.22
  • pandas ^1.3.0
  • plotly ^5.14.1
  • pytest ^7.3.1
  • pytest-cov ^4.0.0
  • python ^3.8
  • rrcf ^0.4.4
  • scikit-learn ^1.0.0
  • scipy ^1.3.1
  • statsmodels 0.13.5
  • tdigest ^0.5.2.2