Skip to contents

What a check establishes

Interpreting a decomposition involves distinct questions: whether its outputs reconstruct the input, whether a component meets a method’s conditions, whether it recovers a known oscillation, and whether that interpretation is stable when the data or controls change. A successful check answers its own question, not all of them.

Question Observable Meaning
Did the numerical iteration accept its result? converged and the method’s stopping diagnostics Acceptance by the specified rule; separate from physical accuracy
Do the components reconstruct the input? Difference between the input and the sum including its declared remainder Additive consistency; a mixed or fragmented component can still pass
Does a component approximately meet the EMD IMF conditions? assessIMF() Counting and envelope-mean diagnostics with the supplied tolerances and boundary rule
Does an estimate recover a known component? measureQRF() with a matched reference Error relative to that reference, which must be supplied
Is a mode unusual under a noise model? assessWhiteNoise() or assessFractionalNoise() A comparison conditional on the model and its normalization

An observed signal need not come with clean reference components. Similarity to that signal, small cross products or exceeding a noise threshold cannot replace such a reference when claiming recovery of a physical oscillation.

Component diagnostics

assessIMF() provides numerical diagnostics of the intrinsic mode function conditions for each column of a mode matrix. Its count result checks that the numbers of extrema and zero crossings differ by at most one; deviation evaluates the envelope mean relative to its amplitude using thresholds, fraction and boundary. A deviation value of NA means that the boundary rule left the column without envelopes.

The ideal envelope condition is a zero mean at each point; the numerical test uses tolerances. Other methods define components through different operations, such as a bandwidth objective or a filter. Applying assessIMF() to those outputs gives an additional diagnostic, not a test of the conditions that define those methods.

The component measures below accept finite numeric inputs, with samples in rows and components in columns. Functions that compare a signal with modes require the same number of samples; measureQRF() instead accepts an estimate and a reference as vectors of equal length.

Operation Interpretation and limits
measureOrthogonality() Returns pairwise inner products and signed cosines. Inner products omit the sampling interval; cross products account for the difference between the energy of the sum and the sum of component energies. A zero-norm column is rejected.
measurePMSI() Returns the positive part of a normalized inner product for each adjacent pair of columns. The required denominator is "homogeneous" or "regularized"; the latter adds the absolute constant 1e-8 to the denominator. A zero-energy pair is rejected under the homogeneous form.
measureFCF() Returns a normalized inner product between a signal and each mode. Means are retained, so this differs from centered correlation for inputs with nonzero means. A zero-norm signal or mode is rejected.
measureQRF() Compares an estimate against a nonzero reference using the reference norm relative to the error norm, in dB. Identical vectors return Inf.
measureDTW() Returns a dynamic time warping distance from the signal to each mode, in signal units. The distance uses squared local costs and is not normalized by path length. Work grows quadratically with the number of samples per mode.

The sum of modal energies is not generally the energy of their sum: cross products also contribute. Cancellation between positive and negative cross products can make their total small. Consequently, neither an energy balance nor a zero PMSI establishes independence or absence of mode mixing. A high similarity to a contaminated record can also reflect its contamination.

In the record interface, measureModesTSL() reports crossFraction as the input-energy fraction left after subtracting modal and remainder energies. It represents normalized cross products when the components and remainder reconstruct the input. If they do not, the difference also reflects the reconstruction discrepancy. EEMD with divisor = "realizations", for example, reconstructs the input plus meanNoise when all modes and the residue are retained.

Noise-model diagnostics

The noise comparisons use reference distributions for the energy of components obtained from a specified noise model. Their normalization and calibration matter: a threshold is not a universal boundary between physical signal and noise. A component above the threshold can contain both, and a component below it is not thereby proved irrelevant to the phenomenon.

assessWhiteNoise() compares mode energies with white-noise bounds at each mode’s mean period. The input is the component matrix of a signal normalized by the caller. The required controls are two ordered probabilities between zero and one, a bound of "gaussian" or "chiSquare", and rescalingMode: NULL for no rescaling or the index of the component whose energy is placed on the upper bound.

The reference distribution is conditional on the noise model, normalization and EMD procedure. Rescaling assumes that the chosen component is dominated by noise; its mode index does not establish that assumption.

The returned energy is the mean-square value, adjusted when rescaling is selected; that adjustment applies to every mode. The period is in samples, and lower and upper are the bounds at that period. A mode has outside = TRUE when its energy falls below the lower bound or exceeds the upper bound. A zero-energy column is rejected.

The input to assessFractionalNoise() is a matrix of exactly 2048 samples, at least two intrinsic mode functions in extraction order, and no residue. The required hurst is 0.2, 0.5 or 0.8, and probability is 0.95 or 0.99. The function uses tabulated coefficients without interpolating to other Hurst exponents or recalibrating for other lengths.

The first intrinsic mode function supplies the noise scale under the assumption that it carries mainly noise; the function does not verify this assumption and rejects a first component of zero energy. The output contains energy, reference, upper and outside. Here outside means that energy exceeds the upper threshold; reference, upper and outside are NA for the first component.

The noise model must apply to the quantity being decomposed. In particular, integration changes the noise in an acceleration record. A white-noise interpretation for acceleration does not transfer unchanged to modes obtained from integrated displacement. The seismic guide explains the distinction between those quantities.

Ensemble dispersion

measureDispersion() accepts an array with dimensions samples, modes and realizations, with at least two realizations. Mode columns follow extraction order, with absent modes filled with zeros. It returns matrices of sample variance between members (variance) and a variance estimate for their mean (meanVariance), both in squared signal units. The first describes between-member dispersion; the second describes the Monte Carlo precision of the mean under the assumptions below.

The formula divides the sample variance by the number of realizations. Its interpretation as an estimated variance of the average assumes comparable components and, in the stated ensemble model, independent realizations with a common mean and a common finite covariance. Opposite perturbations within a complementary pair are dependent, so counting both signs as independent realizations does not justify that interpretation.

The function computes the supplied array; it does not establish those statistical assumptions or physical correspondence between equal mode indices. The dispersion concerns the perturbations applied to the fixed observed record. A small value does not quantify all uncertainty in the physical signal, and increasing the ensemble size does not remove bias in the decomposition.

From measures to selection

Selection specifies which components enter a reconstruction. Energy, frequency, similarity and significance under a noise model summarize different properties; no one of them identifies a clean physical component in general. A retained mode can still contain noise, while a physical oscillation can occupy more than one mode.

selectModesEnergy() orders modes by decreasing energy and returns the column indices before the largest consecutive energy drop, most energetic first. It requires at least two columns and rejects a largest drop that is zero or not unique. This is a different rule from the explicit minimum energyFraction criterion of selectModesTSL(). The record workflow describes declared selection and reconstruction of time-series records.

The intended retained contribution and the reason for the selection are therefore part of the analysis. The helpers implement the declared rule and preserve its selection record; they do not infer a physical noise model or choose a scientifically justified threshold from the input alone.