laszukdawid / PyEMD

Python implementation of Empirical Mode Decompoisition (EMD) method
https://pyemd.readthedocs.io/
Apache License 2.0
867 stars 224 forks source link

When processing tens of thousands of points of data, ceemdan takes more times than eemd #76

Closed yuchendeblog closed 4 years ago

yuchendeblog commented 4 years ago

What causes it? Is it because ceemdan is more expensive to calculate than eemd? Or is it because my ceemdan default parameters need to be reset? (The default parameter settings used by both ceemdan and eemd when running) If you need to reset the parameters, how to set them according to the amount of data?

laszukdawid commented 4 years ago

Yes, CEEMDAN is more computationally expensive than EEMD. For one, EEMD can be done in parallel since each run is indepnendet until the aggregation stage, whereas CEEMDAN builds each following component based on the previous one.

I'd recommend reading introductory papers ([1] and [2]) or at least check source code for both methods (EEMD and CEEMDAN )

[1] [Wu2009] Z. Wu and N. E. Huang, "Ensemble empirical mode decomposition: A noise-assisted data analysis method", Advances in Adaptive Data Analysis, Vol. 1, No. 1 (2009) 1-41.

[2] [Torres2011] M.E. Torres, M.A. Colominas, G. Schlotthauer, P. Flandrin A complete ensemble empirical mode decomposition with adaptive noise. Acoustics, Speech and Signal Processing (ICASSP), 2011, pp. 4144--4147

yuchendeblog commented 4 years ago

Ok, I understand, thank you for your answer!