time_series_generator

Create synthetic time series data

https://github.com/epodium/time_series_generator

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
Last synced: 6 months ago · JSON representation ·

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
Created almost 6 years ago · Last pushed almost 5 years ago
Metadata Files
Readme License Citation Zenodo

README.md

DOI

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

setup.py pypi
  • PyYAML *
  • matplotlib *
  • scikit-learn *
  • scipy *