Method Cards

This page is generated from MethodRegistry.list_catalog() so the human-facing method cards stay aligned with the machine-facing catalog contract.

Current package version target: 0.1.1.

Source citations and official upstream package links are collected in Method References.

The tsdecomp top-level alias remains compatibility-only through 0.1.x and is not the canonical surface for any method listed below.

Flagship methods

MSSA

  • Family: SSA
  • Input mode: multivariate
  • Maturity: flagship
  • Implementation: python
  • Dependency tier: core
  • Multivariate support: shared-model
  • Native-backed: False
  • Minimum length hint: 24
  • Optional dependencies: none
  • Summary: Multivariate SSA for shared-structure decomposition across channels.

Assumptions: - expects a 2D array with at least two aligned channels - works best when window and rank reflect the dominant temporal structure - MSSA should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - multivariate component recovery - shared seasonal structure across channels - accuracy-first multivariate workflows

Typical failure modes: - too few channels for MSSA - window or rank too small for the shared structure

Not recommended for: - single-series workflows where a univariate flagship method is sufficient - very short series that cannot support a sensible window length

Method references: - Golyandina and Zhigljavsky (2020), Singular Spectrum Analysis for Time Series - Primary SSA/MSSA reference used for the multivariate extension.

Related package links: - SSALib - SSA-focused package; useful comparison point for SSA-family workflows.

SSA

  • Family: SSA
  • Input mode: univariate
  • Maturity: flagship
  • Implementation: native-backed
  • Dependency tier: core
  • Multivariate support: univariate
  • Native-backed: True
  • Minimum length hint: 24
  • Optional dependencies: none
  • Summary: Singular spectrum analysis for structured univariate decomposition.

Assumptions: - expects one decomposed series at a time - works best when window and rank reflect the dominant temporal structure - SSA should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - accuracy-first univariate decomposition - component recovery - season-trend separation with structured signals

Typical failure modes: - window too small for the dominant period - rank or grouping chosen inconsistently with the signal structure

Not recommended for: - shared-model multivariate decomposition problems - very short series that cannot support a sensible window length

Method references: - Golyandina and Zhigljavsky (2020), Singular Spectrum Analysis for Time Series - Primary SSA reference; the second edition also covers multivariate SSA (MSSA).

Related package links: - SSALib - Specialist SSA package used as an external comparison point.

STD

  • Family: SeasonalTrend
  • Input mode: channelwise
  • Maturity: flagship
  • Implementation: native-backed
  • Dependency tier: core
  • Multivariate support: channelwise
  • Native-backed: True
  • Minimum length hint: 8
  • Optional dependencies: none
  • Summary: Fast seasonal-trend decomposition with dispersion-aware diagnostics.

Assumptions: - treats each channel independently under one shared method surface - works best when one seasonal period or block structure is reasonably stable - STD should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - fast seasonal-trend baselines - channelwise multivariate workflows - native-backed production paths

Typical failure modes: - period omitted or mis-specified - shared seasonal structure changing too quickly across cycles

Not recommended for: - problems that require one shared latent model across channels - series where the dominant period is unknown and cannot be inferred reliably

Method references: - Dudek (2022), STD: A Seasonal-Trend-Dispersion Decomposition of Time Series - Primary reference for STD and the robust seasonal-trend-dispersion family.

Related package links: - none declared

STDR

  • Family: SeasonalTrend
  • Input mode: channelwise
  • Maturity: flagship
  • Implementation: native-backed
  • Dependency tier: core
  • Multivariate support: channelwise
  • Native-backed: True
  • Minimum length hint: 8
  • Optional dependencies: none
  • Summary: Robust seasonal-trend decomposition for noisier periodic signals.

Assumptions: - treats each channel independently under one shared method surface - works best when one seasonal period or block structure is reasonably stable - STDR should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - robust seasonal-trend decomposition - channelwise multivariate workflows - native-backed seasonal structure recovery

Typical failure modes: - period omitted or mis-specified - heavy structural breaks that violate shared seasonal assumptions

Not recommended for: - problems that require one shared latent model across channels - series where the dominant period is unknown and cannot be inferred reliably

Method references: - Dudek (2022), STD: A Seasonal-Trend-Dispersion Decomposition of Time Series - Primary reference for STD and the robust seasonal-trend-dispersion family.

Related package links: - none declared

Stable wrappers and retained methods

CEEMDAN

  • Family: EMD
  • Input mode: univariate
  • Maturity: stable
  • Implementation: python
  • Dependency tier: core
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 24
  • Optional dependencies: PyEMD
  • Summary: Noise-assisted EMD variant for more stable IMF extraction.

Assumptions: - expects one decomposed series at a time - assumes oscillatory modes are meaningful enough to separate adaptively - CEEMDAN should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - noise-assisted EMD workflows - adaptive decomposition with improved IMF stability

Typical failure modes: - high runtime on long series - parameter choices that over-fragment signal modes

