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)