Time-Series Decomposition Methods in DeTime
Start with the four core maintained paths. Move to wrappers only when the data or comparison need points there.
Core method cards
SSA
Use when: one series needs interpretable subspace components.
Avoid when: the series is too short for a meaningful window.
Key params: window, rank, primary_period.
STD
Use when: a known seasonal period should split trend, season, and dispersion quickly.
Avoid when: the main period is unknown or unstable.
Key params: period.
STDR
Use when: cycles share a normalized seasonal shape while their levels and dispersions vary.
Avoid when: structural breaks dominate the seasonal pattern.
Key params: period.
MSSA
Use when: aligned channels share trend or oscillatory structure.
Avoid when: channels are unrelated or one univariate method is enough.
Key params: window, rank, primary_period.
Decision flow
STD for each cycle's own shape, or STDR for a shared shape and remainder. For outlier reweighting, compare ROBUST_STL.
SSA, then compare against STD or STL.
MSSA for shared structure; use STD channelwise for a fast baseline.
EMD, CEEMDAN, VMD, WAVELET, MVMD, or MEMD.
Wrapper use cases
| Method | Typical scenario | First parameter to check |
|---|---|---|
STL |
classical seasonal-trend baseline for one known period | period |
MSTL |
one series with multiple seasonal periods | periods |
ROBUST_STL |
STL-style baseline with outliers | period |
EMD |
adaptive IMF inspection for nonlinear signals | n_imfs |
CEEMDAN |
noise-assisted EMD when mode stability matters | trials |
VMD |
band-limited modes with a chosen mode count | K, alpha |
WAVELET |
multiscale signal inspection | wavelet, level |
MVMD |
optional multivariate VMD through PySDKit | K, alpha |
MEMD |
optional multivariate EMD through PySDKit | primary_period |
Animated method explanations
Explore all 31 registered method entries through a four-step GIF, an English explanation, parameter guidance, and the numerical arrays behind the plots. Open a method and choose Play animation. Each page also provides a static image and direct GIF download. Examples use synthetic signals chosen to expose the mechanism.
Aliases and experimental blocks are identified below. Their pages explain the operator implemented by DeTime and its relationship to the source architecture.
Smoothing, seasonal structure, and subspaces
| Method | Mechanism to watch | Scope |
|---|---|---|
| MA_BASELINE | Slide a uniform window → Subtract the smooth trend → Average seasonal phases → Center and form residual | stable |
| MSSA | Stack aligned windows → Compute shared singular modes → Reconstruct each channel → Group trend and season | maintained |
| MSTL | Specify the seasonal periods → Estimate seasonal terms → Add back and refine each term → Aggregate the common output | stable |
| ROBUST_STL | Fit initial smooths → Compute robustness weights → Refit and update the weights → Retain a residual | stable |
| SSA | Embed overlapping windows → Factor the trajectory matrix → Average each anti-diagonal → Group trend and season | maintained |
| STD | Partition and center cycles → Separate dispersion and shape → Restore each cycle's shape → Compute the common result | maintained |
| STDR | Partition and center cycles → Separate dispersion and shape → Average shapes across cycles → Compute the common result | maintained |
| STL | Form seasonal-phase subseries → Use local polynomial smoothing → Alternate seasonal and trend → Form the additive result | stable |
Adaptive modes, wavelets, and time-frequency structure
| Method | Mechanism to watch | Scope |
|---|---|---|
| CEEMDAN | Generate perturbations → Average first IMFs → Update adaptively → Retain the residue | stable |
| EMD | Locate extrema → Build envelopes → Sift → Remove the IMF | stable |
| GABOR_CLUSTER | Window and transform → Build atom features → Assign the codebook → Mask and reconstruct | experimental |
| MEMD | Project the data → Construct vector envelopes → Sift jointly → Extract aligned modes | optional-backend |
| MVMD | Align the channels → Update channel spectra → Pool spectral energy → Recover mode stacks | optional-backend |
| VMD | Prepare the spectrum → Update a mode → Update its center → Reconstruct and group | stable |
| WAVELET | Choose the filter bank → Build the pyramid → Select coefficient blocks → Assign outputs | stable |
Experimental decomposition blocks
| Method | Mechanism to watch | Scope |
|---|---|---|
| AMD_BLOCK | Compute several smooth trends → Average equal seasonal phases → Repeat the phase template → Inspect the derived residual | experimental |
| AUTOFORMER_BLOCK | Specify the filter → Move along the series → Subtract the trend → Inspect the output contract | Alias of MOVING_AVERAGE_DECOMPOSITION_BLOCK |
| DELELSTM_BLOCK | Update level and slope → Average equal seasonal phases → Repeat the phase template → Inspect the derived residual | experimental |
| DLINEAR_BLOCK | Specify the filter → Move along the series → Subtract the trend → Inspect the output contract | Alias of MOVING_AVERAGE_DECOMPOSITION_BLOCK |
| FREQMOE_BLOCK | Separate trend and selection input → Select discrete spectral peaks → Fit and average candidate seasons → Inspect actual output streams | experimental |
| INPARFORMER_BLOCK | Smooth the prefix → Average equal seasonal phases → Repeat the phase template → Inspect the derived residual | experimental |
| LEDDAM_BLOCK | Specify the filter → Move along the series → Subtract the trend → Inspect the output contract | experimental |
| MOVING_AVERAGE_DECOMPOSITION_BLOCK | Specify the filter → Move along the series → Subtract the trend → Inspect the output contract | experimental |
| NBEATS_INTERPRETABLE | Construct fixed basis functions → Separate backcast and output weights → Pass a remainder to seasonal blocks → Distinguish the two residuals | experimental |
| PARSIMONY_BLOCK | Remove a smoothed trend → Build the harmonic design → Add fitted basis terms → Inspect the decomposition | experimental |
| ST_MTM_BLOCK | Smooth the prefix → Average equal seasonal phases → Smooth the repeated template → Inspect the derived residual | experimental |
| TIMEKAN_BLOCK | Smooth and inspect prefix frequencies → Fit two kinds of seasonal estimate → Apply the implemented fixed blend → Inspect the checked output | experimental |
| TIMES2D_BLOCK | Separate trend and selection input → Select discrete spectral peaks → Fit and average candidate seasons → Inspect actual output streams | experimental |
| WAVEFORM_BLOCK | Analyze with fixed wavelet filters → Reconstruct the approximation → Reconstruct selected detail bands → Inspect the remaining detail | experimental |
| WAVELETMIXER_BLOCK | Analyze with fixed wavelet filters → Reconstruct the approximation → Reconstruct selected detail bands → Inspect the remaining detail | experimental |
| XPATCH_BLOCK | Mix observation and state → Advance the recurrence → Smooth the difference → Inspect all three streams | experimental |
Reproduce or audit the animations.
More detail
- Method Matrix gives a compact table across input mode, maturity, dependencies, parameters, outputs, and recommended use.
- Config Reference documents exact
DecompositionConfigfields and method-specific parameters. - Method References collects primary literature and official package links.
- Notebook Gallery shows runnable plots for the retained method surface.