Not recommended for: - shared-model multivariate decomposition problems

Method references: - Torres et al. (2011), A complete ensemble empirical mode decomposition with adaptive noise - PyEMD CEEMDAN docs cite the original ICASSP 2011 paper. - Colominas, Schlotthauer, and Torres (2014), Improved complete ensemble EMD: A suitable tool for biomedical signal processing - Improved CEEMDAN variant adopted by the PyEMD implementation used by De-Time.

Related package links: - PyEMD - Upstream Python package wrapped by De-Time for EMD-family methods.

EMD

  • Family: EMD
  • Input mode: univariate
  • Maturity: stable
  • Implementation: python
  • Dependency tier: core
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 16
  • Optional dependencies: PyEMD
  • Summary: Empirical mode decomposition under the De-Time result contract.

Assumptions: - expects one decomposed series at a time - assumes oscillatory modes are meaningful enough to separate adaptively - EMD should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - adaptive decomposition of nonlinear signals - IMF-oriented exploratory analysis

Typical failure modes: - mode mixing - short or heavily noisy series that destabilize IMF extraction

Not recommended for: - shared-model multivariate decomposition problems

Method references: - Huang et al. (1998), The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis - Primary empirical mode decomposition reference.

Related package links: - PyEMD - Upstream Python package wrapped by De-Time for EMD-family methods.

MA_BASELINE

  • Family: Baseline
  • Input mode: univariate
  • Maturity: stable
  • Implementation: python
  • Dependency tier: core
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 4
  • Optional dependencies: none
  • Summary: Simple moving-average baseline for smoke tests and lightweight workflows.

Assumptions: - expects one decomposed series at a time - assumes a coarse baseline is acceptable as a sanity check - MA_BASELINE should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - sanity checks - lightweight baseline decomposition

Typical failure modes: - window too large for the series length - oversmoothing when fine seasonal structure matters

Not recommended for: - shared-model multivariate decomposition problems

Method references: - none declared

Related package links: - none declared

MSTL

  • Family: SeasonalTrend
  • Input mode: univariate
  • Maturity: stable
  • Implementation: wrapper
  • Dependency tier: core-upstream
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 24
  • Optional dependencies: statsmodels
  • Summary: Statsmodels MSTL wrapped into the De-Time workflow surface.

Assumptions: - expects one decomposed series at a time - works best when one seasonal period or block structure is reasonably stable - MSTL should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - multiple seasonalities in univariate data - classical decomposition baselines

Typical failure modes: - seasonal periods not provided - nonstationary structure beyond classical assumptions

Not recommended for: - shared-model multivariate decomposition problems - series where the dominant period is unknown and cannot be inferred reliably

Method references: - Bandara, Hyndman, and Bergmeir (2021), MSTL: A Seasonal-Trend Decomposition Algorithm for Time Series with Multiple Seasonal Patterns - Primary MSTL reference used by the statsmodels implementation.

Related package links: - statsmodels - Official project site for the upstream MSTL implementation.

ROBUST_STL

  • Family: SeasonalTrend
  • Input mode: univariate
  • Maturity: stable
  • Implementation: wrapper
  • Dependency tier: core-upstream
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 12
  • Optional dependencies: statsmodels
  • Summary: Robust STL-style decomposition wrapped for reproducible workflows.

Assumptions: - expects one decomposed series at a time - works best when one seasonal period or block structure is reasonably stable - ROBUST_STL should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - outlier-prone seasonal-trend baselines - classical robust decomposition

Typical failure modes: - period omitted or mis-specified - multiple strong seasonalities beyond the model assumptions

Not recommended for: - shared-model multivariate decomposition problems - series where the dominant period is unknown and cannot be inferred reliably

Method references: - Cleveland et al. (1990), STL: A Seasonal-Trend Decomposition Procedure Based on LOESS - Robust STL in De-Time builds on the same STL literature and upstream implementation family.

Related package links: - statsmodels - Official project site for the upstream STL implementation family.

STL

  • Family: SeasonalTrend
  • Input mode: univariate
  • Maturity: stable
  • Implementation: wrapper
  • Dependency tier: core-upstream
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 12
  • Optional dependencies: statsmodels
  • Summary: Classical STL wrapped into the De-Time workflow contract.

Assumptions: - expects one decomposed series at a time - works best when one seasonal period or block structure is reasonably stable - STL should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - classical seasonal-trend baselines - statsmodels-compatible workflows

Typical failure modes: - period omitted or mis-specified - multiple seasonalities outside STL's basic assumptions

Not recommended for: - shared-model multivariate decomposition problems - series where the dominant period is unknown and cannot be inferred reliably

Method references: - Cleveland et al. (1990), STL: A Seasonal-Trend Decomposition Procedure Based on LOESS - Statsmodels STL docs cite the original Journal of Official Statistics paper.

Related package links: - statsmodels - Official project site for the upstream STL implementation.

