← All 31 animations

Optional multivariate VMD backend

Optional multivariate VMD backend

Property Value
Method MVMD
Input mode multivariate
Trend shape (96, 3)
Notebook execution ran
Reconstruction RMSE 0.00000000

Notebook example metric: root mean square of input - (trend + season + residual) over all samples and channels. This checks additive bookkeeping; it is not a forecast error or a component-recovery score. The separate teaching input and intermediate arrays for the animation are linked below.

How it works

Method maturity: optional-backend. Implementation: optional-backend.

MVMD couples channel-specific mode spectra through shared center frequencies. The modes can have different amplitudes and phases in each channel.

MVMD: Align the channels; Update channel spectra; Pool spectral energy; Recover mode stacks

Deterministic synthetic teaching signal; not a benchmark.

Open GIF · Static PNG · Source arrays (NPZ) · Trace metadata

Follow the four steps

1. Align the channels

Supply measurements on a common time grid and prepare their mirrored spectra.

2. Update channel spectra

Each channel fits a mode around the current shared center.

3. Pool spectral energy

Update each center using the spectral energy from all channels, then repeat.

4. Recover mode stacks

Invert the spectra and retain the (mode,time,channel) organization before application-specific grouping.

Parameters that change the result

Parameter Effect on the computation
K and alpha The teaching run uses three modes and bandwidth penalty 1500.
Upstream trace settings Uniform initialization, tau=0, and max_iter=60 bound this PySDKit demonstration; not all are public DeTime parameters.
primary_period / mode groups Controls DeTime's assignment of the returned modes to output components.

What this animation computes

Captured PySDKit 0.5.0 joint solver arrays on input shaped (channel,time). Internal channels correspond to input indexes [2, 0, 1] (zero-based); applying indexes [1, 2, 0] restores original order in every displayed spectrum and mode. The final trace is checked against the upstream returned modes.

Interpretation

  • The optional backend requires aligned multichannel input and an explicitly checked axis convention.
  • PySDKit's all-axis FFT shift changes the internal channel order; its final inverse shift restores input order. The animation applies that same restoration to every displayed iterate.
  • A shared mode center does not identify a shared causal source, and tau=0 can leave reconstruction error.

Try the method

Use this configuration with DecompositionConfig and decompose. The animation generator supplies the teaching input and records intermediate arrays.

{
  "method": "MVMD",
  "params": {
    "K": 3,
    "alpha": 1500.0,
    "primary_period": 24
  },
  "backend": "python"
}

See the configuration reference for the full interface and optional dependencies.

Sources and reproduction

Regenerate this animation with python scripts/generate_method_animations.py --methods MVMD. The reproduction guide explains the environment, numerical checks, coverage manifest, and how to inspect the stored arrays.

Code

case = CASES["MVMD"]
run_gallery_case("MVMD")

Output

Decomposition Plot

MVMD decomposition