ts_fil_remd: Robust EMD Filter

View source: R/ts_fil_remd.R

ts_fil_remdR Documentation

Robust EMD Filter

Description

Ensemble/robust EMD-based denoising using CEEMD to separate noise-dominated IMFs and reconstruct the signal.

Usage

ts_fil_remd(noise = 0.1, trials = 5, max_imfs = NULL)

Arguments

noise

Noise amplitude passed to CEEMD.

trials

Number of CEEMD ensemble trials.

max_imfs

Maximum number of high-frequency IMFs to remove. If NULL, the cutoff is selected automatically from the cumulative roughness curve.

Details

CEEMD decomposes the series into intrinsic mode functions (IMFs). Early IMFs usually contain faster oscillations, while later IMFs represent slower components. This filter estimates a roughness score for each IMF, selects a cutoff from the cumulative roughness curve, and removes the selected high-frequency IMFs from the original series. Use max_imfs to cap the number of removed IMFs when preserving cycles or seasonal behavior is more important than aggressive denoising.

Value

A ts_fil_remd object.

References

  • Z. Wu and N. E. Huang (2009). Ensemble Empirical Mode Decomposition: a noise-assisted data analysis method. Advances in Adaptive Data Analysis.

Examples

# time series with noise
library(daltoolbox)
library(tspredit)
data(tsd)
tsd$y[9] <- 2*tsd$y[9]

# filter
filter <- ts_fil_remd()
filter <- daltoolbox::fit(filter, tsd$y)
y <- transform(filter, tsd$y)

# plot
plot_ts_pred(y=tsd$y, yadj=y)

tspredit documentation built on Sept. 9, 2026, 9:08 a.m.