Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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

About

Anomaly Generator on Time Series

Topics

Resources

Releases

No releases published

Packages

No packages published

Languages

You can’t perform that action at this time.