YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

new_generator β€” compositional SARIMA-backbone cascade generator

A self-contained cascade data generator that uses a SARIMA(p,d,q)(P,D,Q)_s process as its dynamical backbone and layers the ingredients that modern synthetic-data priors for time-series foundation models rely on. A pure SARIMA corpus is classic but narrow (linear, near-Gaussian, stationary bar the integration); this generator keeps SARIMA's well-behaved, guaranteed-stationary recursion as the core and enriches it toward the SOTA recipe.

What's inside

file purpose
generator.py class Generator(DataGenerator) β€” the entrypoint
config.json length band, SARIMA order caps, enrichment probabilities
requirements.txt hash-locked, allowlisted deps (numpy, scipy)

The recipe

SARIMA backbone. Each segment is a draw from SARIMA(p,d,q)(P,D,Q)_s: (p,q) non-seasonal AR/MA, d integration (stochastic trends), (P,D,Q)_s seasonal terms coupling seasonality with autocorrelation.

SOTA enrichments layered on top:

  1. Regime switching β€” a series is 1–3 concatenated segments, each its own SARIMA parameterisation, stitched with level continuity β†’ structural breaks in dynamics a single stationary ARMA can't produce.
  2. Stochastic volatility β€” innovations are modulated by an AR(1) log-variance process (vectorised) β†’ volatility clustering, on top of Gaussian or Student-t (fat-tailed) shocks.
  3. Compositional components β€” additive nested-calendar seasonality, smooth trends, structural level shifts and sparse spikes/outliers, each scaled relative to the core (KernelSynth-style composition).
  4. Nonlinear warps β€” optional invertible transform (asinh tail-compression, exp/softplus positivity, signed power) β†’ non-Gaussian / positive / multiplicative marginals, like real demand, price and count series.
  5. TSMixup β€” with some probability two independent draws are convex-combined (the Chronos augmentation), broadening the corpus beyond any single prior.

Why this is stronger than plain SARIMA

Plain SARIMA teaches a narrow, linear-Gaussian forecaster. The enrichments add exactly the dynamics the leading TSFM synthetic priors exploit and that real held-out series exhibit β€” regime breaks, volatility clustering, fat tails, non-Gaussian/positive marginals, compositional multi-scale structure, and mixed series. It is not a claim of a leaderboard win (SOTA is empirical β€” measure it with cascade score), but the prior now spans the space those recipes cover.

Stability & determinism

AR/MA coefficients (regular and seasonal) are drawn as reflection coefficients in (-1, 1) and mapped to lag polynomials by Levinson-Durbin, guaranteeing all roots outside the unit circle β†’ the scipy.signal.lfilter recursion never diverges. Integration is de-meaned first; warp exponents are clipped; each series is rescaled to a sampled target scale and hard-clipped to max_abs_value. Everything is fully vectorised (no per-timestep Python loops), so generation is linear-time and CPU-only. The corpus is a pure function of (seed, n_series) via np.random.SeedSequence sub-seeds β€” no hash(), wall-clock, or unseeded RNG.

Verify

# from the cascade repo root, with deps installed and cascade importable
cascade verify ../new_generator

Config knobs (config.json)

  • min_length / max_length β€” per-series length band.
  • max_ar / max_ma / max_seasonal_ar / max_seasonal_ma β€” SARIMA order caps.
  • d_weights / seasonal_d_weights β€” integration-order probability mass.
  • seasonal_prob β€” probability a series carries seasonal structure.
  • student_t_prob / stoch_vol_prob β€” fat-tailed / volatility-clustered innovations.
  • regime_prob / max_regimes β€” regime-switching frequency and segment count.
  • trend_prob / calendar_prob / level_shift_prob / spike_prob β€” additive components.
  • warp_prob β€” probability of a nonlinear marginal warp.
  • mixup_prob β€” probability of TSMixup convex combination.
  • standardize β€” z-normalise each series (default false).
  • max_abs_value β€” hard magnitude clip to keep output trainer-safe finite.
Downloads last month
47
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support