laszukdawid / PyEMD

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

Gap Filling EMD #84

Closed Aikhjarto closed 3 years ago

Aikhjarto commented 3 years ago

Real-world measurement data often has missing values, e.g. sensor failed for a short period of time. In [1], a method to apply EMD on signals with missing data is proposed. IMHO it would be a nice addition to PyEMD if it could handle incomplete data.

[1] Moghtaderi, Azadeh, Pierre Borgnat, and Patrick Flandrin. "Gap-filling by the empirical mode decomposition." 2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2012.

laszukdawid commented 3 years ago

Hey Aikhjarto,

Thanks for sharing this paper. In all honesty I haven't seen it before but it looks interesting.

As for whether PyEMD could handle incomplete data with this method, I'm not convinced it's the right place. PyEMD is about methods for decomposing signal whereas the paper is suggesting one of them for an application. In a simliar manner, one could use Fourier or wavelet transformations to impute signals but I'd consider core transformation and its application to be in two separate places. It's more about engineering/programming principles rather than simple possibility.

In short, I won't include this imputing method in PyEMD. However, if you, or someone else, were willing to implement it in a different package then I'm happy to assist in making it work.

laszukdawid commented 3 years ago

Closing this ticket since I'm not sure whether there's more to be done. Let me know if you, or anyone, wants some help in implementing that method. I'd be interested to see this in action and learn whether it's something of use.