All Projects → KDD-OpenSource → Agots

KDD-OpenSource / Agots

Anomaly Generator on Time Series

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Agots

Jaymock
Minimal fake JSON test data generator.
Stars: ✭ 28 (+16.67%)
Mutual labels:  data, generator
Jhtalib
Technical Analysis Library Time-Series
Stars: ✭ 131 (+445.83%)
Mutual labels:  data, time-series
Samples Viewer Generator
🎉 A CLI utility tool to generate web app of data visualization samples for presentation purpose
Stars: ✭ 13 (-45.83%)
Mutual labels:  data, generator
Timesynth
A Multipurpose Library for Synthetic Time Series Generation in Python
Stars: ✭ 170 (+608.33%)
Mutual labels:  time-series, generator
Mimesis
Mimesis is a high-performance fake data generator for Python, which provides data for a variety of purposes in a variety of languages.
Stars: ✭ 3,439 (+14229.17%)
Mutual labels:  data, generator
Data science blogs
A repository to keep track of all the code that I end up writing for my blog posts.
Stars: ✭ 139 (+479.17%)
Mutual labels:  data, time-series
Covid19
JSON time-series of coronavirus cases (confirmed, deaths and recovered) per country - updated daily
Stars: ✭ 1,177 (+4804.17%)
Mutual labels:  data, time-series
Faker
Faker is a pure Elixir library for generating fake data.
Stars: ✭ 673 (+2704.17%)
Mutual labels:  data, generator
Synthetic-data-gen
Various methods for generating synthetic data for data science and ML
Stars: ✭ 57 (+137.5%)
Mutual labels:  data, time-series
Gofakeit
Random fake data generator written in go
Stars: ✭ 2,193 (+9037.5%)
Mutual labels:  data, generator
Bogus
📇 A simple and sane fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.
Stars: ✭ 5,083 (+21079.17%)
Mutual labels:  data, generator
Awesome Ai Ml Dl
Awesome Artificial Intelligence, Machine Learning and Deep Learning as we learn it. Study notes and a curated list of awesome resources of such topics.
Stars: ✭ 831 (+3362.5%)
Mutual labels:  data, time-series
Z1p
Zip Codes Validation and Parse.
Stars: ✭ 17 (-29.17%)
Mutual labels:  data
Gcamdata
The GCAM data system
Stars: ✭ 22 (-8.33%)
Mutual labels:  data
Go Envparser
a go generator based env to go-struct decoder.
Stars: ✭ 17 (-29.17%)
Mutual labels:  generator
Yii2 Yml Catalog
Компонент выгрузки каталога товаров в Яндекс.Маркет
Stars: ✭ 16 (-33.33%)
Mutual labels:  generator
Forge Server Utils
Tools for accessing Autodesk Forge APIs from modern Node.js apps.
Stars: ✭ 23 (-4.17%)
Mutual labels:  generator
Lpfmpoints
Evolution of LPFM Stations
Stars: ✭ 19 (-20.83%)
Mutual labels:  data
Skdata
Python tools for data analysis
Stars: ✭ 16 (-33.33%)
Mutual labels:  data
Bits
A bite sized library for dealing with bytes.
Stars: ✭ 16 (-33.33%)
Mutual labels:  data

agots

Anomaly Generator on Time Series

Requirements

  • Python 3
  • Install the dependencies via pip install -r requirements.txt

Usage

The following example generates 4 time series with 200 data points. The first two time series correlate:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from agots.multivariate_generators.multivariate_data_generator import MultivariateDataGenerator

STREAM_LENGTH = 200
N = 4
K = 2

dg = MultivariateDataGenerator(STREAM_LENGTH, N, K)
df = dg.generate_baseline(initial_value_min=-4, initial_value_max=4)

for col in df.columns:
    plt.plot(df[col], label=col)
plt.legend()
plt.show()

df.corr()

first

To add anomalies, just specify their types and the locations within the corresponding time series as well as their magnitudes:

df = dg.add_outliers({'extreme': [{'n': 0, 'timestamps': [(10,), (30,)],
                                   'factor': 10
                                   }],
                      'shift':   [{'n': 1, 'timestamps': [(40, 60)],
                                   'factor': 10
                                   }],
                      'trend':   [{'n': 2, 'timestamps': [(70, 90)],
                                   'factor': 5
                                   }],
                      'variance': [{'n': 3, 'timestamps': [(100, 150)],
                                    'factor': 10
                                    }]})

for col in df.columns:
    plt.plot(df[col], label=col)
plt.legend()
plt.show()

second

Discover more in examples/.

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].