Config Reference

DecompositionConfig is the single runtime contract shared by Python, CLI, docs examples, and machine-facing schema exports.

Current package version target: 0.1.1.

Top-level fields

Field Type Default Semantics
method str required Registered method name such as SSA, STD, STDR, or MSSA.
params dict[str, Any] {} Method-specific parameters documented below.
return_components list[str] \| None None Compatibility field; retained methods return the normalized result object.
backend auto \| native \| python \| gpu auto Backend preference. native requires an available native kernel.
speed_mode exact \| fast exact Accuracy policy. Native SSA uses exact SVD in exact and an iterative approximation in fast.
profile bool False Attach runtime metadata or produce profile reports when routed through the profiler.
device str \| None cpu Reserved device selector; retained methods are CPU workflows unless a wrapper says otherwise.
n_jobs int 1 Parallelism hint for wrappers that support it.
seed int \| None 42 Seed used by approximate or randomized paths where relevant.
channel_names list[str] \| None None Optional labels for aligned multivariate channels.

Complete examples

Univariate SSA

{
  "backend": "auto",
  "method": "SSA",
  "params": {
    "primary_period": 12,
    "rank": 6,
    "window": 24
  },
  "seed": 42,
  "speed_mode": "exact"
}

Seasonal STD

{
  "backend": "auto",
  "method": "STD",
  "params": {
    "period": 12
  },
  "speed_mode": "exact"
}

Multivariate MSSA

{
  "backend": "auto",
  "channel_names": [
    "channel_a",
    "channel_b",
    "channel_c"
  ],
  "method": "MSSA",
  "params": {
    "primary_period": 12,
    "rank": 6,
    "window": 24
  },
  "speed_mode": "exact"
}

Method-specific parameters

AMD_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
primary_period int | None no None Dominant period hint used by neural block heuristics.
fit_scope str no "full" Whether to fit templates on the full series or a prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
multiscale_windows list[int] | None no None Smoothing windows averaged into the multiscale trend.

Example config:

{
  "method": "AMD_BLOCK",
  "params": {
    "fit_scope": "full",
    "multiscale_windows": [
      13,
      25,
      49
    ],
    "primary_period": 12
  }
}

AUTOFORMER_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.moving_mean
Parameter Type Required Default Description
moving_avg int | None no None Moving-average window used by the extracted forecasting block.
window int | None no None Alias for moving_avg.
primary_period int | None no None Period hint used to derive the moving-average window.

Example config:

{
  "method": "AUTOFORMER_BLOCK",
  "params": {
    "moving_avg": 25,
    "primary_period": 12
  }
}

CEEMDAN

  • Input mode: univariate
  • Maturity: stable
  • Output components: trend, season, residual, components.imfs
Parameter Type Required Default Description
trials int no 50 Number of noise-assisted ensemble trials.
noise_width float no 0.05 Relative width of the injected noise.
primary_period int | None no None Period hint for grouping IMFs into season and trend.
fs float no 1.0 Sampling frequency used by grouping heuristics.

Example config:

{
  "method": "CEEMDAN",
  "params": {
    "noise_width": 0.05,
    "primary_period": 12,
    "trials": 20
  }
}

DELELSTM_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
primary_period int | None no None Dominant period hint used by neural block heuristics.
fit_scope str no "full" Whether to fit templates on the full series or a prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
alpha float no 0.4 Holt level smoothing coefficient.
beta float no 0.2 Holt slope smoothing coefficient.

Example config:

{
  "method": "DELELSTM_BLOCK",
  "params": {
    "alpha": 0.2,
    "beta": 0.1,
    "fit_scope": "full",
    "primary_period": 12
  }
}

DLINEAR_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.moving_mean
Parameter Type Required Default Description
moving_avg int | None no None Moving-average window used by the extracted forecasting block.
window int | None no None Alias for moving_avg.
primary_period int | None no None Period hint used to derive the moving-average window.

Example config:

{
  "method": "DLINEAR_BLOCK",
  "params": {
    "moving_avg": 25,
    "primary_period": 12
  }
}

EMD

  • Input mode: univariate
  • Maturity: stable
  • Output components: trend, season, residual, components.imfs
Parameter Type Required Default Description
n_imfs int | None no None Maximum number of intrinsic mode functions to retain.
primary_period int | None no None Period hint for grouping IMFs into season and trend.
trend_imfs list[int] | None no None Explicit IMF indexes assigned to trend.
season_imfs list[int] | None no None Explicit IMF indexes assigned to season.
fs float no 1.0 Sampling frequency used by grouping heuristics.

Example config:

{
  "method": "EMD",
  "params": {
    "n_imfs": 4,
    "primary_period": 12
  }
}

