RandomWalkGenerator
Bases: BaseGenerator
Generate random walk time series.
y_t = y_{t-1} + drift + ε_t, where ε_t has standard deviation
volatility and is drawn from innovation_distribution. The first
output value already includes one step: y_1 = start_value + drift + ε_1.
Parameters:
RandomWalkGenerator.generate_single_series
Returns:
SeasonalGenerator
Bases: BaseGenerator
Generate time series with seasonal patterns.
y_t = base_level + amplitude · sin(2π t / period) + trend · t + ε_t,
where ε_t has standard deviation noise_level.
Parameters:
SeasonalGenerator.generate_single_series
Returns:
SARIMAGenerator
Bases: BaseGenerator
Generate time series based on Seasonal ARIMA (SARIMAX) processes.
Creates time series using a Seasonal AutoRegressive Integrated Moving Average
model with optional eXogenous regressors. The model is defined by (p,d,q)x(P,D,Q,s).
The SARIMA model uses multiplicative seasonal structure:
- AR polynomial: φ(B)Φ(B^s) where B is the backshift operator
- MA polynomial: θ(B)Θ(B^s)
- Differencing: (1-B)^d (1-B^s)^D
- AR: 1, 12, 13 (from φ₁, Φ₁, φ₁Φ₁)
- MA: 1, 12, 13 (from θ₁, Θ₁, θ₁Θ₁)
SARIMAGenerator.generate_single_series
- Generate white noise innovations
- Apply MA filtering to get MA component
- Apply AR filtering recursively
- Apply inverse differencing to get integrated process
- Add mean/drift and exogenous effects
Returns:
SARIMAGenerator.get_model_info
ETSGenerator
Bases: BaseGenerator
Generate time series based on ETS (Error, Trend, Seasonal) models.
Creates time series from the innovations state space form of exponential
smoothing (Hyndman, Koehler, Ord & Snyder, 2008). Each component is
additive (A), multiplicative (M), or absent (N):
- y_t = μ_t + ε_t (additive error) or y_t = μ_t (1 + ε_t) (multiplicative)
- μ_t combines level l, trend b (optionally damped by φ), and seasonal s, e.g. ETS(A,A,A): μ_t = l_{t-1} + φ b_{t-1} + s_{t-m}
- States update per the standard taxonomy, e.g. ETS(A,A,A): l_t = l_{t-1} + φ b_{t-1} + α ε_t; b_t = φ b_{t-1} + β ε_t; s_t = s_{t-m} + γ ε_t
ETSGenerator.generate_single_series
Returns:
ETSGenerator.generate_with_states
Returns:
ETSGenerator.get_model_info
INARGenerator
Bases: BaseGenerator
Generate integer-valued time series with autoregressive structure.
INAR(p) models use binomial thinning to maintain integer values while
preserving autoregressive dynamics:
INARGenerator.generate_single_series
Returns:

