Skip to main content

Anomaly Detection in Streams with Extreme Value Theory

Project description

Anomaly Detection in Streams with Extreme Value Theory

Code style: black GitHub Actions Test Coverage PyPI version Downloads

This repository wraps the original implementation of SPOT published in KDD'17 as an installable package. We refactor the original one, removing duplicated code. To verify the faithfulness, several test cases are introduced in tests/test_faithfulness.py.

Usage

Install this package via pip install ads-evt.

ads_evt has almost the same interface as the original implementation.

from typing import List
import matplotlib.pyplot as plt
import numpy as np

import ads_evt as spot


# physics.dat is a file in the original repository
with open("physics.dat", encoding="UTF-8") as obj:
    data = np.array(list(map(float, obj.read().split(","))))
init_data = 2000
proba = 1e-3
depth = 450

models: List[spot.SPOTBase] = [
    # spot.SPOT(q=proba),
    # spot.dSPOT(q=proba, depth=depth),
    # spot.biSPOT(q=proba),
    # The original implementation of bidSPOT uses n_points=8 for _grimshaw by default
    spot.bidSPOT(q=proba, depth=depth, n_points=8),
]
for alg in models:
    alg.fit(init_data=init_data, data=data)
    alg.initialize()
    results = alg.run()
    # Plot
    figs = alg.plot(results)
    plt.show()

For developers

Execute test cases with the following commands

# Install dependencies for development
git submodule update --init
python -m pip install -r requirements-dev.txt
# Execute test cases
coverage run
coverage report

Licences

GNU GPLv3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ads-evt-0.0.4.tar.gz (8.7 kB view hashes)

Uploaded Source

Built Distribution

ads_evt-0.0.4-py3-none-any.whl (7.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page