FREQMOE_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
primary_period int | None no None Dominant period hint used by neural block heuristics.
fit_scope str no "full" Whether to fit templates on the full series or a prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
trend_window int | None no None Moving-average trend window.
num_bands int no 4 Number of frequency bands in the mixture.
expert_width int no 64 Frequency expert width used by the scaffold.

Example config:

{
  "method": "FREQMOE_BLOCK",
  "params": {
    "expert_width": 64,
    "fit_scope": "full",
    "num_bands": 4,
    "primary_period": 12
  }
}

GABOR_CLUSTER

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.clusters
Parameter Type Required Default Description
model GaborClusterModel | None no None In-memory trained clustering model.
model_path str | None no None Path to a serialized trained clustering model.
max_clusters int | None no None Optional cap on clusters used during reconstruction.
trend_freq_thr float | None no None Frequency threshold used for trend-like atoms.

Example config:

{
  "method": "GABOR_CLUSTER",
  "params": {
    "model_path": "path/to/trained-gabor-model.pkl"
  }
}

INPARFORMER_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
primary_period int | None no None Dominant period hint used by neural block heuristics.
fit_scope str no "full" Whether to fit templates on the full series or a prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
trend_window int | None no None Moving-average trend window.

Example config:

{
  "method": "INPARFORMER_BLOCK",
  "params": {
    "fit_scope": "full",
    "primary_period": 12,
    "trend_window": 25
  }
}

LEDDAM_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.ld_trend, components.kernel
Parameter Type Required Default Description
kernel_size int no 25 Odd Gaussian smoothing kernel size.
sigma float no 1.0 Gaussian smoothing kernel sigma.

Example config:

{
  "method": "LEDDAM_BLOCK",
  "params": {
    "kernel_size": 25,
    "sigma": 1.0
  }
}

MA_BASELINE

  • Input mode: univariate
  • Maturity: stable
  • Output components: trend, season, residual
Parameter Type Required Default Description
trend_window int no 7 Moving-average window used for the trend estimate.
season_period int | None no None Optional period for a simple seasonal average.

Example config:

{
  "method": "MA_BASELINE",
  "params": {
    "season_period": 12,
    "trend_window": 7
  }
}

MEMD

  • Input mode: multivariate
  • Maturity: optional-backend
  • Output components: trend, season, residual, components.imfs
Parameter Type Required Default Description
primary_period int | None no None Shared period hint for grouping multivariate IMFs.
trend_modes list[int] | None no None Explicit mode indexes assigned to trend.
season_modes list[int] | None no None Explicit mode indexes assigned to season.
fs float no 1.0 Sampling frequency used by grouping heuristics.

Example config:

{
  "method": "MEMD",
  "params": {
    "primary_period": 12
  }
}

MOVING_AVERAGE_DECOMPOSITION_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.moving_mean
Parameter Type Required Default Description
moving_avg int | None no None Moving-average window used by the extracted forecasting block.
window int | None no None Alias for moving_avg.
primary_period int | None no None Period hint used to derive the moving-average window.

Example config:

{
  "method": "MOVING_AVERAGE_DECOMPOSITION_BLOCK",
  "params": {
    "moving_avg": 25,
    "primary_period": 12
  }
}

MSSA

  • Input mode: multivariate
  • Maturity: flagship
  • Output components: trend, season, residual, components.elementary
Parameter Type Required Default Description
window int yes required Shared embedding window length for aligned channels.
rank int | None no None Number of shared elementary components to retain.
primary_period int | None no None Dominant shared period used by automatic grouping.
fs float no 1.0 Sampling frequency used by frequency-based grouping.
trend_components list[int] | None no None Explicit component indexes assigned to trend.
season_components list[int] | None no None Explicit component indexes assigned to season.

Example config:

{
  "backend": "auto",
  "channel_names": [
    "channel_a",
    "channel_b",
    "channel_c"
  ],
  "method": "MSSA",
  "params": {
    "primary_period": 12,
    "rank": 6,
    "window": 24
  },
  "speed_mode": "exact"
}

MSTL

  • Input mode: univariate
  • Maturity: stable
  • Output components: trend, season, residual, components.seasonal_terms
Parameter Type Required Default Description
periods list[int] yes required One or more seasonal periods passed to statsmodels MSTL.
windows list[int] | None no None Optional smoother windows aligned with periods.
stl_kwargs dict | None no None Additional statsmodels STL keyword arguments.

Example config:

{
  "method": "MSTL",
  "params": {
    "periods": [
      12,
      24
    ]
  }
}

