Skip to content
/ tsad Public
forked from waico/tsad

Package for Time Series Forecasting and Anomaly Detection Problems.

License

Notifications You must be signed in to change notification settings

lyzl2010/tsad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maual pythonDownloads Downloads pypi version License python

TSAD

Time Series Analysis for Simulation of Technological Processes

The primary purpose of the TSAD (Python module) is to make life easier for researchers who use ML techniques to solve the following problems:

  • Fault Detection of industrial equipment
  • Improvement of technological processes of industrial equipment
    • Performance boost
    • Cost reduction
    • Quality control and management

Solving Fault Detection problem

In TSAD, the problem of fault detection is reduced to the problem of detecting time series anomalies using a well-known technique:

  • Forecast a multivariate Time Series (TS) one point ahead (Also works for univariate TS)
  • Compute residuals between forecast and true values
  • Apply analysis of residuals and thus find anomalies

image-2

Documentation

https://tsad.readthedocs.io/


Getting Started

Installation through PyPi:

pip install -U tsad

# Import 
import sys
sys.path.insert(1, '../')
from tsad.base.pipeline import Pipeline
from tsad.base.datasets import load_skab
from tsad.pipelines import ResidualAnomalyDetectionTaskSet

# loading data
dataset = load_skab()
targets = dataset.target_names 
data = dataset.frame.drop(columns=targets).droplevel(level=0)

# Fit and predict
pipeline = Pipeline(ResidualAnomalyDetectionTaskSet)
pred = pipeline.fit_predict(data,n_epochs=5)

After that, you can see:

image-1

image-1

More details you can find here


Thoughts

We encourage the community also to provide feedback on the desired functionality.

We plan to implement:

  1. More complex preprocessing of time series, especially in the area of reduction to a single sampling rate (problem of unevenly spaced time series)

  2. Implement other SOTA algorithms

  3. The ability to implement any model in our pipeline by just providing a link to GitHub. It seems to be a handy feature as many researchers need to verify their models with others.

  4. Integration with most forecasting and anomaly detection benchmarks.

Some interesting links:

  1. https://github.com/salesforce/Merlion
  2. https://github.com/fastforwardlabs/deepad
  3. https://github.com/HendrikStrobelt/LSTMVis
  4. https://github.com/TezRomacH/python-package-template
  5. https://github.com/khundman/telemanom
  6. https://github.com/signals-dev/Orion
  7. https://github.com/NetManAIOps/OmniAnomaly
  8. https://github.com/unit8co/darts
  9. https://github.com/tinkoff-ai/etna-ts
  10. https://github.com/yzhao062/pyod
  11. https://www.radiativetransfer.org/misc/typhon/doc/modules.html#datasets How include dataset
  12. https://github.com/AutoViML/Auto_TS
  13. https://nuancesprog.ru/p/15161/
  14. https://www.sktime.org/en/stable/
  15. https://github.com/zalandoresearch/pytorch-ts
  16. https://github.com/qdata/spacetimeformer
  17. https://joaquinamatrodrigo.github.io/skforecast/0.6.0/index.html

Про архитектуру:

https://pypi.org/project/catalyst/

Merlion Alibi Detect Kats pyod GluonTS RRCF STUMPY Greykite Prophet pmdarima deepad TSAD
Forecasting (Прогнозирование)
Anomaly Detection (Поиск аномалий)
Metrics (Алгоритмы оценки)
Ensembles (Ансамбли)
Benchmarking (Бенчмарки и датасеты)
Visualization (Визуализация результатов)
Data preprocessing (Предварительная обработка данных)
Automated EDA (Автоматизированный разведочный анализ данных)

Dependencies

  • TODO

Repo structure

  └── repo 
    ├───docs       # documentation
    ├───tutorials   # examples
    ├───tsad       # files of library

About

Package for Time Series Forecasting and Anomaly Detection Problems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 87.8%
  • Python 12.2%