time_series_generator
Create synthetic time series data
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.6%) to scientific vocabulary
Repository
Create synthetic time series data
Basic Info
- Host: GitHub
- Owner: epodium
- License: apache-2.0
- Language: Jupyter Notebook
- Default Branch: master
- Size: 3.87 MB
Statistics
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 6
- Releases: 1
Metadata Files
README.md
Time Series Generator
Create synthetic time series data of defined type (or class).
Time series classes
A times series class can be provided as a Python dictionary or loaded from yaml files.
The class description needs to contain all necessary characteristics of both signal (signal_defs) and noise (noise_defs).
Install
```shell
make a virtual environment
python3 -m venv venv3
activate the virtual environment
source venv3/bin/activate
upgrade pip
pip install --upgrade pip
install the package
pip install .
install the package's development dependencies
pip install .[dev]
test if the unit tests work
pytest ```
Example of a time series class definition
python
TSC_01 = {'class_name': 'Simple example',
'n_timepoints': 400,
'n_channels': 6,
'signal_defs': [{'peaks_per_ch' : 1,
'channels' : [3,4,5],
'n_ch' : [2, 3],
'length' : [50,80],
'position' : [50,160],
'extra_shift' : [-10,10],
'amp' : [0.7,1],
'sign' : 1,
'signal_type' : 'peak_exponential'
}],
'noise_defs': [{'channels' : 'all',
'noise_amp' : [0.05,0.06],
'noise_type' : 'gaussian'
},
{'channels' : 'all',
'noise_amp' : [0.018,0.022],
'noise_type' : 'random_walk'
}]
}
The defined class can then be used to generate according time series.
```python
import TSgenerator as TSgen
import TSplotting as TSplot
X = TSgen.generateTS(TSC01, randomseed = None, ignorenoise = False)
TSplot.plotTS(X, TSC01)
```

Citation (CITATION.cff)
# YAML 1.2
---
abstract: "Python library to define and generate synthetic time series data"
authors:
-
affiliation: "Netherlands eScience Center"
family-names: Huber
given-names: Florian
orcid: "https://orcid.org/0000-0002-3535-9406"
cff-version: "1.1.0"
date-released: 2021-03-11
doi: "10.5281/zenodo.4596774"
keywords:
- Python
- "synthetic data"
- "time series analysis"
- "machine learning"
- classification
license: "Apache-2.0"
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/epodium/time_series_generator"
title: "time_series_generator"
version: "0.1.0"
...
GitHub Events
Total
Last Year
Dependencies
- PyYAML *
- matplotlib *
- scikit-learn *
- scipy *