MVMD

  • Input mode: multivariate
  • Maturity: optional-backend
  • Output components: trend, season, residual, components.modes
Parameter Type Required Default Description
K int no 4 Number of shared variational modes requested from PySDKit.
alpha float no 2000.0 Bandwidth penalty parameter for the MVMD backend.
primary_period int | None no None Shared period hint for grouping modes.
fs float no 1.0 Sampling frequency used by grouping heuristics.

Example config:

{
  "method": "MVMD",
  "params": {
    "K": 4,
    "alpha": 2000.0,
    "primary_period": 12
  }
}

NBEATS_INTERPRETABLE

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
degree_of_polynomial int no 3 Polynomial trend basis degree.
num_harmonics int no 8 Number of Fourier harmonics in the seasonality stack.
trend_blocks int no 2 Number of interpretable trend blocks.
seasonality_blocks int no 2 Number of interpretable seasonality blocks.
layers int no 6 Fully connected layers per block.
layer_size int no 128 Hidden width for each block.
fit_scope str no "full" Whether to fit on the full series or prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
n_epochs int no 200 Maximum torch optimization epochs.
patience int no 40 Early-stopping patience.
restarts int no 2 Number of random restarts.
learning_rate float no 0.001 Adam learning rate.
weight_decay float no 0.0001 Adam weight decay.
device str no "auto" Torch device: auto, cpu, cuda, or gpu.
seed int no 0 Base random seed for torch restarts.

Example config:

{
  "method": "NBEATS_INTERPRETABLE",
  "params": {
    "fit_scope": "full",
    "n_epochs": 200,
    "num_harmonics": 8,
    "restarts": 2
  }
}

PARSIMONY_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
primary_period int | None no None Dominant period hint used by neural block heuristics.
fit_scope str no "full" Whether to fit templates on the full series or a prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
trend_window int | None no None Moving-average trend window.
num_harmonics int no 2 Number of harmonic seasonal terms.

Example config:

{
  "method": "PARSIMONY_BLOCK",
  "params": {
    "fit_scope": "full",
    "num_harmonics": 2,
    "primary_period": 12,
    "trend_window": 13
  }
}

ROBUST_STL

  • Input mode: univariate
  • Maturity: stable
  • Output components: trend, season, residual
Parameter Type Required Default Description
period int yes required Seasonal period passed to robust statsmodels STL.
seasonal int | None no None Odd LOESS seasonal smoother length.
trend int | None no None Odd LOESS trend smoother length.

Example config:

{
  "method": "ROBUST_STL",
  "params": {
    "period": 12
  }
}

SSA

  • Input mode: univariate
  • Maturity: flagship
  • Output components: trend, season, residual, components.elementary
Parameter Type Required Default Description
window int yes required Embedding window length for trajectory-matrix construction.
rank int | None no None Number of elementary components to retain before grouping.
primary_period int | None no None Dominant seasonal period used by automatic grouping.
fs float no 1.0 Sampling frequency used by frequency-based grouping.
trend_components list[int] | None no None Explicit component indexes assigned to trend.
season_components list[int] | None no None Explicit component indexes assigned to season.
power_iterations int no 4 Fast native mode iteration count when speed_mode='fast'.

Example config:

{
  "backend": "auto",
  "method": "SSA",
  "params": {
    "primary_period": 12,
    "rank": 6,
    "window": 24
  },
  "seed": 42,
  "speed_mode": "exact"
}

STD

  • Input mode: channelwise
  • Maturity: flagship
  • Output components: trend, season, residual, components.dispersion, components.seasonal_shape
Parameter Type Required Default Description
period int yes required Seasonal period in samples.
max_period_search int | None no None Optional search horizon when period inference is enabled.
eps float no 1e-08 Small numerical guard for dispersion calculations.

Example config:

{
  "backend": "auto",
  "method": "STD",
  "params": {
    "period": 12
  },
  "speed_mode": "exact"
}

STDR

  • Input mode: channelwise
  • Maturity: flagship
  • Output components: trend, season, residual, components.dispersion, components.seasonal_shape
Parameter Type Required Default Description
period int yes required Seasonal period in samples.
max_period_search int | None no None Optional search horizon when period inference is enabled.
eps float no 1e-08 Small numerical guard for robust dispersion calculations.

Example config:

{
  "backend": "auto",
  "method": "STDR",
  "params": {
    "period": 12
  },
  "speed_mode": "exact"
}

STL

  • Input mode: univariate
  • Maturity: stable
  • Output components: trend, season, residual
Parameter Type Required Default Description
period int yes required Seasonal period passed to statsmodels STL.
seasonal int | None no None Odd LOESS seasonal smoother length.
trend int | None no None Odd LOESS trend smoother length.
robust bool no false Whether to use robust LOESS fitting.

