balanced_pool() returns 42 pre-configured generator instances, built
from 15 of SynForecastās 31 generator classes with one class per
behavioral niche. The niches span ARMA and exponential smoothing,
long-range memory, volatility clustering, intermittent demand,
deterministic chaos, counts, and bounded and heavy-tailed processes.
It is the default corpus behind
generate_series, and a bias-free
starting point for benchmarking or pretraining: generators are allocated
proportionally to each nicheās behavioral range, so no single domain
dominates the pool. The list is ordered round-robin across the niches,
so any prefix spans as many distinct behaviors as possible: a
generate_series panel smaller than the pool still gets one niche per
series.
Whatās in, and whatās deliberately out The pool draws from interpretable, single-mechanism generators ā each slot is one named data-generating process. The meta-generators (TSIGenerator,TCMGenerator,KernelSynthGenerator) are excluded on purpose: they already randomize across many behaviors internally, so folding them in would blur the one-niche-one-mechanism design. Use thepretraining_pool()preset for maximal breadth in foundation-model pretraining; it bundles those meta-generators, withbalanced_poolincluded by default.
Generate a balanced dataset
Create 42 generators and generate one series per generator.Generator names
Each generator has a descriptive name indicating its type and configuration.Overview: all 42 series
A compact grid showing every series in the balanced pool.
Niche deep-dives
Each behavioral niche contributes a different number of generators. Below we group them by niche and plot the variants side by side.














Summary statistics
Compare key statistics across all 42 series to see how the balanced pool spans different value ranges and variabilities.Scaling up
Generate multiple series per generator for a larger dataset.
Pretraining pool
pretraining_pool() is the breadth-maximizing counterpart to
balanced_pool(). It keeps the 42 single-mechanism instances above and
adds independently-seeded copies of the three meta-generators
balanced_pool deliberately leaves out ā TSIGenerator,
TCMGenerator, and KernelSynthGenerator. Each of those resamples a
fresh trend/seasonal, causal-graph, or GP-kernel configuration per
series, so a handful of instances already spans a very wide distribution
ā the goal when pretraining a foundation model rather than benchmarking
one named process. The default length range is wider too (256-1024
steps), matching typical pretraining contexts.
Two knobs control the mix: n_meta_variants sets how many
independently-seeded copies of each meta-generator to add (default 3),
and include_balanced=False drops the single-mechanism generators for a
purely procedural corpus.


