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

Conda PyPI PyPI - Python Version PyPI - Implementation

Read the Docs GitHub Conda Downloads

example workflow codecov Maintainability FOSSA Status


Installation#

The stable version can be installed from PyPI:

pip install streamad

The stable version can be installed from conda-forge:

conda install --channel "conda-forge" streamad

The development version can be installed from GitHub:

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.

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

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

for x in stream.iter_item():
    score = model.fit_score(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

RRCF

streamad.model.RrcfDetector

Robust random cut forest based anomaly detection on streams

Spectral Residual

streamad.model.SRDetector

Time-series anomaly detection service at microsoft

Z score

streamad.model.ZScoreDetector

Standard score

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