Table of Contents
Fetching ...

Rapid Augmentations for Time Series (RATS): A High-Performance Library for Time Series Augmentation

Wadie Skaf, Felix Kern, Aryamaan Basu Roy, Tejas Pradhan, Roman Kalkreuth, Holger Hoos

TL;DR

RATS targets the performance bottlenecks of time series augmentation in production pipelines by delivering a Rust-based core with Python bindings (RATSpy) and a unified, parallelizable augmentation pipeline. It implements 17 augmenters across basic, spectral, and time-warping transformations, with probabilistic application and a common trait interface enabling pipeline composition. Benchmarking on 143 univariate datasets shows RATSpy is substantially faster than tsaug (average ~74% faster, up to ~94% on large datasets) and uses up to ~48% less peak memory, validating its suitability for production-scale pipelines. The work enables scalable, production-grade data augmentation for time series in deep learning and related domains.

Abstract

Time series augmentation is critical for training robust deep learning models, particularly in domains where labelled data is scarce and expensive to obtain. However, existing augmentation libraries for time series, mainly written in Python, suffer from performance bottlenecks, where running time grows exponentially as dataset sizes increase -- an aspect limiting their applicability in large-scale, production-grade systems. We introduce RATS (Rapid Augmentations for Time Series), a high-performance library for time series augmentation written in Rust with Python bindings (RATSpy). RATS implements multiple augmentation methods spanning basic transformations, frequency-domain operations and time warping techniques, all accessible through a unified pipeline interface with built-in parallelisation. Comprehensive benchmarking of RATSpy versus a commonly used library (tasug) on 143 datasets demonstrates that RATSpy achieves an average speedup of 74.5\% over tsaug (up to 94.8\% on large datasets), with up to 47.9\% less peak memory usage.

Rapid Augmentations for Time Series (RATS): A High-Performance Library for Time Series Augmentation

TL;DR

RATS targets the performance bottlenecks of time series augmentation in production pipelines by delivering a Rust-based core with Python bindings (RATSpy) and a unified, parallelizable augmentation pipeline. It implements 17 augmenters across basic, spectral, and time-warping transformations, with probabilistic application and a common trait interface enabling pipeline composition. Benchmarking on 143 univariate datasets shows RATSpy is substantially faster than tsaug (average ~74% faster, up to ~94% on large datasets) and uses up to ~48% less peak memory, validating its suitability for production-scale pipelines. The work enables scalable, production-grade data augmentation for time series in deep learning and related domains.

Abstract

Time series augmentation is critical for training robust deep learning models, particularly in domains where labelled data is scarce and expensive to obtain. However, existing augmentation libraries for time series, mainly written in Python, suffer from performance bottlenecks, where running time grows exponentially as dataset sizes increase -- an aspect limiting their applicability in large-scale, production-grade systems. We introduce RATS (Rapid Augmentations for Time Series), a high-performance library for time series augmentation written in Rust with Python bindings (RATSpy). RATS implements multiple augmentation methods spanning basic transformations, frequency-domain operations and time warping techniques, all accessible through a unified pipeline interface with built-in parallelisation. Comprehensive benchmarking of RATSpy versus a commonly used library (tasug) on 143 datasets demonstrates that RATSpy achieves an average speedup of 74.5\% over tsaug (up to 94.8\% on large datasets), with up to 47.9\% less peak memory usage.
Paper Structure (22 sections, 9 figures)

This paper contains 22 sections, 9 figures.

Figures (9)

  • Figure 1: Visualisation of some of the basic augmenters implemented in on the Car dataset (first sample)
  • Figure 2: Random Time Warp - Entire Series
  • Figure 3: Random Time Warp - Size: 100
  • Figure 5: RATSpy vs tsaug - Time Benchmarking for up to 500k samples
  • Figure 6: RATSpy vs tsaug - Memory Benchmarking for up to 500k samples
  • ...and 4 more figures