Package AdvEMDpy: Algorithmic Variations of Empirical Mode Decomposition in Python

Cole van Jaarsveldt, Matthew Ames, Gareth Peters, Michael John Chantler

Research output: Working paperPreprint


This paper introduces a new Empirical Mode Decomposition (EMD) Python package called AdvEMDpy that is demonstrably more flexible and which generalises in numerous important ways the existing EMD packages available in Python, R, and MATLAB. The extensions introduced by this AdvEMDpy package both significantly improve the options available to the modeller when applying variations of the EMD methodology as well as also improving the statistical robustness and efficiency of methods otherwise available in existing packages. Unlike many of the functions available for the EMD procedure in existing packages, this EMD package, AdvEMDpy, was developed for customisation by the user, to ensure that a broader class of linear, non-linear, and non-stationary time series analysis could be performed. The intrinsic mode functions (IMFs) extracted from various time series contain multi-frequency implicit structures which warrant further study and as such maximum customisability and intricate knowledge of the algorithm and algorithmic variations is required for users to exploit the full power of the EMD approach to time series decomposition. The edge effect is the most familiar and troublesome problem present in EMD. Various techniques, of varying intricacy from numerous works, have been developed, refined, and offered in AdvEMDpy. In addition to edge effects, numerous preprocessing, post-processing, detrended fluctuation analysis techniques, stopping criteria, spline methods, discrete-time Hilbert transforms (DTHT), knot point optimisations, and algorithmic variations have been incorporated and exposed to the user of AdvEMDpy for fine-tuning of applications of EMD.
Original languageEnglish
Publication statusPublished - 25 Oct 2021


  • Empirical Mode Decomposition (EMD)
  • Statistical EMD (SEMD)
  • Enhanced EMD (EEMD)
  • Ensemble EMD
  • Hilbert transform
  • time series analysis
  • filtering
  • graduation
  • Winsorization
  • downsampling
  • splines
  • knot optimisation
  • Python
  • R


Dive into the research topics of 'Package AdvEMDpy: Algorithmic Variations of Empirical Mode Decomposition in Python'. Together they form a unique fingerprint.

Cite this