All Projects → signals-dev → Orion

signals-dev / Orion

Licence: mit
A machine learning library for detecting anomalies in signals.

Projects that are alternatives of or similar to Orion

Code search
Code For Medium Article: "How To Create Natural Language Semantic Search for Arbitrary Objects With Deep Learning"
Stars: ✭ 436 (-2.02%)
Mutual labels:  jupyter-notebook
Deeplearningzerotoall
TensorFlow Basic Tutorial Labs
Stars: ✭ 4,239 (+852.58%)
Mutual labels:  jupyter-notebook
Python Ml Course
Curso de Introducción a Machine Learning con Python
Stars: ✭ 442 (-0.67%)
Mutual labels:  jupyter-notebook
Compas Analysis
Data and analysis for 'Machine Bias'
Stars: ✭ 437 (-1.8%)
Mutual labels:  jupyter-notebook
China job survey
stats of Chinese developers. 统计中国程序员的就业情况
Stars: ✭ 441 (-0.9%)
Mutual labels:  jupyter-notebook
Practical Deep Learning Book
Official code repo for the O'Reilly Book - Practical Deep Learning for Cloud, Mobile & Edge
Stars: ✭ 441 (-0.9%)
Mutual labels:  jupyter-notebook
Getcards
Notebook to download machine learning flashcards
Stars: ✭ 435 (-2.25%)
Mutual labels:  jupyter-notebook
Deeplearning Ahem Detector
Stars: ✭ 444 (-0.22%)
Mutual labels:  jupyter-notebook
Lucid
A collection of infrastructure and tools for research in neural network interpretability.
Stars: ✭ 4,344 (+876.18%)
Mutual labels:  jupyter-notebook
Publaynet
Stars: ✭ 442 (-0.67%)
Mutual labels:  jupyter-notebook
Monk object detection
A one-stop repository for low-code easily-installable object detection pipelines.
Stars: ✭ 437 (-1.8%)
Mutual labels:  jupyter-notebook
Generative Models
Annotated, understandable, and visually interpretable PyTorch implementations of: VAE, BIRVAE, NSGAN, MMGAN, WGAN, WGANGP, LSGAN, DRAGAN, BEGAN, RaGAN, InfoGAN, fGAN, FisherGAN
Stars: ✭ 438 (-1.57%)
Mutual labels:  jupyter-notebook
Reinforcement learning tutorial with demo
Reinforcement Learning Tutorial with Demo: DP (Policy and Value Iteration), Monte Carlo, TD Learning (SARSA, QLearning), Function Approximation, Policy Gradient, DQN, Imitation, Meta Learning, Papers, Courses, etc..
Stars: ✭ 442 (-0.67%)
Mutual labels:  jupyter-notebook
Tigramite
Tigramite is a time series analysis python module for causal discovery. The Tigramite documentation is at
Stars: ✭ 435 (-2.25%)
Mutual labels:  jupyter-notebook
Modsimpy
Text and supporting code for Modeling and Simulation in Python
Stars: ✭ 443 (-0.45%)
Mutual labels:  jupyter-notebook
Finbert
Financial Sentiment Analysis with BERT
Stars: ✭ 433 (-2.7%)
Mutual labels:  jupyter-notebook
Nglview
Jupyter widget to interactively view molecular structures and trajectories
Stars: ✭ 440 (-1.12%)
Mutual labels:  jupyter-notebook
Swiftai
Swift for TensorFlow's high-level API, modeled after fastai
Stars: ✭ 445 (+0%)
Mutual labels:  jupyter-notebook
Pytorch Maml
PyTorch implementation of MAML: https://arxiv.org/abs/1703.03400
Stars: ✭ 444 (-0.22%)
Mutual labels:  jupyter-notebook
Tcav
Code for the TCAV ML interpretability project
Stars: ✭ 442 (-0.67%)
Mutual labels:  jupyter-notebook

“DAI-Lab” An open source project from Data to AI Lab at MIT.

“Orion”

Development Status PyPi Shield Tests Downloads Binder

Orion

Overview

Orion is a machine learning library built for unsupervised time series anomaly detection. With a given time series data, we provide a number of “verified” ML pipelines (a.k.a Orion pipelines) that identify rare patterns and flag them for expert review.

The library makes use of a number of automated machine learning tools developed under Data to AI Lab at MIT.

Recent news: Read about using an Orion pipeline on NYC taxi dataset in a blog series:

Part 1: Learn about unsupervised time series anomaly detection Part 2: Learn how we use GANs to solving the problem? Part 3: How does one evaluate anomaly detection pipelines?

Notebooks: Discover Orion through colab by launching our notebooks!

Quickstart

Install with pip

The easiest and recommended way to install Orion is using pip:

pip install orion-ml

This will pull and install the latest stable release from PyPi.

In the following example we show how to use one of the Orion Pipelines.

Fit an Orion pipeline

We will load a demo data for this example:

from orion.data import load_signal

train_data = load_signal('S-1-train')
train_data.head()

which should show a signal with timestamp and value.

    timestamp     value
0  1222819200 -0.366359
1  1222840800 -0.394108
2  1222862400  0.403625
3  1222884000 -0.362759
4  1222905600 -0.370746

In this example we use lstm_dynamic_threshold pipeline and set some hyperparameters (in this case training epochs as 5).

from orion import Orion

hyperparameters = {
    'keras.Sequential.LSTMTimeSeriesRegressor#1': {
        'epochs': 5,
        'verbose': True
    }
}

orion = Orion(
    pipeline='lstm_dynamic_threshold',
    hyperparameters=hyperparameters
)

orion.fit(train_data)

Detect anomalies using the fitted pipeline

Once it is fitted, we are ready to use it to detect anomalies in our incoming time series:

new_data = load_signal('S-1-new')
anomalies = orion.detect(new_data)

⚠️ Depending on your system and the exact versions that you might have installed some WARNINGS may be printed. These can be safely ignored as they do not interfere with the proper behavior of the pipeline.

The output of the previous command will be a pandas.DataFrame containing a table of detected anomalies:

        start         end  severity
0  1394323200  1399701600  0.673494

Leaderboard

In every release, we run Orion benchmark. We maintain an up-to-date leaderboard with the current scoring of the verified pipelines according to the benchmarking procedure.

We run the benchmark on 11 datasets with their known grounth truth. We record the score of the pipelines on each datasets. To compute the leaderboard table, we showcase the number of wins each pipeline has over the ARIMA pipeline.

Pipeline Outperforms ARIMA
TadGAN 8
LSTM Dynamic Thresholding 8
LSTM Autoencoder 7
Dense Autoencoder 7
Azure 0

You can find the scores of each pipeline on every signal recorded in the details Google Sheets document. The summarized results can also be browsed in the following summary Google Sheets document.

Resources

Additional resources that might be of interest:

Citation

If you use Orion for your research, please consider citing the following paper:

Alexander Geiger, Dongyu Liu, Sarah Alnegheimish, Alfredo Cuesta-Infante, Kalyan Veeramachaneni. TadGAN - Time Series Anomaly Detection Using Generative Adversarial Networks.

@inproceedings{geiger2020tadgan,
  title={TadGAN: Time Series Anomaly Detection Using Generative Adversarial Networks},
  author={Geiger, Alexander and Liu, Dongyu and Alnegheimish, Sarah and Cuesta-Infante, Alfredo and Veeramachaneni, Kalyan},
  booktitle={2020 IEEE International Conference on Big Data (IEEE BigData)},
  organization={IEEE},
  year={2020}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].