| Literature DB >> 34735497 |
Matthew W Flood1, Bernd Grimm1.
Abstract
An increasing number of studies across many research fields from biomedical engineering to finance are employing measures of entropy to quantify the regularity, variability or randomness of time series and image data. Entropy, as it relates to information theory and dynamical systems theory, can be estimated in many ways, with newly developed methods being continuously introduced in the scientific literature. Despite the growing interest in entropic time series and image analysis, there is a shortage of validated, open-source software tools that enable researchers to apply these methods. To date, packages for performing entropy analysis are often run using graphical user interfaces, lack the necessary supporting documentation, or do not include functions for more advanced entropy methods, such as cross-entropy, multiscale cross-entropy or bidimensional entropy. In light of this, this paper introduces EntropyHub, an open-source toolkit for performing entropic time series analysis in MATLAB, Python and Julia. EntropyHub (version 0.1) provides an extensive range of more than forty functions for estimating cross-, multiscale, multiscale cross-, and bidimensional entropy, each including a number of keyword arguments that allows the user to specify multiple parameters in the entropy calculation. Instructions for installation, descriptions of function syntax, and examples of use are fully detailed in the supporting documentation, available on the EntropyHub website- www.EntropyHub.xyz. Compatible with Windows, Mac and Linux operating systems, EntropyHub is hosted on GitHub, as well as the native package repository for MATLAB, Python and Julia, respectively. The goal of EntropyHub is to integrate the many established entropy methods into one complete resource, providing tools that make advanced entropic time series analysis straightforward and reproducible.Entities:
Mesh:
Year: 2021 PMID: 34735497 PMCID: PMC8568273 DOI: 10.1371/journal.pone.0259448
Source DB: PubMed Journal: PLoS One ISSN: 1932-6203 Impact factor: 3.240
A list of resources providing entropy analysis tools.
| Name | Language | Interface | Access Links | Details |
|---|---|---|---|---|
|
| MATLAB | Command Line | • | See |
| Python | ||||
| Julia | ||||
| CEPS [ | MATLAB | GUI | BitBucket | Includes Shannon, Rényi, minimum, Tsallis, Kolmogorov-Sinai, conditional, corrected-conditional, approximate, sample, fuzzy, permutation, distribution, dispersion, phase, slope, bubble, spectral, differential, diffusion, and multiscale entropy methods. |
| PyBios [ | Python | GUI |
| Includes sample, fuzzy, permutation, distribution, dispersion, phase, multiscale entropy methods. |
| EZ Entropy [ | MATLAB | GUI | GitHub | Includes approximate, sample, fuzzy, permutation, distribution and conditional entropy methods. |
| PhysioNet [ | MATLAB C* | Command Line |
| Provides standalone functions for sample, multiscale and transfer entropies |
Listed next to each tool are the programming languages they support, the interface through which they operate, links to access the software, and a brief outline of the entropy analysis tools they provide.
* A C-programming implementation of transfer entropy is currently not available on PhysioNet.
List of base, cross, bidimensional, multiscale and multiscale cross-entropy functions available in version 0.1 of the EntropyHub toolkit.
| Entropy Method | Function Name | References | |
|---|---|---|---|
|
| Approximate Entropy |
| [ |
| Attention Entropy |
| [ | |
| Bubble Entropy |
| [ | |
| (corrected) Conditional Entropy |
| [ | |
| Cosine Similarity Entropy |
| [ | |
| Dispersion Entropy |
| [ | |
| Distribution Entropy |
| [ | |
| Entropy of Entropy |
| [ | |
| Fuzzy Entropy |
| [ | |
| Gridded Distribution Entropy |
| [ | |
| Increment Entropy |
| [ | |
| Kolmogorov Entropy |
| [ | |
| Permutation Entropy |
| [ | |
| Phase Entropy |
| [ | |
| Sample Entropy |
| [ | |
| Slope Entropy |
| [ | |
| Spectral Entropy |
| [ | |
| Symbolic Dynamic Entropy |
| [ | |
|
| Cross-Approximate Entropy |
| [ |
| (corrected) Cross-Conditional Entropy |
| [ | |
| Cross-Distribution Entropy |
| [ | |
| Cross-Fuzzy Entropy |
| [ | |
| Cross-Kolmogorov Entropy |
| ||
| Cross-Permutation Entropy |
| [ | |
| Cross-Sample Entropy |
| [ | |
| Cross-Spectral Entropy § |
| ||
|
| Bidimensional Distribution Entropy |
| [ |
| Bidimensional Dispersion Entropy |
| [ | |
| Bidimensional Fuzzy Entropy |
| [ | |
| Bidimensional Sample Entropy |
| [ | |
|
| Multiscale Entropy |
| [ |
| Composite Multiscale Entropy |
| [ | |
| (+ Refined-Composite Multiscale Entropy) | |||
| Refined Multiscale Entropy |
| [ | |
| Hierarchical Multiscale Entropy |
| [ | |
|
| Multiscale Cross-Entropy |
| [ |
| Composite Multiscale Cross-Entropy |
| [ | |
| (+ Refined-Composite Multiscale Cross-Entropy) | |||
| Refined Multiscale Cross-Entropy |
| [ | |
| Hierarchical Multiscale Cross-Entropy |
| [ | |
|
| Multiscale Entropy Object |
| |
| Example Data Importer |
|
* The multiscale entropy object returned by MSobject function is a required argument for Multiscale and Multiscale Cross functions.
** Sample time series and image data can be imported using the ExampleData function. Use of this function requires an internet connection. The imported data are the same as those used in the examples provided in the EntropyHub documentation.
† In contrast to other Base entropies, spectral entropy (SpecEn) is not derived from information theory or dynamical systems theory, and instead measures the entropy of the frequency spectrum.
§ Cross-Kolmogorov and cross-spectral entropies, while included in the toolkit, have yet to be verified in the scientific literature.
Fig 1Representative plot of the multiscale entropy curve returned by any Multiscale or Multiscale Cross entropy function.
The curve shown corresponds to multiscale bubble entropy of a Gaussian white noise signal (N = 5000, μ = 0, σ = 1), calculated over 5 coarse-grained time scales, with estimator parameters: embedding dimension (m) = 2, time delay (τ) = 1.
Fig 2Second-order difference plot returned by the phase entropy function (PhasEn).
Representative second-order difference plot of the x-component of the Henon set of equations (α = 1.4, β = 0.3), calculated with a time-delay (τ) = 2 and partitions (K) = 9.
Fig 3Poincaré plot and bivariate histogram returned by the gridded distribution entropy function (GridEn).
Representative Pioncaré plot and bivariate histogram of the x-component of the Lorenz system of equations (σ = 10, β = 8/3, ρ = 28), calculated with grid partitions (m) = 5 and a time-delay (τ) = 2.
Fig 4Sample datasets available with the EntropyHub toolkit through the ExampleData function.
(a) A gaussian white noise time series, (b) the Lorenz system of equations, (c) a Mandelbrot fractal.
List of resources for the EntropyHub toolkit.
|
| |
| EntropyHub Website |
|
| MattWillFlood.github.io/EntropyHub | |
| GitHub Repository |
|
| MATLAB Package |
|
| Python Package |
|
| Julia Package |
|
|
| |
| General Inquiries |
|
| Help and Support |
|
| Reporting Bugs |
|
All information about the toolkit, including installations instructions, documentation, and release updates can be found on the main EntropyHub website. Users can get in touch directly with the package developers by contacting the email addresses provided.