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.
Similar content being viewed by others
Notes
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.
References
Bowman DC, Lees JM (2014) The Hilbert–Huang transform: tools and methods. R version 3.1.0 (10 April 2014)
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
Chen Q, Huang N, Riemenschneider S, Xu Y (2006) A B-spline approach for empirical mode decompositions. Adv Comput Math 24:171–195
Colominas MA, Schlotthauer G, Torres ME, Flandrin P (2012) Noise-assisted EMD methods in action. Adv Adapt Data Anal 04(1250):025
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
Eddelbuettel D (2013) Seamless R and C++ integration with Rcpp. Springer, New York
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/
Engeln-Müllges G, Uhlig F (1996) Numerical algorithms with C. Springer, Berlin
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/
Huang H, Pan J (2006) Speech pitch determination based on Hilbert–Huang transform. Signal Process 86:792–803
Huang N, Shen S (2005) The Hilbert–Huang transform and its applications. Interdisciplinary Mathematical Sciences. World Scientific Publishing Company Inc., Singapore
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
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
Huang NE, Shen Z, Long SR (1999) A new view of nonlinear water waves: the Hilbert spectrum. Annu Rev Fluid Mech 31:417–457
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
Kim D, Oh HS (2009) EMD: a package for empirical mode decomposition and Hilbert spectrum. R J 1:40–46
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
Oliphant TE (2007) Python for scientific computing. Comput Sci Eng 9:10–20
Pachori RB, Bajaj V (2011) Analysis of normal and epileptic seizure EEG signals using empirical mode decomposition. Comput Methods Prog Biol 104:373–381
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
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
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
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
Wu Z, Huang NE (2009) Ensemble empirical mode decomposition: a noise-assisted data analysis method. Adv Adapt Data Anal 01:1–41
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
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
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
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00180-015-0603-9