[Feature] Add membership function options for fuzzy entropy #1051
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
I noticed a
TODO
about membership functions in utils_entropy.py when I tried to use this package for fuzzy entropy analysis. Therefore I added following 8 kinds of membership functions:See:
Azami, H., Li, P., Arnold, S. E., Escudero, J., & Humeau-Heurtier, A. (2019b). Fuzzy Entropy Metrics for the analysis of Biomedical Signals: Assessment and comparison. IEEE Access, 7, 104833–104847. https://doi.org/10.1109/access.2019.2930625
Zheng, J., Jiang, Z., & Pan, H. (2018b). Sigmoid-based refined composite multiscale fuzzy entropy and t-SNE based fault diagnosis approach for rolling bearing. Measurement, 129, 332–342. https://doi.org/10.1016/j.measurement.2018.07.045
Changes
Introduced a new
func_name
parameter for selecting the membership function.Modified the
tolerance
parameter to accept both scalar and two-element vector formats as the parameters of membership functions. Detailed definition can be found in the referenced papers above.To optimize memory usage, fuzzy entropy is calculated using block matrices. (block size is 10 in default)
Testing
Compared the result with Azami's MATLAB version: FuzzyEntropy_Matlab
Example
Checklist