Example config:

{
  "method": "STL",
  "params": {
    "period": 12
  }
}

ST_MTM_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
primary_period int | None no None Dominant period hint used by neural block heuristics.
fit_scope str no "full" Whether to fit templates on the full series or a prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
trend_window int | None no None Moving-average trend window.
season_smooth_window int | None no None Smoother applied to the periodic seasonal template.

Example config:

{
  "method": "ST_MTM_BLOCK",
  "params": {
    "fit_scope": "full",
    "primary_period": 12,
    "season_smooth_window": 7,
    "trend_window": 13
  }
}

TIMEKAN_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
primary_period int | None no None Dominant period hint used by neural block heuristics.
fit_scope str no "full" Whether to fit templates on the full series or a prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
trend_window int | None no None Moving-average trend window.
num_bands int no 2 Number of dominant periods/templates to blend.
kan_width int no 32 KAN-inspired width used to choose harmonic capacity.

Example config:

{
  "method": "TIMEKAN_BLOCK",
  "params": {
    "fit_scope": "full",
    "kan_width": 32,
    "num_bands": 2,
    "primary_period": 12
  }
}

TIMES2D_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
primary_period int | None no None Dominant period hint used by neural block heuristics.
fit_scope str no "full" Whether to fit templates on the full series or a prefix window.
train_fraction float no 0.6 Prefix fraction used when fit_scope='prefix'.
top_k_periods int no 2 Number of dominant FFT periods to retain.
num_harmonics int no 1 Number of harmonics per selected period.
trend_window int | None no None Moving-average trend window.

Example config:

{
  "method": "TIMES2D_BLOCK",
  "params": {
    "fit_scope": "full",
    "num_harmonics": 1,
    "primary_period": 12,
    "top_k_periods": 2
  }
}

VMD

  • Input mode: univariate
  • Maturity: stable
  • Output components: trend, season, residual, components.modes
Parameter Type Required Default Description
K int no 4 Number of variational modes.
alpha float no 2000.0 Bandwidth penalty parameter.
tau float no 0.0 Dual ascent time step.
DC bool no false Keep the first mode at zero frequency.
init int no 1 Initialization policy used by the VMD backend.
tol float no 1e-07 Convergence tolerance.
primary_period int | None no None Period hint for grouping modes into season and trend.

Example config:

{
  "method": "VMD",
  "params": {
    "K": 4,
    "alpha": 2000.0,
    "primary_period": 12
  }
}

WAVEFORM_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
wavelet str no "db4" PyWavelets wavelet family name.
level int no 3 Wavelet decomposition depth.
season_levels list[int] no [1, 2] Detail coefficient levels assigned to the seasonal component.

Example config:

{
  "method": "WAVEFORM_BLOCK",
  "params": {
    "level": 3,
    "season_levels": [
      1,
      2
    ],
    "wavelet": "sym4"
  }
}

WAVELET

  • Input mode: univariate
  • Maturity: stable
  • Output components: trend, season, residual, components.coefficients
Parameter Type Required Default Description
wavelet str no "db4" PyWavelets wavelet family name.
level int | None no None Decomposition depth. Defaults to PyWavelets maximum usable level.
trend_levels list[int] | None no None Detail levels assigned to trend reconstruction.
season_levels list[int] | None no None Detail levels assigned to seasonal reconstruction.

Example config:

{
  "method": "WAVELET",
  "params": {
    "level": 3,
    "wavelet": "db4"
  }
}

WAVELETMIXER_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
wavelet str no "sym4" PyWavelets wavelet family name.
level int no 4 Wavelet decomposition depth.
season_levels list[int] no [1, 2, 3] Detail coefficient levels assigned to the seasonal component.

Example config:

{
  "method": "WAVELETMIXER_BLOCK",
  "params": {
    "level": 3,
    "season_levels": [
      1,
      2,
      3
    ],
    "wavelet": "coif1"
  }
}

XPATCH_BLOCK

  • Input mode: univariate
  • Maturity: experimental
  • Output components: trend, season, residual, components.trend, components.season
Parameter Type Required Default Description
ma_type str no "ema" Smoothing type, either 'ema' or 'dema'.
trend_window int | None no None Window used to derive the EMA alpha.
season_smooth int | None no None Optional moving-average smoother for the seasonal residual.
alpha float | None no None EMA or DEMA level smoothing coefficient.
beta float | None no None DEMA slope smoothing coefficient.

Example config:

{
  "method": "XPATCH_BLOCK",
  "params": {
    "season_smooth": 7,
    "trend_window": 25
  }
}