Introducing libeemd: a program package for performing the ensemble empirical mode decomposition

Abstract

The ensemble empirical mode decomposition (EEMD) and its complete variant (CEEMDAN) are adaptive, noise-assisted data analysis methods that improve on the ordinary empirical mode decomposition (EMD). All these methods decompose possibly nonlinear and/or nonstationary time series data into a finite amount of components separated by instantaneous frequencies. This decomposition provides a powerful method to look into the different processes behind a given time series data, and provides a way to separate short time-scale events from a general trend. We present a free software implementation of EMD, EEMD and CEEMDAN and give an overview of the EMD methodology and the algorithms used in the decomposition. We release our implementation, libeemd, with the aim of providing a user-friendly, fast, stable, well-documented and easily extensible EEMD library for anyone interested in using (E)EMD in the analysis of time series data. While written in C for numerical efficiency, our implementation includes interfaces to the Python and R languages, and interfaces to other languages are straightforward.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Notes

  1. 1.

    In rare cases the finite precision of computer arithmetic can cause the number of zero crossings or extrema to get stuck oscillating between two consecutive numbers. To avoid an endless loop or extreme oversifting in this case our implementation relaxes the latter condition so that a case where only one of the numbers changes by 1 is still considered stable. This change does not affect the normal operation of EMD.

  2. 2.

    http://cran.r-project.org/web/packages/Rlibeemd/index.html.

  3. 3.

    https://github.com/helske/Rlibeemd.

  4. 4.

    http://perso.ens-lyon.fr/patrick.flandrin/emd.html.

  5. 5.

    http://ptsa.sourceforge.net.

  6. 6.

    https://bitbucket.org/luukko/libeemd.

  7. 7.

    http://www.physionet.org/cgi-bin/atm/ATM.

