Releases: MattWillFlood/EntropyHub
v2.0
📢 v2.0 🚀
👍🏼 😮 New multivariate methods
Five new multivariate entropy functions incorporating several method-specific variations
Multivariate Sample Entropy
Multivariate Fuzzy Entropy [++ many fuzzy functions]
Multivariate Dispersion Entropy [++ many symbolic sequence transforms]
Multivariate Cosine Similarity Entropy
Multivariate Permutation Entropy [++ amplitude-aware, edge, phase, weighted and modified variants]
👍🏼 🙏🏼 New multivariate multiscale methods
Two new multivariate multiscale entropy functions
Multivariate Multiscale Entropy [++ coarse, modified and generalized graining procedures]
Composite and Refined-composite Multivariate Multiscale Entropy
💪🏼 ⭐ Extra signal processing tools
WindowData() is a new function that allows users to segment data (univariate or multivariate time series) into windows with/without overlapping samples! This allows users to calculate entropy on subsequences of their data to perform analyses with greater time resolution.
⚒️ Other little fixes...
🖊️ Docs edits
Examples in the www.EntropyHub.xyz documentation were updated to match the latest package syntax.
v1.0
Latest Update
v1.0
----- New entropy methods -----
Two new base entropy functions (and their multiscale versions) have been added:
----- New fuzzy membership functions -----
Several new fuzzy membership functions have been added to FuzzEn, XFuzzEn and FuzzEn2D to provide more options for mapping the degree of similarity between embedding vectors.
These include trapezoidal, triangular and gaussian, among others.
Further info on these membership functions can be found here.
----- Phase Permutation Entropy -----
A new variant - 'phase' permutation entropy - has been added to PermEn.
This method employs a hilbert transformation of the data sequence, based on the methods outlined here.
----- Cross-Entropy with different length sequences -----
EntropyHub v1.0 now allows for cross-entropy (and multiscale cross-entropy) estimation with different length signals (except XCondEn and XPermEn).
As a result, the new cross-entropy functions require a separate input for each sequence (Sig1, Sig2).
----- Refined-Composite Multiscale Fuzzy Entropy -----
In addition to the refined-composite multiscale sample entropy that was available in earlier versions, now one can estimate the refined-composite multiscale fuzzy entropy based on the method outlined here.
What's more, refined-composite multicale cross-fuzzy entropy is also available, and both can be estimated using any of the fuzzy membership functions in FuzzEn or XFuzzEn.
----- Generalized Multiscale Entropy -----
Generaized multiscale entropy and generalized multiscale cross-entropy can now be estimated. Just choose the 'generalized' as the graining procedure in MSEn or XMSEn.
----- Variance of sample entropy estimate -----
Based on the method outlined by Lake et al., it is now possible to obtain a measure of the variance in the sample entropy estimate.
This is achieved by approximating the number of overlapping embedding vectors.
To do so, just set the parameter 'Vcp'==true in SampEn and XSampEn, but note that doing so requires a lot of computer memory.
Several little bugs and inconsistencies have also been fixed in this release. We want to thank all of you who have identified and alerted us to these bugs.
Most of these bugs have been noted via the GitHub issues portal.
----- Bug fixes -----
- The DispEn2D function in python has now been fixed.
- The type hint for FuzzEn in python has been updated.
- Compatability issues with EntropyHub.jl are now resolved.
- A bug in the K2En python function led to incorrect entropy estimates for data sequences with many equal values. This has been corrected.
----- Other Changes -----
- The 'equal' method for discretizing data in DispEn and DispEn2D has been updated to be consistent across Python, MatLab and Julia. This is unlikely to have impacted any users previously.
- The zeroth dimension (m=0) estimate of ApEn and XApEn has been changed to -phi(1).
- The default radius threshold distance for XApEn, XSampEn and XK2En has been changed to use the pooled standard deviation [i.e. 0.2*SDpooled(X,Y)].