measurePMSI: Pseudo-Mode Splitting Index

View source: R/measurePMSI.R

measurePMSIR Documentation

Pseudo-Mode Splitting Index

Description

Computes the pseudo-mode splitting index of each pair of adjacent modes.

Usage

measurePMSI(modes, denominator)

Arguments

modes

Finite numeric matrix, samples by modes, with at least one column. Attributes other than dim do not reach the outputs.

denominator

"homogeneous", the sum of the squared norms of the pair, or "regularized", which adds the 10^{-8} of the UPEMD definition, an absolute scale absent from the homogeneous form. No default; emd 0.8.1 has only the regularized form.

Details

For each pair of adjacent columns,

\mathrm{PMSI}(c_i, c_{i+1}) = \max\left\{\frac{\langle c_i, c_{i+1} \rangle}{\|c_i\|_2^2 + \|c_{i+1}\|_2^2}, 0\right\},

with 10^{-8} added to the denominator under "regularized".

Value

Numeric vector with one value per pair of adjacent modes, of length one less than the number of columns.

Conditions

A pair of adjacent modes with zero energy under "homogeneous" stops the function with an error of class xemdZeroEnergy.

See Also

measureOrthogonality, decomposeMaskedEMD

Examples

Time <- seq_len(1000) / 1000
Tones <- cbind(cos(2 * pi * 2 * Time), 0.25 * cos(2 * pi * 24 * Time),
               0.0625 * cos(2 * pi * 288 * Time))
Mixed <- cbind(rowSums(Tones), Tones)
measurePMSI(Mixed, denominator = "homogeneous")
measurePMSI(Mixed, denominator = "regularized")

xemd documentation built on Nov. 9, 2026, 1:09 a.m.