/data-augmentation-for-time-series-data

Remarkable performance of Deep Learning Models cann't be achieved without the massive data, this tool can help you to augment your time series data customly.

Primary LanguagePython

Data augmentation for time series data

A tool that can help you augment your time series data customly.

Table of Contents

Installation

We strongly recommend the usage of Anaconda for managing your python environments. Clone repo and install requirements.txt in a Python>=3.8.0 environment, including PyQt5==5.15.6. This set-up was tested under Windows 10 and Ubuntu 20.04.

  $ conda create --name augment_tool python=3.8 # virtual env
  $ conda activate augment_tool
  $ git clone https://github.com/peijichen0324/data-augmentation-for-time-series-data  # clone
  $ cd data-augmentation-for-time-series-data/
  $ pip install -r requirements.txt  # install

Usage

Settings Panel

  • Select channel:      Selects the channel you want to import (up to 6 channels).
  • Select File:        Selects the data file.
  • Select Folder:      Selects a data folder.
  • Processing and Save:   Processes data augmentation and save in same folder.
  • Progress Bar:       Displays the percentage of data augmentation processes that have completed.

Plot Panel

  • Raw data Plot:      Displays the raw data.
  • Augmentated data Plot: Displays the augmentated data.

Augmentation Methods Panel

  • Jittering:        a way of simulating additive sensor noise
  • Scaling:       changes the magnitude of the data in a window by multiplying by a random scalar
  • Permulation:       randomly perturb the temporal location of within-window events.
  • MagnitudeWarping:     changes the magnitude of each sample by convolving the data window with a smooth curve varying around one.
  • TimeWarping:       another way to perturb the temporal location.
  • RandomSampling:      random resampling the signal.
  • RandomCutout:       random cut off some parts of the signal.

Result