na-memd-and-memd
(Noise-Assisted) Multivariate Empirical Mode Decomposition (NA-MEMD/MEMD) Decomposition Algorithm in Python
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: ncbi.nlm.nih.gov -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.5%) to scientific vocabulary
Keywords
Repository
(Noise-Assisted) Multivariate Empirical Mode Decomposition (NA-MEMD/MEMD) Decomposition Algorithm in Python
Basic Info
Statistics
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
NA-MEMD for Python
Introduction
Python implementation of Noise-Assisted Multivariate Empirical Mode Decomposition (NA-MEMD). This repository contains functions for noise generation, Multivariate Empirical Mode Decomposition (MEMD), visualization, etc.
Multivariate Empirical Mode Decomposition (MEMD) is an extension of the traditional Empirical Mode Decomposition (EMD) method, which is used to decompose non-linear and non-stationary signals into simpler oscillatory components known as Intrinsic Mode Functions (IMFs). The key feature of MEMD is its ability to handle multivariate signals, meaning it can simultaneously decompose multiple related signals (or different dimensions of a signal) while ensuring that the decomposition is consistent across all channels.
Noise-Assisted Multivariate Empirical Mode Decomposition (NA-MEMD) is an enhancement of MEMD that incorporates noise into the decomposition process. The noise is added to make the decomposition more robust and to help separate closely spaced frequency components (mode mixing) that traditional MEMD might struggle to distinguish. The idea is that the added noise helps to explore the signal more effectively and results in more accurate decomposition.
Key Benefits of Repository : - Customizable Noise Generation : - The repository provides flexible options for noise generation, allowing for customization based on the type of data or the problem being addressed. - Multivariate Decomposition : - Decomposes n-dimensional signals, not limited to bivariate or quadrivariate, making it applicable to complex, high-dimensional data. - Performance Optimization : - The implementation is significantly faster than existing models, making it practical for large-scale and real-time data applications. - Visualization : - Provides tools for basic visualization, enabling users to easily examine the results of the decomposition and compare them with the original signal.
Dependencies
- NumPy
- SciPy
- sys
- math
- matplotlib
```bash
sys and math are part of Python Standard Libraries
pip install numpy scipy matplotlib ```
General Functions and Usage
python
signal = np.random.randn(5, 1000)
memd_imfs = memd(signal) # traditional memd signal processing
na_memd_imfs = na_memd(signal) # na_memd processing with noise assistance
add_noise = add_noise(signal) # add noise only to signal without EMD processing
For additional functionalities and usage explanations, please reference the example.py file.
Acknowledgements
Several existing packages and repositories were referenced in the creation of this library. All credit goes to these authors for their contributions to the field.
- https://github.com/AaronLi43/ginkgo_glasgow [1]
- https://github.com/laszukdawid/PyEMD/tree/master
- https://github.com/mariogrune/MEMD-Python-/tree/master [2]
- https://github.com/STherese/NA-MEMD-for-EEG
Citations
[1] Y. Zhang, G. Wang, Z. Li, et al., "Matlab Open Source Code: Noise-Assisted Multivariate Empirical Mode Decomposition Based Causal Decomposition for Causality Inference of Bivariate Time Series," Front. Neuroinform., vol. 16, Art. no. 851645, Jun. 2022. doi: 10.3389/fninf.2022.851645 LINK
[2] “Research | Empirical Mode Decomposition (EMD), Multivariate EMD, Matlab code and data sources ∴ Dr. Danilo P. Mandic,” www.commsp.ee.ic.ac.uk. https://www.commsp.ee.ic.ac.uk/~mandic/research/emd.htm (accessed Jul. 09, 2024) LINK
Other
Plans for future updates, such as performance improvements and additional features, are listed within the example.py file as comments.
Contact
This is a work in progress. If you encounter any issues or have questions, feel free to reach out via email at zhue@ufl.edu.
Owner
- Login: PiethonProgram
- Kind: user
- Repositories: 1
- Profile: https://github.com/PiethonProgram
Citation (citation.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: " Zhu " given-names: " Ethan " orcid: "https://orcid.org/0009-0007-6828-5558" title: "NA-MEMD for Python" version: 1.0.0 doi: 10.5281/zenodo.1234 date-released: 2024-07-09 url: "https://github.com/PiethonProgram/NA_MEMD"
GitHub Events
Total
- Watch event: 3
- Push event: 2
Last Year
- Watch event: 3
- Push event: 2