Skip to main content

Time series anomaly detection.

Project description

tsod: Anomaly Detection for time series data.

Full test PyPI version Python version

univariate

Sensors often provide faulty or missing observations. These anomalies must be detected automatically and replaced with more feasible values before feeding the data to numerical simulation engines as boundary conditions or real time decision systems.

This package aims to provide examples and algorithms for detecting anomalies in time series data specifically tailored to DHI users and the water domain. It is simple to install and deploy operationally and is accessible to everyone (open-source).

Active learning web application

Please try the newly developed prototype web application for active learning (human in the loop). It is possible to test a version currently running in the Streamlit cloud: https://ts-outlier-detection.streamlit.app/

The web application is developed using Streamlit. All requirements needed to run this application can be found here.

Getting Started

Installation

tsod is a pure Python library and runs on Windows, Linux and Mac.

From PyPI:

pip install tsod

Or development version:

pip install https://github.com/DHI/tsod/archive/main.zip

Vision

  • A simple and consistent API for anomaly detection of timeseries
  • The computational speed will be good for typical timeseries data found in the water domain, to support realtime detection
  • It will have a suite of different algorithms ranging from simple rule-based to more advanced based on e.g. neural networks

Definitions

Note that we distinguish between two types of anomaly detection

  • Outlier detection (unsupervised anomaly detection) The training data may contain outliers, i.e. observations far from most other observations. Outlier detectors try to concentrate on the observations in the training data that similar and close together, and ignores observations further away.

  • Novelty detection (semi-supervised anomaly detection) The training data is considered "normal" and is not polluted by outliers. New test data observations can be categorized as an outlier and is in this context called a novelty.

Contribute to tsod

Open in Visual Studio Code

  • Follow PEP8 code style. This is automatically checked during Pull Requests.

  • If citing or re-using other code please make sure their license is also consistent with our policy.

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

tsod-0.2.0.tar.gz (53.4 kB view details)

Uploaded Source

Built Distribution

tsod-0.2.0-py3-none-any.whl (59.1 kB view details)

Uploaded Python 3

File details

Details for the file tsod-0.2.0.tar.gz.

File metadata

  • Download URL: tsod-0.2.0.tar.gz
  • Upload date:
  • Size: 53.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for tsod-0.2.0.tar.gz
Algorithm Hash digest
SHA256 101289a3798727ae41686b552be8d492581a026373e6a61e6872c16e7706e49c
MD5 364c7b93b5ea6ffd7e0ab61fc1c7569b
BLAKE2b-256 633d3d518ee1d072a41e7cb33d8b599a17cac1410ea23242bda6e08040aedc97

See more details on using hashes here.

File details

Details for the file tsod-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: tsod-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 59.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for tsod-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e37072d9fac25b71a09d66f22c27747b01e6b6e042447bbda335030762d6582
MD5 3e2b10deffa03ee064c2c382e99653a0
BLAKE2b-256 91e24a52d1fca0e2941f00e8d088abb41a9b14f19428956c68491bcb18161eb0

See more details on using hashes here.

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