References

  1. Bowman DC, Lees JM (2014) The Hilbert–Huang transform: tools and methods. R version 3.1.0 (10 April 2014)

  2. Chang LW, Lo MT, Anssari N, Hsu KH, Huang N, Hwu WM (2011) Parallel implementation of multi-dimensional ensemble empirical mode decomposition. In: Acoustics, speech and signal processing (ICASSP), 2011 IEEE international conference on, pp 1621–1624

  3. Chen Q, Huang N, Riemenschneider S, Xu Y (2006) A B-spline approach for empirical mode decompositions. Adv Comput Math 24:171–195

    MathSciNet  Article  MATH  Google Scholar 

  4. Colominas MA, Schlotthauer G, Torres ME, Flandrin P (2012) Noise-assisted EMD methods in action. Adv Adapt Data Anal 04(1250):025

    MathSciNet  Google Scholar 

  5. Dätig M, Schlurmann T (2004) Performance and limitations of the Hilbert–Huang transformation (HHT) with an application to irregular water waves. Ocean Eng 31:1783–1834

    Article  Google Scholar 

  6. Eddelbuettel D (2013) Seamless R and C++ integration with Rcpp. Springer, New York

    Google Scholar 

  7. Eddelbuettel D, François R (2011) Rcpp: seamless R and C++ integration. J Stat Softw 40(8):1–18. http://www.jstatsoft.org/v40/i08/

  8. Engeln-Müllges G, Uhlig F (1996) Numerical algorithms with C. Springer, Berlin

    Google Scholar 

  9. Galassi M, Davies J, Theiler J, Gough B, Jungman G, Alken P, Booth M, Rossi F (2009) GNU scientific library reference manual. Network Theory Limited. http://www.gnu.org/software/gsl/

  10. Huang H, Pan J (2006) Speech pitch determination based on Hilbert–Huang transform. Signal Process 86:792–803

    Article  MATH  Google Scholar 

  11. Huang N, Shen S (2005) The Hilbert–Huang transform and its applications. Interdisciplinary Mathematical Sciences. World Scientific Publishing Company Inc., Singapore

    Google Scholar 

  12. Huang NE, Wu Z (2008) A review on Hilbert–Huang transform: method and its applications to geophysical studies. Rev Geophys 46:1–23. doi:10.1029/2007RG000228

  13. Huang NE, Shen Z, Long SR, Wu MC, Shih HH, Zheng Q, Yen NC, Tung CC, Liu HH (1998) The empirical mode decomposition and the Hilbert spectrum for nonlinear and non-stationary time series analysis. Proc R Soc Lond A Math 454:903–995

    MathSciNet  Article  MATH  Google Scholar 

  14. Huang NE, Shen Z, Long SR (1999) A new view of nonlinear water waves: the Hilbert spectrum. Annu Rev Fluid Mech 31:417–457

    MathSciNet  Article  Google Scholar 

  15. Huang NE, Wu MLC, Long SR, Shen SSP, Qu W, Gloersen P, Fan KL (2003) A confidence limit for the empirical mode decomposition and Hilbert spectral analysis. Proc R Soc Lond A Math 459:2317–2345

    MathSciNet  Article  MATH  Google Scholar 

  16. Kim D, Oh HS (2009) EMD: a package for empirical mode decomposition and Hilbert spectrum. R J 1:40–46

    Google Scholar 

  17. Morales IO, Landa E, Stránský P, Frank A (2011) Improved unfolding by detrending of statistical fluctuations in quantum spectra. Phys Rev E 84:016,203–016,209

    Article  Google Scholar 

  18. Oliphant TE (2007) Python for scientific computing. Comput Sci Eng 9:10–20

    Article  Google Scholar 

  19. Pachori RB, Bajaj V (2011) Analysis of normal and epileptic seizure EEG signals using empirical mode decomposition. Comput Methods Prog Biol 104:373–381

    Article  Google Scholar 

  20. Shulin L, Haifeng Z, Hui W, Rui M (2007) Application of improved EMD algorithm for the fault diagnosis of reciprocating pump valves with spring failure. In: Signal processing and its applications (ISSPA) 2007. 9th International symposium on, pp 1–4

  21. Torres ME, Colominas MA, Schlotthauer G, Flandrin P (2011) A complete ensemble empirical mode decomposition with adaptive noise. In: Acoustics, speech and signal processing (ICASSP), 2011 IEEE international conference on, pp 4144–4147

  22. Wang YH, Yeh CH, Young HWV, Hu K, Lo MT (2014) On the computational complexity of the empirical mode decomposition algorithm. Physica A 400:159–167

    Article  Google Scholar 

  23. Wu Z, Huang NE (2004) A study of the characteristics of white noise using the empirical mode decomposition method. Proc R Soc Lond A Math 460:1597–1611

    Article  MATH  Google Scholar 

  24. Wu Z, Huang NE (2009) Ensemble empirical mode decomposition: a noise-assisted data analysis method. Adv Adapt Data Anal 01:1–41

    Article  Google Scholar 

  25. Wu Z, Huang NE, Long SR, Peng CK (2007) On the trend, detrending, and variability of nonlinear and nonstationary time series. Proc Natl Acad Sci USA 104:14,889–14,894

    Article  Google Scholar 

  26. Zhang X, Lai KK, Wang SY (2008) A new approach for crude oil price analysis based on empirical mode decomposition. Energy Econ 30:905–918

    Article  Google Scholar 

Download references

Acknowledgments

This work was supported by the Finnish Cultural Foundation, the Emil Aaltonen Foundation, the Academy of Finland, and the European Community’s FP7 through the CRONOS project, Grant Agreement No. 280879. The authors wish to thank N. E. Huang for useful discussions.

Author information

Affiliations

Authors

Corresponding author

Correspondence to P. J. J. Luukko.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Luukko, P.J.J., Helske, J. & Räsänen, E. Introducing libeemd: a program package for performing the ensemble empirical mode decomposition. Comput Stat 31, 545–557 (2016). https://doi.org/10.1007/s00180-015-0603-9

Download citation

Keywords

  • Hilbert–Huang transform
  • Intrinsic mode function
  • Time series analysis
  • Adaptive data analysis
  • Noise-assisted data analysis
  • Detrending