Synthetic Data Generation

The QSynthetic class provides generators for 20+ dynamical regimes.

Basic Usage

import QSignature
syn = QSignature.QSynthetic()

# Exponential decay
t, R = syn.exponential_decay(tau=2.0)

# Underdamped oscillator
t, R = syn.underdamped_oscillator(alpha=0.2, omega_d=6.0)

# Overdamped system
t, R = syn.overdamped_system(tau1=0.5, tau2=3.0)

# Conservative oscillator
t, R = syn.conservative_oscillator(omega0=2*np.pi)

Available Systems

Method

Description

exponential_decay()

First-order exponential relaxation

underdamped_oscillator()

Underdamped harmonic oscillator

overdamped_system()

Overdamped or critically damped system

conservative_oscillator()

Undamped (conservative) oscillations

duffing_oscillator()

Nonlinear Duffing oscillator

powerlaw_decay()

Power-law/heavy-tailed decay

chaotic_system()

Lorenz or Rössler chaotic systems

fractional_order_system()

Fractional order differential equations

chirp_system()

Time-varying frequency (chirp)

multiscale_system()

Multiple interacting temporal scales

intermittent_system()

Bursty/intermittent dynamics

Adding Noise

# Add Gaussian noise during generation
t, R = syn.underdamped_oscillator(alpha=0.2, omega_d=6.0, noise_std=0.05)

# Add noise after generation
R_noisy = syn.add_measurement_noise(R, noise_type='gaussian', std=0.1)

Sampling Irregularities

t_irr, R_irr = syn.add_sampling_irregularities(t, R, missing_prob=0.05)

Batch Dataset Generation

dataset = syn.generate_dataset(n_samples=100, add_noise=True, noise_std=0.05)