VMD

  • Family: Variational
  • Input mode: univariate
  • Maturity: stable
  • Implementation: python
  • Dependency tier: core
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 24
  • Optional dependencies: vmdpy, sktime
  • Summary: Variational mode decomposition integrated into the common workflow layer.

Assumptions: - expects one decomposed series at a time - assumes the number of modes and bandwidth penalties can be tuned to the signal family - VMD should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - band-limited mode separation - frequency-structured univariate workflows

Typical failure modes: - number of modes chosen poorly - penalty parameters not aligned with the signal bandwidth

Not recommended for: - shared-model multivariate decomposition problems

Method references: - Dragomiretskiy and Zosso (2014), Variational Mode Decomposition - Primary variational mode decomposition reference.

Related package links: - sktime - Current maintained ecosystem for vmdpy, which the archived project directs users toward. - vmdpy - Archived Python VMD package used by the current De-Time wrapper.

WAVELET

  • Family: Wavelet
  • Input mode: univariate
  • Maturity: stable
  • Implementation: wrapper
  • Dependency tier: core-upstream
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 8
  • Optional dependencies: PyWavelets
  • Summary: Wavelet-based decomposition exposed through the common output contract.

Assumptions: - expects one decomposed series at a time - assumes a wavelet family and decomposition depth can be chosen sensibly - WAVELET should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - multiscale exploratory analysis - wavelet-style trend and detail separation

Typical failure modes: - wavelet family mismatch - boundary artifacts on short series

Not recommended for: - shared-model multivariate decomposition problems

Method references: - Mallat (1989), A theory for multiresolution signal decomposition: the wavelet representation - Foundational wavelet multiresolution reference. - Lee et al. (2019), PyWavelets: A Python package for wavelet analysis - Package citation for the upstream wavelet implementation used by De-Time.

Related package links: - PyWavelets - Official documentation for the upstream wavelet package.

Optional backend methods

MEMD

  • Family: EMD
  • Input mode: multivariate
  • Maturity: optional-backend
  • Implementation: optional-backend
  • Dependency tier: optional-backend
  • Multivariate support: shared-model
  • Native-backed: False
  • Minimum length hint: 24
  • Optional dependencies: PySDKit
  • Summary: Optional multivariate EMD backend for shared oscillatory structure.

Assumptions: - expects a 2D array with at least two aligned channels - assumes oscillatory modes are meaningful enough to separate adaptively - MEMD should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - multivariate adaptive decomposition - shared oscillatory modes across channels

Typical failure modes: - optional backend unavailable - high runtime or unstable mode alignment across channels

Not recommended for: - single-series workflows where a univariate flagship method is sufficient - environments where optional backend dependencies cannot be installed

Method references: - Rehman and Mandic (2010), Multivariate empirical mode decomposition - Primary MEMD reference for the multivariate EMD extension.

Related package links: - PySDKit - Optional multivariate backend used by De-Time for MEMD.

MVMD

  • Family: Variational
  • Input mode: multivariate
  • Maturity: optional-backend
  • Implementation: optional-backend
  • Dependency tier: optional-backend
  • Multivariate support: shared-model
  • Native-backed: False
  • Minimum length hint: 24
  • Optional dependencies: PySDKit
  • Summary: Optional multivariate VMD backend for shared frequency structure.

Assumptions: - expects a 2D array with at least two aligned channels - assumes the number of modes and bandwidth penalties can be tuned to the signal family - MVMD should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - multivariate variational decomposition - shared frequency structure across channels

Typical failure modes: - optional backend unavailable - mode count or penalties not tuned to the signal family

Not recommended for: - single-series workflows where a univariate flagship method is sufficient - environments where optional backend dependencies cannot be installed

Method references: - Rehman and Aftab (2019), Multivariate Variational Mode Decomposition - Primary MVMD reference for the multivariate VMD extension.

Related package links: - PySDKit - Optional multivariate backend used by De-Time for MVMD.

Experimental methods

GABOR_CLUSTER

  • Family: Experimental
  • Input mode: univariate
  • Maturity: experimental
  • Implementation: python
  • Dependency tier: core
  • Multivariate support: univariate
  • Native-backed: False
  • Minimum length hint: 16
  • Optional dependencies: faiss
  • Summary: Experimental clustering-based decomposition path.

Assumptions: - expects one decomposed series at a time - assumes exploratory use is acceptable and output should be validated against a stable baseline - GABOR_CLUSTER should be evaluated against residual diagnostics rather than used as a black box

Recommended for: - research prototypes - exploratory clustering-style decomposition

Typical failure modes: - unstable clustering assignments - parameter sensitivity on short series

Not recommended for: - shared-model multivariate decomposition problems - first-pass baselines or high-trust production workflows

Method references: - Gabor (1946), Theory of Communication - Historical reference for the Gabor time-frequency representation family. - Douze et al. (2024), The Faiss library - Reference for the similarity-search backend used by the experimental clustering path.

Related package links: - Faiss - Vector similarity search library required by the experimental clustering backend.