Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

21 Commits

Repository files navigation

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:

importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltfromagots.multivariate_generators.multivariate_data_generatorimportMultivariateDataGeneratorSTREAM_LENGTH=200N=4K=2dg=MultivariateDataGenerator(STREAM_LENGTH, N, K)
df=dg.generate_baseline(initial_value_min=-4, initial_value_max=4)
forcolindf.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
}]})
forcolindf.columns:
plt.plot(df[col], label=col)
plt.legend()
plt.show()

second

Discover more in examples/.

About

Anomaly Generator on Time Series

Topics

Resources

Stars

56 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages