From 0f1f18dbc80f97f13d13f4bb369896eda707bfbe Mon Sep 17 00:00:00 2001 From: Matt <56543497+MattWillFlood@users.noreply.github.com> Date: Sat, 30 Mar 2024 03:12:52 +0100 Subject: [PATCH] Delete Guide directory --- Guide/Base_Entropies/index.html | 225 -------------------- Guide/Bidimensional_Entropies/index.html | 65 ------ Guide/Cross_Entropies/index.html | 54 ----- Guide/Multiscale_Cross_Entropies/index.html | 144 ------------- Guide/Multiscale_Entropies/index.html | 193 ----------------- 5 files changed, 681 deletions(-) delete mode 100644 Guide/Base_Entropies/index.html delete mode 100644 Guide/Bidimensional_Entropies/index.html delete mode 100644 Guide/Cross_Entropies/index.html delete mode 100644 Guide/Multiscale_Cross_Entropies/index.html delete mode 100644 Guide/Multiscale_Entropies/index.html diff --git a/Guide/Base_Entropies/index.html b/Guide/Base_Entropies/index.html deleted file mode 100644 index d3a8fd0..0000000 --- a/Guide/Base_Entropies/index.html +++ /dev/null @@ -1,225 +0,0 @@ - -Base Entropies · EntropyHub.jl

Base Entropies

Functions for estimating the entropy of a single univariate time series.

The following functions also form the base entropy method used by Multiscale functions.

These functions are directly available when EntropyHub is imported:

julia> using EntropyHub
-
-julia> names(EntropyHub)
 :ApEn
- :AttnEn
- :BubbEn
-   ⋮
- :hXMSEn
- :rMSEn
- :rXMSEn
EntropyHub._ApEn.ApEnFunction
Ap, Phi = ApEn(Sig)

Returns the approximate entropy estimates Ap and the log-average number of matched vectors Phi for m = [0,1,2], estimated from the data sequence Sig using the default parameters: embedding dimension = 2, time delay = 1, radius distance threshold = 0.2*SD(Sig), logarithm = natural

Ap, Phi = ApEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, r::Real=0.2*std(Sig,corrected=false), Logx::Real=exp(1))

Returns the approximate entropy estimates Ap of the data sequence Sig for dimensions = [0,1,...,m] using the specified keyword arguments:

Arguments:

m - Embedding Dimension, a positive integer

tau - Time Delay, a positive integer

r - Radius Distance Threshold, a positive scalar

Logx - Logarithm base, a positive scalar

See also XApEn, SampEn, MSEn, FuzzEn, PermEn, CondEn, DispEn

References:

[1] Steven M. Pincus, 
-    "Approximate entropy as a measure of system complexity." 
-    Proceedings of the National Academy of Sciences 
-    88.6 (1991): 2297-2301.
source
EntropyHub._SampEn.SampEnFunction
Samp, A, B = SampEn(Sig)

Returns the sample entropy estimates Samp and the number of matched state vectors (m:B, m+1:A) for m = [0,1,2] estimated from the data sequence Sig using the default parameters: embedding dimension = 2, time delay = 1, radius threshold = 0.2*SD(Sig), logarithm = natural

Samp, A, B = SampEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, r::Real=0.2*std(Sig,corrected=false), Logx::Real=exp(1))

Returns the sample entropy estimates Samp for dimensions = [0,1,...,m] estimated from the data sequence Sig using the specified keyword arguments:

Arguments:

m - Embedding Dimension, a positive integer

tau - Time Delay, a positive integer

r - Radius Distance Threshold, a positive scalar

Logx - Logarithm base, a positive scalar

See also ApEn, FuzzEn, PermEn, CondEn, XSampEn, SampEn2D, MSEn

References:

[1] Joshua S Richman and J. Randall Moorman. 
-    "Physiological time-series analysis using approximate entropy
-    and sample entropy." 
-    American Journal of Physiology-Heart and Circulatory Physiology (2000).
source
EntropyHub._FuzzEn.FuzzEnFunction
Fuzz, Ps1, Ps2 = FuzzEn(Sig)

Returns the fuzzy entropy estimates Fuzz and the average fuzzy distances (m:Ps1, m+1:Ps2) for m = [1,2] estimated from the data sequence Sig using the default parameters: embedding dimension = 2, time delay = 1, fuzzy function (Fx) = "default", fuzzy function parameters (r) = [0.2, 2], logarithm = natural

Fuzz, Ps1, Ps2 = FuzzEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, r::Union{Real,Tuple{Real,Real}}=(.2,2), Fx::String="default", Logx::Real=exp(1))

Returns the fuzzy entropy estimates Fuzz for dimensions = [1,...,m] estimated for the data sequence Sig using the specified keyword arguments:

Arguments:

m - Embedding Dimension, a positive integer [default: 2]

tau - Time Delay, a positive integer [default: 1]

Fx - Fuzzy function name, one of the following: {"sigmoid", "modsampen", "default", "gudermannian", "linear"}

r - Fuzzy function parameters, a 1 element scalar or a 2 element tuple of positive values. The r parameters for each fuzzy function are defined as follows: [default: [.2 2]]

        sigmoid:      r(1) = divisor of the exponential argument
-                      r(2) = value subtracted from argument (pre-division)
-        modsampen:    r(1) = divisor of the exponential argument
-                      r(2) = value subtracted from argument (pre-division)
-        default:      r(1) = divisor of the exponential argument
-                      r(2) = argument exponent (pre-division)
-        gudermannian: r  = a scalar whose value is the numerator of
-                            argument to gudermannian function:
-                            GD(x) = atan(tanh(r/x))
-        linear:       r  = an integer value. When r = 0, the
-                            argument of the exponential function is 
-                            normalised between [0 1]. When r = 1,
-                            the minimuum value of the exponential 
-                            argument is set to 0.

Logx - Logarithm base, a positive scalar [default: natural]

For further information on keyword arguments, see the EntropyHub guide.

See also SampEn, ApEn, PermEn, DispEn, XFuzzEn, FuzzEn2D, MSEn

References:

[1] Weiting Chen, et al.
-    "Characterization of surface EMG signal based on fuzzy entropy."
-    IEEE Transactions on neural systems and rehabilitation engineering
-    15.2 (2007): 266-272.
-
-[2] Hong-Bo Xie, Wei-Xing He, and Hui Liu
-    "Measuring time series regularity using nonlinear
-    similarity-based sample entropy."
-    Physics Letters A
-    372.48 (2008): 7140-7146.
source
EntropyHub._K2En.K2EnFunction
K2, Ci = K2En(Sig)

Returns the Kolmogorov entropy estimates K2 and the correlation integrals Ci for m = [1,2] estimated from the data sequence Sig using the default parameters: embedding dimension = 2, time delay = 1, r = 0.2*SD(Sig), logarithm = natural

K2, Ci = K2En(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, r::Real=0.2*std(Sig,corrected=false), Logx::Real=exp(1))

Returns the Kolmogorov entropy estimates K2 for dimensions = [1,...,m] estimated from the data sequence Sig using the 'keyword' arguments:

Arguments:

m - Embedding Dimension, a positive integer

tau - Time Delay, a positive integer

r - Radius, a positive scalar

Logx - Logarithm base, a positive scalar

See also DistEn, XK2En, MSEn

References:

[1] Peter Grassberger and Itamar Procaccia,
-    "Estimation of the Kolmogorov entropy from a chaotic signal." 
-    Physical review A 28.4 (1983): 2591.
-
-[2] Lin Gao, Jue Wang  and Longwei Chen
-    "Event-related desynchronization and synchronization 
-    quantification in motor-related EEG by Kolmogorov entropy"
-    J Neural Eng. 2013 Jun;10(3):03602
source
EntropyHub._PermEn.PermEnFunction
Perm, Pnorm, cPE = PermEn(Sig)

Returns the permuation entropy estimates Perm, the normalised permutation entropy Pnorm and the conditional permutation entropy cPE for m = [1,2] estimated from the data sequence Sig using the default parameters: embedding dimension = 2, time delay = 1, logarithm = base 2, normalisation = w.r.t #symbols (m-1) Note: using the standard PermEn estimation, Perm = 0 when m = 1. Note: It is recommeneded that signal length > 5m! (see [8] and Amigo et al., Europhys. Lett. 83:60005, 2008)

Perm, Pnorm, cPE = PermEn(Sig, m)

Returns the permutation entropy estimates Perm estimated from the data sequence Sig using the specified embedding dimensions = [1,...,m] with other default parameters as listed above.

Perm, Pnorm, cPE = PermEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, Typex::String="none", tpx::Union{Real,Nothing}=nothing, Logx::Real=2, Norm::Bool=false)

Returns the permutation entropy estimates Perm for dimensions = [1,...,m] estimated from the data sequence Sig using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, an integer > 1

tau - Time Delay, a positive integer

Logx - Logarithm base, a positive scalar (enter 0 for natural log)

Norm - Normalisation of PermEn value:

      false -  normalises w.r.t log(# of permutation symbols [m-1]) - default
-      true  -  normalises w.r.t log(# of all possible permutations [m!])
-      * Note: Normalised permutation entropy is undefined for m = 1.
-      ** Note: When Typex = 'uniquant' and Norm = true, normalisation
-      is calculated w.r.t. log(tpx^m)

Typex - Permutation entropy variation, one of the following: {`"none", "uniquant", "finegrain", "modified", "ampaware", "weighted", "edge"} See the EntropyHub guide for more info on PermEn variations.

tpx - Tuning parameter for associated permutation entropy variation.

      [uniquant]  'tpx' is the L parameter, an integer > 1 (default = 4).           
-      [finegrain] 'tpx' is the alpha parameter, a positive scalar (default = 1)
-      [ampaware]  'tpx' is the A parameter, a value in range [0 1] (default = 0.5)
-      [edge]      'tpx' is the r sensitivity parameter, a scalar > 0 (default = 1)
-      See the EntropyHub guide for more info on PermEn variations.

See also XPermEn, MSEn, XMSEn, SampEn, ApEn, CondEn

References:

[1] Christoph Bandt and Bernd Pompe, 
-        "Permutation entropy: A natural complexity measure for time series." 
-        Physical Review Letters,
-        88.17 (2002): 174102.
-
-[2] Xiao-Feng Liu, and Wang Yue,
-        "Fine-grained permutation entropy as a measure of natural 
-        complexity for time series." 
-        Chinese Physics B 
-        18.7 (2009): 2690.
-
-[3] Chunhua Bian, et al.,
-        "Modified permutation-entropy analysis of heartbeat dynamics."
-        Physical Review E
-        85.2 (2012) : 021906
-
-[4] Bilal Fadlallah, et al.,
-        "Weighted-permutation entropy: A complexity measure for time 
-        series incorporating amplitude information." 
-        Physical Review E 
-        87.2 (2013): 022911.
-
-[5] Hamed Azami and Javier Escudero,
-        "Amplitude-aware permutation entropy: Illustration in spike 
-        detection and signal segmentation." 
-        Computer methods and programs in biomedicine,
-        128 (2016): 40-51.
-
-[6] Zhiqiang Huo, et al.,
-        "Edge Permutation Entropy: An Improved Entropy Measure for 
-        Time-Series Analysis," 
-        45th Annual Conference of the IEEE Industrial Electronics Soc,
-        (2019), 5998-6003
-
-[8] Zhe Chen, et al. 
-        "Improved permutation entropy for measuring complexity of time
-        series under noisy condition." 
-        Complexity 
-        1403829 (2019).
-
-[9] Maik Riedl, Andreas Müller, and Niels Wessel,
-        "Practical considerations of permutation entropy." 
-        The European Physical Journal Special Topics 
-        222.2 (2013): 249-262.
source
EntropyHub._CondEn.CondEnFunction
Cond, SEw, SEz = CondEn(Sig)

Returns the corrected conditional entropy estimates (Cond) and the corresponding Shannon entropies (m: SEw, m+1: SEz) for m = [1,2] estimated from the data sequence (Sig) using the default parameters: embedding dimension = 2, time delay = 1, symbols = 6, logarithm = natural, normalisation = false Note: CondEn(m=1) returns the Shannon entropy of Sig.

Cond, SEw, SEz = CondEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, c::Int=6, Logx::Real=exp(1), Norm::Bool=false)

Returns the corrected conditional entropy estimates (Cond) from the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, an integer > 1

tau - Time Delay, a positive integer

c - # of symbols, an integer > 1

Logx - Logarithm base, a positive scalar

Norm - Normalisation of CondEn value:

      [false]  no normalisation - default
-      [true]   normalises w.r.t Shannon entropy of data sequence `Sig`

See also XCondEn, MSEn, PermEn, DistEn, XPermEn

References:

[1] Alberto Porta, et al.,
-    "Measuring regularity by means of a corrected conditional
-    entropy in sympathetic outflow." 
-    Biological cybernetics 
-    78.1 (1998): 71-78.
source
EntropyHub._DistEn.DistEnFunction
Dist, Ppi = DistEn(Sig)

Returns the distribution entropy estimate (Dist) and the corresponding distribution probabilities (Ppi) estimated from the data sequence (Sig) using the default parameters: embedding dimension = 2, time delay = 1, binning method = 'Sturges', logarithm = base 2, normalisation = w.r.t # of histogram bins

Dist, Ppi = DistEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, Bins::Union{Int,String}="Sturges", Logx::Real=2, Norm::Bool=true)

Returns the distribution entropy estimate (Dist) estimated from the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, a positive integer

tau - Time Delay, a positive integer

Bins - Histogram bin selection method for distance distribution, one of the following:

      an integer > 1 indicating the number of bins, or one of the 
-      following strings {'sturges','sqrt','rice','doanes'}
-      [default: 'sturges']

Logx - Logarithm base, a positive scalar (enter 0 for natural log)

Norm - Normalisation of DistEn value:

      [false]  no normalisation.
-      [true]   normalises w.r.t # of histogram bins - default

See also XDistEn, DistEn2D, MSEn, K2En

References:

[1] Li, Peng, et al.,
-    "Assessing the complexity of short-term heartbeat interval 
-    series by distribution entropy." 
-    Medical & biological engineering & computing 
-    53.1 (2015): 77-87.
source
EntropyHub._SpecEn.SpecEnFunction
Spec, BandEn = SpecEn(Sig)

Returns the spectral entropy estimate of the full spectrum (Spec) and the within-band entropy (BandEn) estimated from the data sequence (Sig) using the default parameters: N-point FFT = 2*len(Sig) + 1, normalised band edge frequencies = [0 1], logarithm = base 2, normalisation = w.r.t # of spectrum/band frequency values.

Spec, BandEn = SpecEn(Sig::AbstractArray{T,1} where T<:Real; N::Int=1 + (2*size(Sig,1)), Freqs::Tuple{Real,Real}=(0,1), Logx::Real=exp(1), Norm::Bool=true)

Returns the spectral entropy (Spec) and the within-band entropy (BandEn) estimate for the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

N - Resolution of spectrum (N-point FFT), an integer > 1

Freqs - Normalised band edge frequencies, a 2 element tuple with values

      in range [0 1] where 1 corresponds to the Nyquist frequency (Fs/2).
-      Note: When no band frequencies are entered, BandEn == SpecEn

Logx - Logarithm base, a positive scalar (enter 0 for natural log)

Norm - Normalisation of Spec value:

      [false]  no normalisation.
-      [true]   normalises w.r.t # of spectrum/band frequency values - default.

For more info, see the EntropyHub guide.

See also XSpecEn, fft, MSEn, XMSEn

References:

[1] G.E. Powell and I.C. Percival,
-    "A spectral entropy method for distinguishing regular and 
-    irregular motion of Hamiltonian systems." 
-    Journal of Physics A: Mathematical and General 
-    12.11 (1979): 2053.
-
-[2] Tsuyoshi Inouye, et al.,
-    "Quantification of EEG irregularity by use of the entropy of 
-    the power spectrum." 
-    Electroencephalography and clinical neurophysiology 
-    79.3 (1991): 204-210.
source
EntropyHub._DispEn.DispEnFunction
Dispx, RDE = DispEn(Sig)

Returns the dispersion entropy (Dispx) and the reverse dispersion entropy (RDE) estimated from the data sequence (Sig) using the default parameters: embedding dimension = 2, time delay = 1, symbols = 3, logarithm = natural, data transform = normalised cumulative density function (ncdf)

Dispx, RDE = DispEn(Sig::AbstractArray{T,1} where T<:Real; c::Int=3, m::Int=2, tau::Int=1, Typex::String="ncdf", Logx::Real=exp(1), Fluct::Bool=false, Norm::Bool=false, rho::Real=1)

Returns the dispersion entropy (Dispx) and the reverse dispersion entropy (RDE) estimated from the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, a positive integer

tau - Time Delay, a positive integer

c - Number of symbols, an integer > 1

Typex - Type of data-to-symbolic sequence transform, one of the following: {"linear", "kmeans" ,"ncdf", "finesort", "equal"}

      See the EntropyHub guide for more info on these transforms.

Logx - Logarithm base, a positive scalar

Fluct - When Fluct == true, DispEn returns the fluctuation-based Dispersion entropy. [default: false]

Norm - Normalisation of Dispx and RDE value: [false] no normalisation - default [true] normalises w.r.t number of possible dispersion patterns (c^m or (2c -1)^m-1 if Fluct == true).

rho - If Typex == 'finesort', rho is the tuning parameter (default: 1)

See also PermEn, SyDyEn, MSEn

References:

[1] Mostafa Rostaghi and Hamed Azami,
-    "Dispersion entropy: A measure for time-series analysis." 
-    IEEE Signal Processing Letters 
-    23.5 (2016): 610-614.
-
-[2] Hamed Azami and Javier Escudero,
-    "Amplitude-and fluctuation-based dispersion entropy." 
-    Entropy 
-    20.3 (2018): 210.
-
-[3] Li Yuxing, Xiang Gao and Long Wang,
-    "Reverse dispersion entropy: A new complexity measure for 
-    sensor signal." 
-    Sensors 
-    19.23 (2019): 5203.
-
-[4] Wenlong Fu, et al.,
-    "Fault diagnosis for rolling bearings based on fine-sorted 
-    dispersion entropy and SVM optimized with mutation SCA-PSO."
-    Entropy
-    21.4 (2019): 404.
source
EntropyHub._SyDyEn.SyDyEnFunction
SyDy, Zt = SyDyEn(Sig)

Returns the symbolic dynamic entropy (SyDy) and the symbolic sequence (Zt) of the data sequence (Sig) using the default parameters: embedding dimension = 2, time delay = 1, symbols = 3, logarithm = natural, symbolic partition type = maximum entropy partitioning (MEP), normalisation = normalises w.r.t # possible vector permutations (c^m)

SyDy, Zt = SyDyEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, c::Int=3, Typex::String="MEP", Logx::Real=exp(1), Norm::Bool=true)

Returns the symbolic dynamic entropy (SyDy) and the symbolic sequence (Zt) of the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, a positive integer

tau - Time Delay, a positive integer

c - Number of symbols, an integer > 1

Typex - Type of symbolic sequnce partitioning method, one of the following:

      {"linear","uniform","MEP"(default),"kmeans"}

Logx - Logarithm base, a positive scalar

Norm - Normalisation of SyDyEn value:

      [false]  no normalisation 
-      [true]   normalises w.r.t # possible vector permutations (c^m+1) - default

See the EntropyHub guide for more info on these parameters.

See also DispEn, PermEn, CondEn, SampEn, MSEn

References:

[1] Yongbo Li, et al.,
-    "A fault diagnosis scheme for planetary gearboxes using 
-    modified multi-scale symbolic dynamic entropy and mRMR feature 
-    selection." 
-    Mechanical Systems and Signal Processing 
-    91 (2017): 295-312. 
-
-[2] Jian Wang, et al.,
-    "Fault feature extraction for multiple electrical faults of 
-    aviation electro-mechanical actuator based on symbolic dynamics
-    entropy." 
-    IEEE International Conference on Signal Processing, 
-    Communications and Computing (ICSPCC), 2015.
-
-[3] Venkatesh Rajagopalan and Asok Ray,
-    "Symbolic time series analysis via wavelet-based partitioning."
-    Signal processing 
-    86.11 (2006): 3309-3320.
source
EntropyHub._IncrEn.IncrEnFunction
Incr = IncrEn(Sig)

Returns the increment entropy (Incr) estimate of the data sequence (Sig) using the default parameters: embedding dimension = 2, time delay = 1, quantifying resolution = 4, logarithm = base 2,

Incr = IncrEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, R::Int=4, Logx::Real=2, Norm::Bool=false)

Returns the increment entropy (Incr) estimate of the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, an integer > 1

tau - Time Delay, a positive integer

R - Quantifying resolution, a positive scalar

Logx - Logarithm base, a positive scalar (enter 0 for natural log)

Norm - Normalisation of IncrEn value:

      [false]  no normalisation - default
-      [true]   normalises w.r.t embedding dimension (m-1).

See also PermEn, SyDyEn, MSEn

References:

[1] Xiaofeng Liu, et al.,
-    "Increment entropy as a measure of complexity for time series."
-    Entropy
-    18.1 (2016): 22.1.
-
-***   "Correction on Liu, X.; Jiang, A.; Xu, N.; Xue, J. - Increment 
-    Entropy as a Measure of Complexity for Time Series,
-    Entropy 2016, 18, 22." 
-    Entropy 
-    18.4 (2016): 133.
-
-[2] Xiaofeng Liu, et al.,
-    "Appropriate use of the increment entropy for 
-    electrophysiological time series." 
-    Computers in biology and medicine 
-    95 (2018): 13-23.
source
EntropyHub._CoSiEn.CoSiEnFunction
CoSi, Bm = CoSiEn(Sig)

Returns the cosine similarity entropy (CoSi) and the corresponding global probabilities estimated from the data sequence (Sig) using the default parameters: embedding dimension = 2, time delay = 1, angular threshold = .1, logarithm = base 2,

CoSi, Bm = CoSiEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, r::Real=.1, Logx::Real=2, Norm::Int=0)

Returns the cosine similarity entropy (CoSi) estimated from the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, an integer > 1

tau - Time Delay, a positive integer

r - Angular threshold, a value in range [0 < r < 1]

Logx - Logarithm base, a positive scalar (enter 0 for natural log)

Norm - Normalisation of Sig, one of the following integers:

    [0]  no normalisation - default
-    [1]  normalises `Sig` by removing median(`Sig`)
-    [2]  normalises `Sig` by removing mean(`Sig`)
-    [3]  normalises `Sig` w.r.t. SD(`Sig`)
-    [4]  normalises `Sig` values to range [-1 1]

See also PhasEn, SlopEn, GridEn, MSEn, cMSEn

References:

[1] Theerasak Chanwimalueang and Danilo Mandic,
-    "Cosine similarity entropy: Self-correlation-based complexity
-    analysis of dynamical systems."
-    Entropy 
-    19.12 (2017): 652.
source
EntropyHub._PhasEn.PhasEnFunction
Phas = PhasEn(Sig)

Returns the phase entropy (Phas) estimate of the data sequence (Sig) using the default parameters: angular partitions = 4, time delay = 1, logarithm = natural,

Phas = PhasEn(Sig::AbstractArray{T,1} where T<:Real; K::Int=4, tau::Int=1, Logx::Real=exp(1), Norm::Bool=true, Plotx::Bool=false)

Returns the phase entropy (Phas) estimate of the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

K - Angular partitions (coarse graining), an integer > 1

        *Note: Division of partitions begins along the positive x-axis. As this point is somewhat arbitrary, it is
-         recommended to use even-numbered (preferably multiples of 4) partitions for sake of symmetry.

tau - Time Delay, a positive integer

Logx - Logarithm base, a positive scalar

Norm - Normalisation of Phas value:

      [false]  no normalisation
-      [true]   normalises w.r.t. the number of partitions Log(`K`)

Plotx - When Plotx == true, returns Poincaré plot (default: false)

See also SampEn, ApEn, GridEn, MSEn, SlopEn, CoSiEn, BubbEn

References:

[1] Ashish Rohila and Ambalika Sharma,
-    "Phase entropy: a new complexity measure for heart rate
-    variability." 
-    Physiological measurement
-    40.10 (2019): 105006.
source
EntropyHub._SlopEn.SlopEnFunction
Slop = SlopEn(Sig)

Returns the slope entropy (Slop) estimates for embedding dimensions [2, ..., m] of the data sequence (Sig) using the default parameters: embedding dimension = 2, time delay = 1, angular thresholds = [5 45], logarithm = base 2

Slop = SlopEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, Lvls::AbstractArray{T,1} where T<:Real=[5, 45], Logx::Real=2, Norm::Bool=true)

Returns the slope entropy (Slop) estimate of the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, an integer > 1

      SlopEn returns estimates for each dimension [2,...,m]

tau - Time Delay, a positive integer

Lvls - Angular thresolds, a vector of monotonically increasing values in the range [0 90] degrees.

Logx - Logarithm base, a positive scalar (enter 0 for natural log)

Norm - Normalisation of SlopEn value, a boolean operator:

      [false]  no normalisation
-      [true]   normalises w.r.t. the number of patterns found (default)

See also PhasEn, GridEn, MSEn, CoSiEn, SampEn, ApEn

References:

[1] David Cuesta-Frau,
-    "Slope Entropy: A New Time Series Complexity Estimator Based on
-    Both Symbolic Patterns and Amplitude Information." 
-    Entropy 
-    21.12 (2019): 1167.
source
EntropyHub._BubbEn.BubbEnFunction
Bubb, H = BubbEn(Sig)

Returns the bubble entropy (Bubb) and the conditional Rényi entropy (H) estimates of dimension m = 2 from the data sequence (Sig) using the default parameters: embedding dimension = 2, time delay = 1, logarithm = natural

Bubb, H = BubbEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=2, tau::Int=1, Logx::Real=exp(1))

Returns the bubble entropy (Bubb) estimate of the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, an integer > 1

      BubbEn returns estimates for each dimension [2,...,m]

tau - Time Delay, a positive integer

Logx - Logarithm base, a positive scalar

See also PhasEn, MSEn

References:

[1] George Manis, M.D. Aktaruzzaman and Roberto Sassi,
-    "Bubble entropy: An entropy almost free of parameters."
-    IEEE Transactions on Biomedical Engineering
-    64.11 (2017): 2711-2718.
source
EntropyHub._GridEn.GridEnFunction
GDE, GDR, _ = GridEn(Sig)

Returns the gridded distribution entropy (GDE) and the gridded distribution rate (GDR) estimated from the data sequence (Sig) using the default parameters: grid coarse-grain = 3, time delay = 1, logarithm = base 2

GDE, GDR, PIx, GIx, SIx, AIx = GridEn(Sig)

In addition to GDE and GDR, GridEn returns the following indices estimated for the data sequence (Sig) using the default parameters: [PIx] - Percentage of points below the line of identity (LI) [GIx] - Proportion of point distances above the LI [SIx] - Ratio of phase angles (w.r.t. LI) of the points above the LI [AIx] - Ratio of the cumulative area of sectors of points above the LI

GDE, GDR, ..., = GridEn(Sig::AbstractArray{T,1} where T<:Real; m::Int=3, tau::Int=1, Logx::Real=exp(1), Plotx::Bool=false)

Returns the gridded distribution entropy (GDE) estimated from the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

m - Grid coarse-grain (m x m sectors), an integer > 1

tau - Time Delay, a positive integer

Logx - Logarithm base, a positive scalar

Plotx - When Plotx == true, returns gridded Poicaré plot and a bivariate histogram of the grid point distribution (default: false)

See also PhasEn, CoSiEn, SlopEn, BubbEn, MSEn

References:

[1] Chang Yan, et al.,
-        "Novel gridded descriptors of poincaré plot for analyzing 
-        heartbeat interval time-series." 
-        Computers in biology and medicine 
-        109 (2019): 280-289.
-
-[2] Chang Yan, et al. 
-        "Area asymmetry of heart rate variability signal." 
-        Biomedical engineering online 
-        16.1 (2017): 1-14.
-
-[3] Alberto Porta, et al.,
-        "Temporal asymmetries of short-term heart period variability 
-        are linked to autonomic regulation." 
-        American Journal of Physiology-Regulatory, Integrative and 
-        Comparative Physiology 
-        295.2 (2008): R550-R557.
-
-[4] C.K. Karmakar, A.H. Khandoker and M. Palaniswami,
-        "Phase asymmetry of heart rate variability signal." 
-        Physiological measurement 
-        36.2 (2015): 303.
source
EntropyHub._EnofEn.EnofEnFunction
EoE, AvEn, S2 = EnofEn(Sig)

Returns the entropy of entropy (EoE), the average Shannon entropy (AvEn), and the number of levels (S2) across all windows estimated from the data sequence (Sig) using the default parameters: window length (samples) = 10, slices = 10, logarithm = natural, heartbeat interval range (xmin, xmax) = (min(Sig), max(Sig))

EoE, AvEn, S2 = EnofEn(Sig::AbstractArray{T,1} where T<:Real; tau::Int=10, S::Int=10, Xrange::Tuple{Real,REal}, Logx::Real=exp(1))

Returns the entropy of entropy (EoE) estimated from the data sequence (Sig) using the specified 'keyword' arguments:

Arguments:

tau - Window length, an integer > 1

S - Number of slices (s1,s2), a two-element tuple of integers > 2

Xrange - The min and max heartbeat interval, a two-element tuple where X[1] <= X[2]

Logx - Logarithm base, a positive scalar

See also SampEn, MSEn, ApEn

References:

[1] Chang Francis Hsu, et al.,
-    "Entropy of entropy: Measurement of dynamical complexity for
-    biological systems." 
-    Entropy 
-    19.10 (2017): 550.
source
EntropyHub._AttnEn.AttnEnFunction
Av4, (Hxx,Hnn,Hxn,Hnx) = AttnEn(Sig)

Returns the attention entropy (Av4) calculated as the average of the sub-entropies (Hxx,Hxn,Hnn,Hnx) estimated from the data sequence (Sig) using a base-2 logarithm.

Av4, (Hxx, Hnn, Hxn, Hnx) = AttnEn(Sig::AbstractArray{T,1} where T<:Real; Logx::Real=2)

Returns the attention entropy (Av4) and the sub-entropies (Hxx,Hnn,Hxn,Hnx) from the data sequence (Sig) where, Hxx: entropy of local-maxima intervals Hnn: entropy of local minima intervals Hxn: entropy of intervals between local maxima and subsequent minima Hnx: entropy of intervals between local minima and subsequent maxima

Arguments:

Logx - Logarithm base, a positive scalar (Enter 0 for natural logarithm)

See also EnofEn, SpecEn, XSpecEn, PermEn, MSEn

References:

[1] Jiawei Yang, et al.,
-    "Classification of Interbeat Interval Time-series Using 
-    Attention Entropy." 
-    IEEE Transactions on Affective Computing 
-    (2020)
source
diff --git a/Guide/Bidimensional_Entropies/index.html b/Guide/Bidimensional_Entropies/index.html deleted file mode 100644 index 8b886b6..0000000 --- a/Guide/Bidimensional_Entropies/index.html +++ /dev/null @@ -1,65 +0,0 @@ - -Bidimensional Entropies · EntropyHub.jl

Bidimensional Entropies

Functions for estimating the entropy of a two-dimensional univariate matrix.

While EntropyHub functions primarily apply to time series data, with the following bidimensional entropy functions one can estimate the entropy of two-dimensional (2D) matrices. Hence, bidimensional entropy functions are useful for applications such as image analysis.

IMPORTANT: Locked Matrix Size

Each bidimensional entropy function (SampEn2D, FuzzEn2D, DistEn2D, DispEn2D, EspEn2D, PermEn2D) has an important keyword argument - Lock. Bidimensional entropy functions are "locked" by default (Lock == true) to only permit matrices with a maximum size of 128 x 128.

The reason for this is because there are hundreds of millions of pairwise calculations performed in the estimation of bidimensional entropy, so memory errors often occur when storing data on RAM.

e.g. For a matrix of size [200 x 200], an embedding dimension (m) = 3, and a time delay (tau) = 1, there are 753,049,836 pairwise matrix comparisons (6,777,448,524 elemental subtractions). To pass matrices with sizes greater than [128 x 128], set Lock = false.

CAUTION: unlocking the permitted matrix size may cause your Julia IDE to crash.

EntropyHub._SampEn2D.SampEn2DFunction
SE2D, Phi1, Phi2 = SampEn2D(Mat)

Returns the bidimensional sample entropy estimate (SE2D) and the number of matched sub-matricess (m:Phi1, m+1:Phi2) estimated for the data matrix (Mat) using the default parameters: time delay = 1, radius distance threshold = 0.2*SD(Mat), logarithm = natural matrix template size = [floor(H/10) floor(W/10)], (where H and W represent the height (rows) and width (columns) of the data matrix Mat)

** The minimum dimension size of Mat must be > 10.**

SE2D, Phi1, Phi2 = SampEn2D(Mat::AbstractArray{T,2} where T<:Real; m::Union{Int,Tuple{Int,Int}}=floor.(Int, size(Mat)./10),             
-                                tau::Int=1, r::Real=0.2*std(Mat,corrected=false), Logx::Real=exp(1), Lock::Bool=true)

Returns the bidimensional sample entropy (SE2D) estimates for the data matrix (Mat) using the specified 'keyword' arguments:

Arguments:

m - Template submatrix dimensions, an integer scalar (i.e. the same height and width) or a two-element vector of integers [height, width] with a minimum value > 1. (default: [floor(H/10) floor(W/10)])

tau - Time Delay, a positive integer (default: 1)

r - Distance Threshold, a positive scalar (default: 0.2*SD(Mat))

Logx - Logarithm base, a positive scalar (default: natural)

Lock - By default, SampEn2D only permits matrices with a maximum size of 128 x 128 to prevent memory errors when storing data on RAM. e.g. For Mat = [200 x 200], m = 3, and tau = 1, SampEn2D creates a vector of 753049836 elements. To enable matrices greater than [128 x 128] elements, set Lock to false. (default: true)

      `WARNING: unlocking the permitted matrix size may cause your Julia
-      IDE to crash.`

See also SampEn, FuzzEn2D, XSampEn, MSEn

References:

[1] Luiz Eduardo Virgili Silva, et al.,
-     "Two-dimensional sample entropy: Assessing image texture 
-     through irregularity." 
-     Biomedical Physics & Engineering Express
-     2.4 (2016): 045002.
source
EntropyHub._FuzzEn2D.FuzzEn2DFunction
Fuzz2D = FuzzEn2D(Mat)

Returns the bidimensional fuzzy entropy estimate (Fuzz2D) estimated for the data matrix (Mat) using the default parameters: time delay = 1, fuzzy function (Fx) = 'default', fuzzy function parameters (r) = [0.2, 2], logarithm = natural, template matrix size = [floor(H/10) floor(W/10)], (where H and W represent the height and width of the data matrix 'Mat')

** The minimum dimension size of Mat must be > 10.**

Fuzz2D = FuzzEn2D(Mat::AbstractArray{T,2} where T<:Real; m::Union{Int,Tuple{Int,Int}}=floor.(Int, size(Mat)./10), 
-                    tau::Int=1, r::Union{Real,Tuple{Real,Real}}=(.2*std(Mat, corrected=false),2), 
-                        Fx::String="default", Logx::Real=exp(1), Lock::Bool=true)

Returns the bidimensional fuzzy entropy (Fuzz2D) estimates for the data matrix (Mat) using the specified 'keyword' arguments:

Arguments:

m - Template submatrix dimensions, an integer scalar (i.e. the same height and width) or a two-element vector of integers [height, width] with a minimum value > 1. (default: [floor(H/10) floor(W/10)])

tau - Time Delay, a positive integer (default: 1)

Fx - Fuzzy funtion name, one of the following: {"sigmoid", "modsampen", "default", "gudermannian", "linear"}

r - Fuzzy function parameters, a 1 element scalar or a 2 element vector of positive values. The 'r' parameters for each fuzzy function are defined as follows:

      sigmoid:      r(1) = divisor of the exponential argument
-                    r(2) = value subtracted from argument (pre-division)
-      modsampen:    r(1) = divisor of the exponential argument
-                    r(2) = value subtracted from argument (pre-division)
-      default:      r(1) = divisor of the exponential argument
-                    r(2) = argument exponent (pre-division)
-      gudermannian:   r  = a scalar whose value is the numerator of
-                           argument to gudermannian function:
-                           GD(x) = atan(tanh(r/x))
-      linear:         r  = an integer value. When r = 0, the
-                           argument of the exponential function is 
-                           normalised between [0 1]. When r = 1,
-                           the minimuum value of the exponential 
-                           argument is set to 0.

Logx - Logarithm base, a positive scalar (default: natural)

Lock - By default, FuzzEn2D only permits matrices with a maximum size of 128 x 128 to prevent memory errors when storing data on RAM. e.g. For Mat = [200 x 200], m = 3, and tau = 1, FuzzEn2D creates a vector of 753049836 elements. To enable matrices greater than [128 x 128] elements, set Lock to false. (default: true)

      ` WARNING: unlocking the permitted matrix size may cause
-      your Julia IDE to crash.`

See also SampEn2D, FuzzEn, XFuzzEn

References:

[1] Luiz Fernando Segato Dos Santos, et al.,
-    "Multidimensional and fuzzy sample entropy (SampEnMF) for
-    quantifying H&E histological images of colorectal cancer."
-    Computers in biology and medicine 
-    103 (2018): 148-160.
-
-[2] Mirvana Hilal and Anne Humeau-Heurtier,
-    "Bidimensional fuzzy entropy: Principle analysis and biomedical
-    applications."
-    41st Annual International Conference of the IEEE (EMBC) Society
-    2019.
source
EntropyHub._DistEn2D.DistEn2DFunction
Dist2D = DistEn2D(Mat)

Returns the bidimensional distribution entropy estimate (Dist2D) estimated for the data matrix (Mat) using the default parameters: time delay = 1, histogram binning method = "sturges", logarithm = natural, template matrix size = [floor(H/10) floor(W/10)], (where H and W represent the height (rows) and width (columns) of the data matrix Mat)

** The minimum number of rows and columns of Mat must be > 10.**

Dist2D = DistEn2D(Mat::AbstractArray{T,2} where T<:Real; m::Union{Int,Tuple{Int,Int}}=floor.(Int, size(Mat)./10), tau::Int=1,
-                    Bins::Union{Int,String}="Sturges", Logx::Real=2, Norm::Int=2, Lock::Bool=true)

Returns the bidimensional distribution entropy (Dist2D) estimate for the data matrix (Mat) using the specified 'keyword' arguments:

Arguments:

m - Template submatrix dimensions, an integer scalar (i.e. the same height and width) or a two-element tuple of integers [height, width] with a minimum value > 1. [default: [floor(H/10) floor(W/10)]]

tau - Time Delay, a positive integer [default: 1]

Bins - Histogram bin selection method for distance distribution, an integer > 1 indicating the number of bins, or one of the following strings {"sturges", "sqrt", "rice", "doanes"`} [default: 'sturges']

Logx - Logarithm base, a positive scalar [default: natural]

      ** enter 0 for natural logarithm.**

Norm - Normalisation of Dist2D value, one of the following integers: [0] no normalisation. [1] normalises values of data matrix (Mat) to range [0 1]. [2] normalises values of data matrix (Mat) to range [0 1], and normalises the distribution entropy value (Dist2D) w.r.t the number of histogram bins. [default] [3] normalises the distribution entropy value w.r.t the number of histogram bins, without normalising data matrix values.

Lock - By default, DistEn2D only permits matrices with a maximum size of 128 x 128 to prevent memory errors when storing data on RAM. e.g. For Mat = [200 x 200], m = 3, and tau = 1, DistEn2D creates a vector of 753049836 elements. To enable matrices greater than [128 x 128] elements, set Lock to false. [default: 'true'] WARNING: unlocking the permitted matrix size may cause your Julia IDE to crash.

See also DistEn, XDistEn, SampEn2D, FuzzEn2D, MSEn

References:

[1] Hamed Azami, Javier Escudero and Anne Humeau-Heurtier,
-    "Bidimensional distribution entropy to analyze the irregularity
-    of small-sized textures."
-    IEEE Signal Processing Letters 
-    24.9 (2017): 1338-1342.
source
EntropyHub._DispEn2D.DispEn2DFunction
Disp2D, RDE = DispEn2D(Mat)

Returns the bidimensional dispersion entropy estimate (Disp2D) and reverse bidimensional dispersion entropy (RDE) estimated for the data matrix (Mat) using the default parameters: time delay = 1, symbols = 3, logarithm = natural, data transform = normalised cumulative density function ('ncdf'), logarithm = natural, template matrix size = [floor(H/10) floor(W/10)], (where H and W represent the height (rows) and width (columns) of the data matrix Mat)

** The minimum number of rows and columns of Mat must be > 10.**

Disp2D, RDE = DispEn2D(Mat::AbstractArray{T,2} where T<:Real; 
-                    m::Union{Int,Tuple{Int,Int}}=floor.(Int, size(Mat)./10), tau::Int=1,
-                        c::Int=3, Typex::String="ncdf", Logx::Real=exp(1), Norm::Bool=false, Lock::Bool=true)

Returns the bidimensional dispersion entropy (Disp2D) and reverse bidimensional distribution entropy (RDE) estimate for the data matrix (Mat) using the specified 'keyword' arguments:

Arguments:

m - Template submatrix dimensions, an integer scalar (i.e. the same height and width) or a two-element tuple of integers [height, width] with a minimum value > 1. [default: [floor(H/10) floor(W/10)]]

tau - Time Delay, a positive integer [default: 1]

c - Number of symbols, an integer > 1 Typex - Type of symbolic mapping transform, one of the following: {linear, kmeans, ncdf, equal} See the EntropyHub Guide for more info on these transforms. Logx - Logarithm base, a positive scalar [default: natural]

      ** enter 0 for natural logarithm.**

Norm - Normalisation of Disp2D value, a boolean: - [false] no normalisation - default - [true] normalises w.r.t number of possible dispersion patterns. Lock - By default, DispEn2D only permits matrices with a maximum size of 128 x 128 to prevent memory errors when storing data on RAM. e.g. For Mat = [200 x 200], m = 3, and tau = 1, DispEn2D creates a vector of 753049836 elements. To enable matrices greater than [128 x 128] elements, set Lock to false. [default: 'true'] WARNING: unlocking the permitted matrix size may cause your Julia IDE to crash.

See also DispEn, DistEn2D, SampEn2D, FuzzEn2D, MSEn

References:

[1] Hamed Azami, et al.,
-    "Two-dimensional dispersion entropy: An information-theoretic 
-    method for irregularity analysis of images."
-    Signal Processing: Image Communication, 
-    75 (2019): 178-187.
source
EntropyHub._PermEn2D.PermEn2DFunction
Perm2D = PermEn2D(Mat)

Returns the bidimensional permutation entropy estimate (Perm2D) estimated for the data matrix (Mat) using the default parameters: time delay = 1, logarithm = natural, template matrix size = floor(H/10) floor(W/10)

** The minimum dimension size of Mat must be > 10.**

Perm2D = PermEn2D(Mat::AbstractArray{T,2} where T<:Real; m::Union{Int,Tuple{Int,Int}}=floor.(Int, size(Mat)./10),             
-                                tau::Int=1, Norm::Bool=true, Logx::Real=exp(1), Lock::Bool=true)

Returns the bidimensional permutation entropy (Perm2D) estimates for the data matrix (Mat) using the specified 'keyword' arguments:

Arguments:

m - Template submatrix dimensions, an integer scalar (i.e. the same height and width) or a two-element vector of integers [height, width] with a minimum value > 1. (default: [floor(H/10) floor(W/10)])

tau - Time Delay, a positive integer (default: 1)

Norm - Normalization of permutation entropy estimate, a boolean (default: true)

Logx - Logarithm base, a positive scalar (default: natural)

Lock - By default, PermEn2D only permits matrices with a maximum size of 128 x 128 to prevent memory errors when storing data on RAM. e.g. For Mat = [200 x 200], m = 3, and tau = 1, SampEn2D creates a vector of 753049836 elements. To enable matrices greater than [128 x 128] elements, set Lock to false. (default: true)

      `WARNING: unlocking the permitted matrix size may cause your Julia
-      IDE to crash.`

NOTE - The original bidimensional permutation entropy algorithms [1][2] do not account for equal-valued elements of the embedding matrices. To overcome this, PermEn2D uses the lowest common rank for such instances. For example, given an embedding matrix A where, A = [3.4 5.5 7.3] |2.1 6 9.9| [7.3 1.1 2.1] would normally be mapped to an ordinal pattern like so, [3.4 5.5 7.3 2.1 6 9.9 7.3 1.1 2.1] => [ 8 4 9 1 2 5 3 7 6 ] However, indices 4 & 9, and 3 & 7 have the same values, 2.1 and 7.3 respectively. Instead, PermEn2D uses the ordinal pattern [ 8 4 4 1 2 5 3 3 6 ] where the lowest rank (4 & 3) are used instead (of 9 & 7). Therefore, the number of possible permutations is no longer (mxmy)!, but (mxmy)^(mxmy). Here, the PermEn2D value is normalized by the maximum Shannon entropy (Smax = log((mxmy)!) $assuming that no equal values are found in the permutation motif matrices$, as presented in [1].

See also SampEn2D, FuzzEn2D, DispEn2D, DistEn2D

References:

[1] Haroldo Ribeiro et al.,
-        "Complexity-Entropy Causality Plane as a Complexity Measure 
-        for Two-Dimensional Patterns"
-        PLoS ONE (2012), 7(8):e40689, 
-
-[2] Luciano Zunino and Haroldo Ribeiro,
-        "Discriminating image textures with the multiscale
-        two-dimensional complexity-entropy causality plane"
-        Chaos, Solitons and Fractals,  91:679-688 (2016)
-
-[3] Matthew Flood and Bernd Grimm,
-        "EntropyHub: An Open-source Toolkit for Entropic Time Series Analysis"
-        PLoS ONE (2021) 16(11): e0259448.
source
EntropyHub._EspEn2D.EspEn2DFunction
Esp2D,  = EspEn2D(Mat)

Returns the bidimensional Espinosa entropy estimate (Esp2D) estimated for the data matrix (Mat) using the default parameters: time delay = 1, tolerance threshold = 20, percentage similarity = 0.7 logarithm = natural, matrix template size = floor(H/10) floor(W/10) ** The minimum number of rows and columns of Mat must be > 10.

Esp2D = EspEn2D(Mat::AbstractArray{T,2} where T<:Real; m::Union{Int,Tuple{Int,Int}}=floor.(Int, size(Mat)./10),             
-                                tau::Int=1, r::Real=20, ps::Float=.7, Logx::Real=exp(1), Lock::Bool=true)

Returns the bidimensional Espinosa entropy (Esp2D) estimates for the data matrix (Mat) using the specified 'keyword' arguments:

Arguments:

m - Template submatrix dimensions, an integer scalar (i.e. the same height and width) or a two-element vector of integers [height, width] with a minimum value > 1. (default: [floor(H/10) floor(W/10)])

tau - Time Delay, a positive integer (default: 1)

r - Tolerance threshold, a positive scalar (default: 20)

ps - Percentage similarity, a value in range 0 1

Logx - Logarithm base, a positive scalar (default: natural)

Lock - By default, EspEn2D only permits matrices with a maximum size of 128 x 128 to prevent memory errors when storing data on RAM. e.g. For Mat = [200 x 200], m = 3, and tau = 1, EspEn2D creates a vector of 753049836 elements. To enable matrices greater than [128 x 128] elements, set Lock to false. (default: true)

      `WARNING: unlocking the permitted matrix size may cause your Julia
-      IDE to crash.`

See also SampEn2D, FuzzEn2D, DispEn2D, DistEn2D, PermEn2D

References:

[1] Ricardo Espinosa, et al.,
-    "Two-dimensional EspEn: A New Approach to Analyze Image Texture 
-    by Irregularity." 
-    Entropy,
-    23:1261 (2021)
source
diff --git a/Guide/Cross_Entropies/index.html b/Guide/Cross_Entropies/index.html deleted file mode 100644 index 69ac851..0000000 --- a/Guide/Cross_Entropies/index.html +++ /dev/null @@ -1,54 +0,0 @@ - -Cross-Entropies · EntropyHub.jl

Cross Entropies

Functions for estimating the cross-entropy between two univariate time series.

The following functions also form the cross-entropy method used by Multiscale Cross-Entropy functions.

Signals for mutliscale cross-entropy functions

For cross-entropy and multiscale cross-entropy functions, the two time series signals are passed as a two-column or two-row matrix. At present, it is not possible to pass signals of different lengths separately.

These functions are directly available when EntropyHub is imported:

julia> using EntropyHub
-julia> names(EntropyHub)
 :ApEn
- :AttnEn
- :BubbEn
-   ⋮
- :hXMSEn
- :rMSEn
- :rXMSEn
EntropyHub._XApEn.XApEnFunction
XAp, Phi = XApEn(Sig)

Returns the cross-approximate entropy estimates (XAp) and the average number of matched vectors (Phi) for m = [0,1,2], estimated for the data sequences contained in 'Sig' using the default parameters: embedding dimension = 2, time delay = 1, radius distance threshold= 0.2*SD(Sig), logarithm = natural

NOTE: XApEn is direction-dependent. Thus, the first column of Sig is used as the template data sequence, and the second column is the matching sequence.``

XAp, Phi = XApEn(Sig::AbstractArray{T,2} where T<:Real; m::Int=2, tau::Int=1, r::Real=0.2*std(Sig,corrected=false), Logx::Real=exp(1))

Returns the cross-approximate entropy estimates (XAp) between the data sequences contained in 'Sig' using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, a positive integer [default: 2]

tau - Time Delay, a positive integer [default: 1]

r - Radius Distance Threshold, a positive scalar [default: 0.2*SD(Sig)]

Logx - Logarithm base, a positive scalar [default: natural]

See also XSampEn, XFuzzEn, XMSEn, ApEn, SampEn, MSEn

References:

[1] Steven Pincus and Burton H. Singer,
-    "Randomness and degrees of irregularity." 
-    Proceedings of the National Academy of Sciences 
-    93.5 (1996): 2083-2088.
-
-[2] Steven Pincus,
-    "Assessing serial irregularity and its implications for health."
-    Annals of the New York Academy of Sciences 
-    954.1 (2001): 245-267.
source
EntropyHub._XSampEn.XSampEnFunction
XSamp, A, B = XSampEn(Sig)

Returns the cross-sample entropy estimates (XSamp) and the number of matched vectors (m:B, m+1:A) for m = [0,1,2] estimated for the two univariate data sequences contained in 'Sig' using the default parameters: embedding dimension = 2, time delay = 1, radius distance threshold= 0.2*SD(Sig), logarithm = natural

XSamp, A, B = XSampEn(Sig::AbstractArray{T,2} where T<:Real; m::Int=2, tau::Int=1, r::Real=0.2*std(Sig,corrected=false), Logx::Real=exp(1))

Returns the cross-sample entropy estimates (XSamp) for dimensions [0,1,...,m] estimated between the data sequences in Sig using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, a positive integer [default: 2]

tau - Time Delay, a positive integer [default: 1]

r - Radius Distance Threshold, a positive scalar [default: 0.2*SD(Sig)]

Logx - Logarithm base, a positive scalar [default: natural]

See also XFuzzEn, XApEn, SampEn, SampEn2D, XMSEn, ApEn

References:

[1] Joshua S Richman and J. Randall Moorman. 
-    "Physiological time-series analysis using approximate entropy
-    and sample entropy." 
-    American Journal of Physiology-Heart and Circulatory Physiology
-    (2000)
source
EntropyHub._XFuzzEn.XFuzzEnFunction
XFuzz, Ps1, Ps2 = XFuzzEn(Sig)

Returns the cross-fuzzy entropy estimates (XFuzz) and the average fuzzy distances (m:Ps1, m+1:Ps2) for m = [1,2] estimated for the data sequences contained in 'Sig', using the default parameters: embedding dimension = 2, time delay = 1, fuzzy function (Fx) = 'default', fuzzy function parameters (r) = [0.2, 2], logarithm = natural

XFuzz, Ps1, Ps2 = XFuzzEn(Sig::AbstractArray{T,2} where T<:Real; m::Int=2, tau::Int=1, r::Union{Real,Tuple{Real,Real}}=(.2,2), Fx::String="default", Logx::Real=exp(1))

Returns the cross-fuzzy entropy estimates (XFuzz) for dimensions = [1,...,m] estimated for the data sequences in Sig using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, a positive integer [default: 2]

tau - Time Delay, a positive integer [default: 1]

Fx - Fuzzy funtion name, one of the following: {default,sigmoid,modsampen,gudermannian,linear}

r - Fuzzy function parameters, a scalar or a 2 element tuple of positive values. The r parameters for each fuzzy function are defined as follows:

      sigmoid:       r(1) = divisor of the exponential argument
-                     r(2) = value subtracted from argument (pre-division)
-      modsampen:     r(1) = divisor of the exponential argument
-                     r(2) = value subtracted from argument (pre-division)
-      default:       r(1) = divisor of the exponential argument
-                     r(2) = argument exponent (pre-division)
-      gudermannian:  r    = a scalar whose value is the numerator of
-                            argument to gudermannian function:
-                            GD(x) = atan(tanh(`r`/x)).
-      linear:        r    = an integer value. When `r` = 0, the
-                            argument of the exponential function is 
-                            normalised between [0 1]. When `r` = 1,
-                            the minimuum value of the exponential 
-                            argument is set to 0.

Logx - Logarithm base, a positive scalar

For further information on the 'keyword' arguments, see the EntropyHub guide.

See also FuzzEn, XSampEn, XApEn, FuzzEn2D, XMSEn, MSEn

References:

[1] Hong-Bo Xie, et al.,
-    "Cross-fuzzy entropy: A new method to test pattern synchrony of
-    bivariate time series." 
-    Information Sciences 
-    180.9 (2010): 1715-1724.
source
EntropyHub._XK2En.XK2EnFunction
XK2, Ci = XK2En(Sig)

Returns the cross-Kolmogorov entropy estimates (XK2) and the correlation integrals (Ci) for m = [1,2] estimated between the data sequences contained in Sig using the default parameters: embedding dimension = 2, time delay = 1, distance threshold (r) = 0.2*SD(Sig), logarithm = natural

XK2, Ci = XK2En(Sig::AbstractArray{T,2} where T<:Real; m::Int=2, tau::Int=1, r::Real=0.2*std(Sig,corrected=false), Logx::Real=exp(1))

Returns the cross-Kolmogorov entropy estimates (XK2) estimated between the data sequences contained in Sig using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, a positive integer [default: 2]

tau - Time Delay, a positive integer [default: 1]

r - Radius Distance Threshold, a positive scalar [default: 0.2*SD(Sig)]

Logx - Logarithm base, a positive scalar [default: natural]

See also XSampEn, XFuzzEn, XApEn, K2En, XMSEn, XDistEn

References:

[1]  Matthew W. Flood,
-     "XK2En - EntropyHub Project"
-     (2021) https://github.com/MattWillFlood/EntropyHub
source
EntropyHub._XPermEn.XPermEnFunction
XPerm = XPermEn(Sig)

Returns the cross-permuation entropy estimates (XPerm) estimated betweeen the data sequences contained in Sig using the default parameters: embedding dimension = 3, time delay = 1, logarithm = base 2,

XPerm = XPermEn(Sig::AbstractArray{T,2} where T<:Real; m::Int=3, tau::Int=1, Logx::Real=exp(1))

Returns the permutation entropy estimates (XPerm) estimated between the data sequences contained in Sig using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, an integer > 2 [default: 3]

    **Note: XPerm is undefined for embedding dimensions < 3.**

tau - Time Delay, a positive integer [default: 1]

Logx - Logarithm base, a positive scalar [default: 2] ** enter 0 for natural log.**

See also PermEn, XApEn, XSampEn, XFuzzEn, XMSEn

References:

[1] Wenbin Shi, Pengjian Shang, and Aijing Lin,
-    "The coupling analysis of stock market indices based on 
-    cross-permutation entropy."
-    Nonlinear Dynamics
-    79.4 (2015): 2439-2447.
source
EntropyHub._XCondEn.XCondEnFunction
XCond, SEw, SEz = XCondEn(Sig)

Returns the corrected cross-conditional entropy estimates (XCond) and the corresponding Shannon entropies (m: SEw, m+1: SEz) for m = [1,2] estimated for the data sequences contained in Sig using the default parameters: embedding dimension = 2, time delay = 1, number of symbols = 6, logarithm = natural ** Note: XCondEn is direction-dependent. Therefore, the order of the data sequences in Sig matters. If the first row/column of Sig is the sequence 'y', and the second row/column is the sequence 'u', the XCond is the amount of information carried by y(i) when the pattern u(i) is found.**

XCond, SEw, SEz = XCondEn(Sig::AbstractArray{T,2} where T<:Real; m::Int=2, tau::Int=1, c::Int=6, Logx::Real=exp(1), Norm::Bool=false)

Returns the corrected cross-conditional entropy estimates (XCond) for the data sequences contained in Sig using the specified 'keyword' arguments:

Arguments:

m - Embedding Dimension, an integer > 1 [default: 2]

tau - Time Delay, a positive integer [default: 1]

c - Number of symbols, an integer > 1 [default: 6]

Logx - Logarithm base, a positive scalar [default: natural]

Norm - Normalisation of XCond values: [false] no normalisation [default]

        [true]   normalises w.r.t cross-Shannon entropy.

See also XFuzzEn, XSampEn, XApEn, XPermEn, CondEn, XMSEn

References:

[1] Alberto Porta, et al.,
-    "Conditional entropy approach for the evaluation of the 
-    coupling strength." 
-    Biological cybernetics 
-    81.2 (1999): 119-129.
source
EntropyHub._XDistEn.XDistEnFunction
XDist, Ppi = XDistEn(Sig)

Returns the cross-distribution entropy estimate (XDist) and the corresponding distribution probabilities (Ppi) estimated between the data sequences contained in Sig using the default parameters: embedding dimension = 2, time delay = 1, binning method = 'Sturges', logarithm = base 2, normalisation = w.r.t # of histogram bins

XDist, Ppi = XDistEn(Sig::AbstractArray{T,2} where T<:Real; m::Int=2, tau::Int=1, Bins::Union{Int,String}="Sturges", Logx::Real=2, Norm::Bool=true)

Returns the cross-distribution entropy estimate (XDist) estimated between the data sequences contained in Sig using the specified 'keyword' = arguments:

Arguments:

m - Embedding Dimension, a positive integer [default: 2]

tau - Time Delay, a positive integer [default: 1]

Bins - Histogram bin selection method for distance distribution, an integer > 1 indicating the number of bins, or one of the following strings {'sturges','sqrt','rice','doanes'} [default: 'sturges']

Logx - Logarithm base, a positive scalar [default: 2] ** enter 0 for natural log**

Norm - Normalisation of DistEn value: [false] no normalisation. [true] normalises w.r.t # of histogram bins [default]

See also XSampEn, XApEn, XPermEn, XCondEn, DistEn, DistEn2D, XMSEn

References:

[1] Yuanyuan Wang and Pengjian Shang,
-    "Analysis of financial stock markets through the multiscale
-    cross-distribution entropy based on the Tsallis entropy."
-    Nonlinear Dynamics 
-    94.2 (2018): 1361-1376.
source
EntropyHub._XSpecEn.XSpecEnFunction
XSpec, BandEn = XSpecEn(Sig)

Returns the cross-spectral entropy estimate (XSpec) of the full cross- spectrum and the within-band entropy (BandEn) estimated between the data sequences contained in Sig using the default parameters: N-point FFT = 2*len(Sig) + 1, normalised band edge frequencies = [0 1], logarithm = base 2, normalisation = w.r.t # of spectrum/band frequency values.

XSpec, BandEn = XSpecEn(Sig::AbstractArray{T,2} where T<:Real; N::Int=1 + (2*size(Sig,1)), Freqs::Tuple{Real,Real}=(0,1), Logx::Real=exp(1), Norm::Bool=true)

Returns the cross-spectral entropy (XSpec) and the within-band entropy (BandEn) estimate between the data sequences contained in Sig using the following specified 'keyword' arguments:

Arguments:

N - Resolution of spectrum (N-point FFT), an integer > 1

Freqs - Normalised band edge frequencies, a scalar in range [0 1] where 1 corresponds to the Nyquist frequency (Fs/2). Note: When no band frequencies are entered, BandEn == SpecEn

Logx - Logarithm base, a positive scalar [default: base 2] ** enter 0 for natural log**

Norm - Normalisation of XSpec value: [false] no normalisation. [true] normalises w.r.t # of spectrum/band frequency values [default]

For more info, see the EntropyHub guide

See also SpecEn, fft, XDistEn, periodogram, XSampEn, XApEn

References:

[1]  Matthew W. Flood,
-    "XSpecEn - EntropyHub Project"
-    (2021) https://github.com/MattWillFlood/EntropyHub
source
diff --git a/Guide/Multiscale_Cross_Entropies/index.html b/Guide/Multiscale_Cross_Entropies/index.html deleted file mode 100644 index 42350d3..0000000 --- a/Guide/Multiscale_Cross_Entropies/index.html +++ /dev/null @@ -1,144 +0,0 @@ - -Multiscale Cross-Entropies · EntropyHub.jl

Multiscale Cross-Entropies

Functions for estimating the multiscale entropy between two univariate time series.

Just as one can calculate multiscale entropy using any Base entropy, the same functionality is possible with multiscale cross-entropy using any Cross-entropy function: (XApEn, XSampEn, XK2En, XCondEn, XPermEn, XSpecEn, XDistEn, XFuzzEn).

To do so, we again use the MSobject function to pass a multiscale object (Mobj) to the multiscale cross-entropy functions.

NOTE:

Multiscale cross-entropy functions have two positional arguments:

  1. the time series signals, Sig (an Nx2 matrix),
  2. the multiscale entropy object, Mobj.
Signals for mutliscale cross-entropy functions

For cross-entropy and multiscale cross-entropy functions, the two time series signals are passed as a two-column or two-row matrix. At present, it is not possible to pass signals of different lengths separately.

EntropyHub.MSobject

The following functions use the multiscale entropy object shown above.

EntropyHub._XMSEn.XMSEnFunction
MSx, CI = XMSEn(Sig, Mobj)

Returns a vector of multiscale cross-entropy values MSx and the complexity index CI between the data sequences contained in Sig using the parameters specified by the multiscale object Mobj over 3 temporal scales with coarse- graining default.

MSx,CI = MSEn(Sig::AbstractArray{T,2} where T<:Real, Mobj::NamedTuple; 
-                 Scales::Int=3, Methodx::String="coarse", RadNew::Int=0, Plotx::Bool=false)

Returns a vector of multiscale cross-entropy values MSx and the complexity index CI of the data sequences contained in Sig using the parameters specified by the multiscale object Mobj and the following 'keyword' arguments:

Arguments:

Scales - Number of temporal scales, an integer > 1 (default: 3)

Method - Graining method, one of the following:

         {`"coarse", "modified", "imf", "timeshift"`}  [default: 'coarse'] 
-         For further info on graining procedures, see the Entropyhub guide.

RadNew - Radius rescaling method, an integer in the range [1 4]. When the entropy specified by Mobj is SampEn or ApEn, RadNew allows the radius threshold to be updated at each time scale (Xt). If a radius value is specified by Mobj (r), this becomes the rescaling coefficient, otherwise it is set to 0.2 (default). The value of RadNew specifies one of the following methods:

         [1]    Standard Deviation          - r*std(Xt) 
-
-         [2]    Variance                    - r*var(Xt) 
-
-         [3]    Mean Absolute Deviation     - r*mean_ad(Xt) 
-
-         [4]    Median Absolute Deviation   - r*med_ad(Xt)

Plotx - When Plotx == true, returns a plot of the entropy value at each time scale (i.e. the multiscale entropy curve) [default: false]

For further info on these graining procedures see the EntropyHub guide.

See also MSobject, MSEn, cXMSEn, rXMSEn, hXMSEn, XSampEn, XApEn, XFuzzEn

References:

[1] Rui Yan, Zhuo Yang, and Tao Zhang,
-    "Multiscale cross entropy: a novel algorithm for analyzing two
-    time series." 
-    5th International Conference on Natural Computation. 
-    Vol. 1, pp: 411-413 IEEE, 2009.
-
-[2] Madalena Costa, Ary Goldberger, and C-K. Peng,
-    "Multiscale entropy analysis of complex physiologic time series."
-    Physical review letters
-    89.6 (2002): 068102.
-
-[3] Vadim V. Nikulin, and Tom Brismar,
-    "Comment on “Multiscale entropy analysis of complex physiologic
-    time series”." 
-    Physical review letters 
-    92.8 (2004): 089803.
-
-[4] Madalena Costa, Ary L. Goldberger, and C-K. Peng. 
-    "Costa, Goldberger, and Peng reply." 
-    Physical Review Letters
-    92.8 (2004): 089804.
-
-[5] Antoine Jamin, et al,
-    "A novel multiscale cross-entropy method applied to navigation 
-    data acquired with a bike simulator." 
-    41st annual international conference of the IEEE EMBC
-    IEEE, 2019.
-
-[6] Antoine Jamin and Anne Humeau-Heurtier. 
-    "(Multiscale) Cross-Entropy Methods: A Review." 
-    Entropy 
-    22.1 (2020): 45.
source
EntropyHub._cXMSEn.cXMSEnFunction
MSx, CI = cXMSEn(Sig, Mobj)

Returns a vector of composite multiscale cross-entropy values (MSx) between two univariate data sequences contained in Sig using the parameters specified by the multiscale object (Mobj) using the composite multiscale method (cMSE) over 3 temporal scales.

MSx, CI = cXMSEn(Sig::AbstractArray{T,2} where T<:Real, Mobj::NamedTuple;
-                      Scales::Int=3, RadNew::Int=0, Refined::Bool=false, Plotx::Bool=false)

Returns a vector of composite multiscale cross-entropy values (MSx) between the data sequences contained in Sig using the parameters specified by the multiscale object (Mobj) and the following keyword arguments:

Arguments:

Scales - Number of temporal scales, an integer > 1 (default: 3)

RadNew - Radius rescaling method, an integer in the range [1 4]. When the entropy specified by Mobj is XSampEn or XApEn, RadNew rescales the radius threshold of the sub-sequences at each time scale (Ykj). If a radius value is specified by Mobj (r), this becomes the rescaling coefficient, otherwise it is set to 0.2 (default). The value of RadNew specifies one of the following methods:

         [1]    Standard Deviation          - r*std(Ykj)
-
-         [2]    Variance                    - r*var(Ykj)
-
-         [3]    Mean Absolute Deviation     - r*mean_ad(Ykj)
-
-         [4]    Median Absolute Deviation   - r*med_ad(Ykj,1)

Refined - Refined-composite XMSEn method. When Refined == true and the entropy function specified by Mobj is 'XSampEn', cXMSEn returns the refined-composite multiscale entropy (rcXMSEn). (default: false) Plotx - When Plotx == true, returns a plot of the entropy value at each time scale (i.e. the multiscale entropy curve) [default: false]

See also MSobject, XMSEn, rXMSEn, hXMSEn, XSampEn, XApEn, cMSEn

References:

[1] Rui Yan, Zhuo Yang, and Tao Zhang,
-    "Multiscale cross entropy: a novel algorithm for analyzing two
-    time series." 
-    5th International Conference on Natural Computation. 
-    Vol. 1, pp: 411-413 IEEE, 2009.
-
-[2] Yi Yin, Pengjian Shang, and Guochen Feng, 
-    "Modified multiscale cross-sample entropy for complex time 
-    series."
-    Applied Mathematics and Computation 
-    289 (2016): 98-110.
-
-[3] Madalena Costa, Ary Goldberger, and C-K. Peng,
-    "Multiscale entropy analysis of complex physiologic time series."
-    Physical review letters
-    89.6 (2002): 068102.
-
-[4] Antoine Jamin, et al,
-    "A novel multiscale cross-entropy method applied to navigation 
-    data acquired with a bike simulator." 
-    41st annual international conference of the IEEE EMBC
-    IEEE, 2019.
-
-[5] Antoine Jamin and Anne Humeau-Heurtier. 
-    "(Multiscale) Cross-Entropy Methods: A Review." 
-    Entropy 
-    22.1 (2020): 45.
-
-[6] Shuen-De Wu, et al.,
-    "Time series analysis using composite multiscale entropy." 
-    Entropy 
-    15.3 (2013): 1069-1084.
source
EntropyHub._rXMSEn.rXMSEnFunction
MSx, CI = rXMSEn(Sig, Mobj)

Returns a vector of refined multiscale cross-entropy values (MSx) and the complexity index (CI) between the data sequences contained in Sig using the parameters specified by the multiscale object (Mobj) and the following default parameters: Scales = 3, Butterworth LPF Order = 6, Butterworth LPF cutoff frequency at scale (T): Fc = 0.5/T. If the entropy function specified by Mobj is XSampEn or XApEn, rMSEn updates the threshold radius of the data sequences (Xt) at each scale to 0.2std(Xt) when no r value is provided by Mobj, or r.std(Xt) if r is specified.

MSx, CI = rXMSEn(Sig::AbstractArray{T,2} where T<:Real, Mobj::NamedTuple; Scales::Int=3, 
-                        F_Order::Int=6, F_Num::Float64=0.5, RadNew::Int=0, Plotx::Bool=false)

Returns a vector of refined multiscale cross-entropy values (MSx) and the complexity index (CI) between the data sequences contained in Sig using the parameters specified by the multiscale object (Mobj) and the following keyword arguments:

Arguments:

Scales - Number of temporal scales, an integer > 1 (default: 3)

F_Order - Butterworth low-pass filter order, a positive integer (default: 6)

F_Num - Numerator of Butterworth low-pass filter cutoff frequency, a scalar value in range [0 < F_Num < 1]. The cutoff frequency at each scale (T) becomes: Fc = F_Num/T. (default: 0.5)

RadNew - Radius rescaling method, an integer in the range [1 4]. When the entropy specified by Mobj is XSampEn or XApEn, RadNew allows the radius threshold to be updated at each time scale (Xt). If a radius value is specified by Mobj (r), this becomes the rescaling coefficient, otherwise it is set to 0.2 (default). The value of RadNew specifies one of the following methods:

         [1]    Standard Deviation          - r*std(Xt)  (default)  
-
-         [2]    Variance                    - r*var(Xt)  
-
-         [3]    Mean Absolute Deviation     - r*mean_ad(Xt)  
-
-         [4]    Median Absolute Deviation   - r*med_ad(Xt,1)

Plotx - When Plotx == true, returns a plot of the entropy value at each time scale (i.e. the multiscale entropy curve) [default = false]

See also MSobject, XMSEn, cXMSEn, hXMSEn, XSampEn, XApEn, MSEn

References:

[1]   Matthew W. Flood,
-    "rXMSEn - EntropyHub Project"
-    2021, https://github.com/MattWillFlood/EntropyHub
-
-[2]   Rui Yan, Zhuo Yang, and Tao Zhang,
-    "Multiscale cross entropy: a novel algorithm for analyzing two
-    time series." 
-    5th International Conference on Natural Computation. 
-    Vol. 1, pp: 411-413 IEEE, 2009.
-
-[3] José Fernando Valencia, et al.,
-    "Refined multiscale entropy: Application to 24-h holter 
-    recordings of heart period variability in healthy and aortic 
-    stenosis subjects." 
-    IEEE Transactions on Biomedical Engineering 
-    56.9 (2009): 2202-2213.
-
-[4] Puneeta Marwaha and Ramesh Kumar Sunkaria,
-    "Optimal selection of threshold value ‘r’for refined multiscale
-    entropy." 
-    Cardiovascular engineering and technology 
-    6.4 (2015): 557-576.
-
-[5] Yi Yin, Pengjian Shang, and Guochen Feng, 
-    "Modified multiscale cross-sample entropy for complex time 
-    series."
-    Applied Mathematics and Computation 
-    289 (2016): 98-110.
-
-[6] Antoine Jamin, et al,
-    "A novel multiscale cross-entropy method applied to navigation 
-    data acquired with a bike simulator." 
-    41st annual international conference of the IEEE EMBC
-    IEEE, 2019.
-
-[7] Antoine Jamin and Anne Humeau-Heurtier. 
-    "(Multiscale) Cross-Entropy Methods: A Review." 
-    Entropy 
-    22.1 (2020): 45.
source
EntropyHub._hXMSEn.hXMSEnFunction
MSx, Sn, CI = hXMSEn(Sig, Mobj)

Returns a vector of cross-entropy values (MSx) calculated at each node in the hierarchical tree, the average cross-entropy value across all nodes at each scale (Sn), and the complexity index (CI) of the hierarchical tree (i.e. sum(Sn)) between the data sequences contained in Sig using the parameters specified by the multiscale object (Mobj) over 3 temporal scales (default). The entropy values in MSx are ordered from the root node (S.00) to the Nth subnode at scale T (S.TN): i.e. S.00, S.10, S.11, S.20, S.21, S.22, S.23, S.30, S.31, S.32, S.33, S.34, S.35, S.36, S.37, S.40, ... , S.TN. The average cross-entropy values in Sn are ordered in the same way, with the value of the root node given first: i.e. S0, S1, S2, ..., ST

MSx, Sn, CI = hXMSEn(Sig::AbstractArray{T,2} where T<:Real, Mobj::NamedTuple; 
-                         Scales::Int=3, RadNew::Int=0, Plotx::Bool=false)

Returns a vector of cross-entropy values (MSx) calculated at each node in the hierarchical tree, the average cross-entropy value across all nodes at each scale (Sn), and the complexity index (CI) of the entire hierarchical tree between the data sequences contained in Sig using the following name/value pair arguments:

Arguments:

Scales - Number of temporal scales, an integer > 1 (default: 3) At each scale (T), entropy is estimated for 2^(T-1) nodes.

RadNew - Radius rescaling method, an integer in the range [1 4]. When the entropy specified by Mobj is XSampEn or XApEn, RadNew allows the radius threshold to be updated at each node in the tree. If a radius value is specified by Mobj (r), this becomes the rescaling coefficient, otherwise it is set to 0.2 (default). The value of RadNew specifies one of the following methods:

         [1]    Standard Deviation          - r*std(Xt) 
-
-         [2]    Variance                    - r*var(Xt) 
-
-         [3]    Mean Absolute Deviation     - r*mean_ad(Xt) 
-
-         [4]    Median Absolute Deviation   - r*med_ad(Xt,1)

Plotx - When Plotx == true, returns a plot of the average cross-entropy value at each time scale (i.e. the multiscale entropy curve) and a hierarchical graph showing the entropy value of each node in the hierarchical tree decomposition. (default: false)

See also MSobject, XMSEn, rXMSEn, cXMSEn, XSampEn, XApEn, hMSEn

References:

[1]   Matthew W. Flood,
-    "hXMSEn - EntropyHub Project"
-    2021, https://github.com/MattWillFlood/EntropyHub
-
-[2]   Rui Yan, Zhuo Yang, and Tao Zhang,
-    "Multiscale cross entropy: a novel algorithm for analyzing two
-    time series." 
-    5th International Conference on Natural Computation. 
-    Vol. 1, pp: 411-413 IEEE, 2009.
-
-[3] Ying Jiang, C-K. Peng and Yuesheng Xu,
-    "Hierarchical entropy analysis for biological signals."
-    Journal of Computational and Applied Mathematics
-    236.5 (2011): 728-742.
source
diff --git a/Guide/Multiscale_Entropies/index.html b/Guide/Multiscale_Entropies/index.html deleted file mode 100644 index a762f8d..0000000 --- a/Guide/Multiscale_Entropies/index.html +++ /dev/null @@ -1,193 +0,0 @@ - -Multiscale Entropies · EntropyHub.jl

Multiscale Entropies

Functions for estimating the multiscale entropy between of a univariate time series.

Multiscale entropy can be calculated using any of the Base entropies: (ApEn, AttnEn, BubbEn, CondEn, CoSiEn, DistEn, DispEn, EnofEn, FuzzEn, GridEn, IncrEn, K2En, PermEn, PhasEn, SampEn, SlopEn, SpecEn, SyDyEn).

NOTE:

Multiscale cross-entropy functions have two positional arguments:

  1. the time series signal, Sig (a vector > 10 elements),
  2. the multiscale entropy object, Mobj.
EntropyHub._MSobject.MSobjectFunction
Mobj = MSobject()

Returns a multiscale entropy object (Mobj) based on that originally proposed by Costa et. al. (2002) using the following default parameters: EnType = SampEn(), embedding dimension = 2, time delay = 1, radius = 0.2*SD(Sig), logarithm = natural

Mobj = MSobject(EnType::Function)

Returns a multiscale entropy object by passing the entropy function (EnType) and the specifying default parameters for that entropy function. To see the default parameters for a particular entropy method, type: ? EntropyHub.EnType

(e.g. ? EntropyHub.SampEn)

Mobj = MSobject(EnType::Function; kwargs...)

Returns a multiscale entropy object using the specified entropy method (EnType) and the 'keyword' parameters for that particular method. To see the default parameters for a particular entropy method, type: ? EntropyHub.EnType (e.g. ? EntropyHub.SampEn)

EnType can be any of the following entropy functions:

Base Entropies:

-----------------
-`ApEn`      - Approximate Entropy  
-
-`SampEn`    - Sample Entropy   
-
-`FuzzEn`    - Fuzzy Entropy    
-
-`K2En`      - Kolmogorov Entropy   
-
-`PermEn`    - Permutation Entropy	 
-
-`CondEn`    - Conditional Entropy	   
-
-`DistEn`    - Distribution Entropy	    
-
-`DispEn`    - Dispersion Entropy	    
-
-`SpecEn`    - Spectral Entropy   
-
-`SyDyEn`    - Symbolic Dynamic Entropy	  
-
-`IncrEn`    - Increment Entropy	    
-
-`CoSiEn`    - Cosine Similarity Entropy	
-
-`PhasEn`    - Phase Entropy	    
-
-`SlopEn`    - Slope Entropy       
-
-`BubbEn`    - Bubble Entropy   
-
-`GridEn`    - Gridded Distribution Entropy  
-
-`EnofEn`    - Entropy of Entropy	
-
-`AttnEn`    - Attention Entropy

Cross Entropies:

------------------
-`XApEn`     - Cross-Approximate Entropy    
-
-`XSampEn`   - Cross-Sample Entropy  
-
-`XFuzzEn`   - Cross-Fuzzy Entropy   
-
-`XK2En`     - Cross-Kolmogorov Entropy  
-
-`XPermEn`   - Cross-Permutation Entropy   
-
-`XCondEn`   - Cross-Conditional Entropy    
-
-`XDistEn`   - Cross-Distribution Entropy    
-
-`XSpecEn`   - Cross-Spectral Entropy

See also MSEn, XMSEn, rMSEn, cMSEn, hMSEn, rXMSEn, cXMSEn, hXMSEn

source

The following functions use the multiscale entropy object shown above.

EntropyHub._MSEn.MSEnFunction
 MSx, CI = MSEn(Sig, Mobj)

Returns a vector of multiscale entropy values MSx and the complexity index CI of the data sequence Sig using the parameters specified by the multiscale object Mobj over 3 temporal scales with coarse- graining (default).

 MSx, CI = MSEn(Sig::AbstractArray{T,1} where T<:Real, Mobj::NamedTuple; Scales::Int=3, 
-                      Methodx::String="coarse", RadNew::Int=0, Plotx::Bool=false)

Returns a vector of multiscale entropy values MSx and the complexity index CI of the data sequence Sig using the parameters specified by the multiscale object Mobj and the following 'keyword' arguments:

Arguments:

Scales - Number of temporal scales, an integer > 1 (default: 3)

Method - Graining method, one of the following: {coarse,modified,imf,timeshift} [default = coarse] For further info on these graining procedures, see the EntropyHub guide.

RadNew - Radius rescaling method, an integer in the range [1 4]. When the entropy specified by Mobj is SampEn or ApEn, RadNew allows the radius threshold to be updated at each time scale (Xt). If a radius value is specified by Mobj (r), this becomes the rescaling coefficient, otherwise it is set to 0.2 (default). The value of RadNew specifies one of the following methods:

          [1]    Standard Deviation          - r*std(Xt)
-
-          [2]    Variance                    - r*var(Xt) 
-
-          [3]    Mean Absolute Deviation     - r*mean_ad(Xt) 
-
-          [4]    Median Absolute Deviation   - r*med_ad(Xt)

Plotx - When Plotx == true, returns a plot of the entropy value at each time scale (i.e. the multiscale entropy curve) [default: false]

For further info on these graining procedures see the EntropyHub guide.

See also MSobject, rMSEn, cMSEn, hMSEn, SampEn, ApEn, XMSEn

References:

 [1] Madalena Costa, Ary Goldberger, and C-K. Peng,
-         "Multiscale entropy analysis of complex physiologic time series."
-         Physical review letters
-         89.6 (2002): 068102.
-
- [2] Vadim V. Nikulin, and Tom Brismar,
-         "Comment on “Multiscale entropy analysis of complex physiologic
-         time series”." 
-         Physical review letters 
-         92.8 (2004): 089803.
-
- [3] Madalena Costa, Ary L. Goldberger, and C-K. Peng. 
-         "Costa, Goldberger, and Peng reply." 
-         Physical Review Letters
-         92.8 (2004): 089804.
-
- [4] Madalena Costa, Ary L. Goldberger and C-K. Peng,
-         "Multiscale entropy analysis of biological signals." 
-         Physical review E 
-         71.2 (2005): 021906.
-
- [5] Ranjit A. Thuraisingham and Georg A. Gottwald,
-         "On multiscale entropy analysis for physiological data."
-         Physica A: Statistical Mechanics and its Applications
-         366 (2006): 323-332.
-
- [6] Meng Hu and Hualou Liang,
-         "Intrinsic mode entropy based on multivariate empirical mode
-         decomposition and its application to neural data analysis." 
-         Cognitive neurodynamics
-         5.3 (2011): 277-284.
-
- [7] Anne Humeau-Heurtier 
-         "The multiscale entropy algorithm and its variants: A review." 
-         Entropy 
-         17.5 (2015): 3110-3123.
-
- [8] Jianbo Gao, et al.,
-         "Multiscale entropy analysis of biological signals: a 
-         fundamental bi-scaling law." 
-         Frontiers in computational neuroscience 
-         9 (2015): 64.
-
- [9]  Paolo Castiglioni, et al.,
-         "Multiscale Sample Entropy of cardiovascular signals: Does the
-         choice between fixed-or varying-tolerance among scales 
-         influence its evaluation and interpretation?." 
-         Entropy
-         19.11 (2017): 590.
-
- [10] Tuan D Pham,
-         "Time-shift multiscale entropy analysis of physiological signals." 
-         Entropy 
-         19.6 (2017): 257.
-
- [11] Hamed Azami and Javier Escudero,
-         "Coarse-graining approaches in univariate multiscale sample 
-         and dispersion entropy." 
-         Entropy 20.2 (2018): 138.
source
EntropyHub._cMSEn.cMSEnFunction
MSx, CI = cMSEn(Sig, Mobj)

Returns a vector of composite multiscale entropy values (MSx) for the data sequence (Sig) using the parameters specified by the multiscale object (Mobj) using the composite multiscale entropy method over 3 temporal scales.

MSx, CI = cMSEn(Sig::AbstractArray{T,1} where T<:Real, Mobj::NamedTuple;  
-                    Scales::Int=3, RadNew::Int=0, Refined::Bool=false, Plotx::Bool=false)

Returns a vector of composite multiscale entropy values (MSx) of the data sequence (Sig) using the parameters specified by the multiscale object (Mobj) and the following 'keyword' arguments:

Arguments:

Scales - Number of temporal scales, an integer > 1 (default: 3)

RadNew - Radius rescaling method, an integer in the range [1 4]. When the entropy specified by Mobj is SampEn or ApEn, RadNew allows the radius threshold to be updated at each time scale (Xt). If a radius value is specified by Mobj (r), this becomes the rescaling coefficient, otherwise it is set to 0.2 (default). The value of RadNew specifies one of the following methods:

         [1]    Standard Deviation          - r*std(Xt)
-
-         [2]    Variance                    - r*var(Xt) 
-
-         [3]    Mean Absolute Deviation     - r*mean_ad(Xt) 
-
-         [4]    Median Absolute Deviation   - r*med_ad(Xt)

Refined - Refined-composite MSEn method. When Refined == true and the entropy function specified by Mobj is SampEn, cMSEn returns the refined-composite multiscale entropy (rcMSEn) [default: false]

Plotx - When Plotx == true, returns a plot of the entropy value at each time scale (i.e. the multiscale entropy curve) [default: false]

See also MSobject, rMSEn, MSEn, hMSEn, SampEn, ApEn, XMSEn

References:

[1] Madalena Costa, Ary Goldberger, and C-K. Peng,
-    "Multiscale entropy analysis of complex physiologic time series."
-    Physical review letters
-    89.6 (2002): 068102.
-
-[2] Vadim V. Nikulin, and Tom Brismar,
-    "Comment on “Multiscale entropy analysis of complex physiologic
-    time series”." 
-    Physical review letters 
-    92.8 (2004): 089803.
-
-[3] Madalena Costa, Ary L. Goldberger, and C-K. Peng. 
-    "Costa, Goldberger, and Peng reply." 
-    Physical Review Letters
-    92.8 (2004): 089804.
-
- [4] Shuen-De Wu, et al.,
-    "Time series analysis using composite multiscale entropy." 
-    Entropy 
-    15.3 (2013): 1069-1084.
-
-[5] Shuen-De Wu, et al.,
-    "Analysis of complex time series using refined composite 
-    multiscale entropy." 
-    Physics Letters A 
-    378.20 (2014): 1369-1374.
source
EntropyHub._rMSEn.rMSEnFunction
MSx, CI = rMSEn(Sig, Mobj)

Returns a vector of refined multiscale entropy values (MSx) and the complexity index (CI) of the data sequence (Sig) using the parameters specified by the multiscale object (Mobj) and the following default parameters: Scales = 3, Butterworth LPF Order = 6, Butterworth LPF cutoff frequency at scale (T): Fc = 0.5/T. If the entropy function specified by Mobj is SampEn or ApEn, rMSEn updates the threshold radius of the data sequence (Xt) at each scale to 0.2std(Xt) if no r value is provided by Mobj, or r.std(Xt) if r is specified.

MSx, CI = rMSEn(Sig::AbstractArray{T,1} where T<:Real, Mobj::NamedTuple; Scales::Int=3, 
-                    F_Order::Int=6, F_Num::Float64=0.5, RadNew::Int=0, Plotx::Bool=false)

Returns a vector of refined multiscale entropy values (MSx) and the complexity index (CI) of the data sequence (Sig) using the parameters specified by the multiscale object (Mobj) and the following 'keyword' arguments:

Arguments:

Scales - Number of temporal scales, an integer > 1 (default = 3)

F_Order - Butterworth low-pass filter order, a positive integer (default: 6)

F_Num - Numerator of Butterworth low-pass filter cutoff frequency, a scalar value in range [0 < F_Num < 1]. The cutoff frequency at each scale (T) becomes: Fc = `F_Num/T. (default: 0.5)

RadNew - Radius rescaling method, an integer in the range [1 4]. When the entropy specified by Mobj is SampEn or ApEn, RadNew allows the radius threshold to be updated at each time scale (Xt). If a radius value is specified by Mobj (r), this becomes the rescaling coefficient, otherwise it is set to 0.2 (default). The value of RadNew specifies one of the following methods:

         [1]    Standard Deviation          - r*std(Xt)
-
-         [2]    Variance                    - r*var(Xt) 
-
-         [3]    Mean Absolute Deviation     - r*mean_ad(Xt) 
-
-         [4]    Median Absolute Deviation   - r*med_ad(Xt)

Plotx - When Plotx == true, returns a plot of the entropy value at each time scale (i.e. the multiscale entropy curve) [default: false]

See also MSobject, MSEn, cMSEn, hMSEn, SampEn, ApEn, XMSEn

References:

[1] Madalena Costa, Ary Goldberger, and C-K. Peng,
-    "Multiscale entropy analysis of complex physiologic time series."
-    Physical review letters
-    89.6 (2002): 068102.
-
-[2] Vadim V. Nikulin, and Tom Brismar,
-    "Comment on “Multiscale entropy analysis of complex physiologic
-    time series”." 
-    Physical review letters 
-    92.8 (2004): 089803.
-
-[3] Madalena Costa, Ary L. Goldberger, and C-K. Peng. 
-    "Costa, Goldberger, and Peng reply." 
-    Physical Review Letters
-    92.8 (2004): 089804.
-
-[4] José Fernando Valencia, et al.,
-    "Refined multiscale entropy: Application to 24-h holter 
-    recordings of heart period variability in healthy and aortic 
-    stenosis subjects." 
-    IEEE Transactions on Biomedical Engineering 
-    56.9 (2009): 2202-2213.
-
-[5] Puneeta Marwaha and Ramesh Kumar Sunkaria,
-    "Optimal selection of threshold value ‘r’for refined multiscale
-    entropy." 
-    Cardiovascular engineering and technology 
-    6.4 (2015): 557-576.
source
EntropyHub._hMSEn.hMSEnFunction
MSx, Sn, CI = hMSEn(Sig, Mobj)

Returns a vector of entropy values (MSx) calculated at each node in the hierarchical tree, the average entropy value across all nodes at each scale (Sn), and the complexity index (CI) of the hierarchical tree (i.e. sum(Sn)) for the data sequence (Sig) using the parameters specified by the multiscale object (Mobj) over 3 temporal scales (default). The entropy values in MSx are ordered from the root node (S.00) to the Nth subnode at scale T (S.TN): i.e. S.00, S.10, S.11, S.20, S.21, S.22, S.23, S.30, S.31, S.32, S.33, S.34, S.35, S.36, S.37, S.40, ... , S.TN. The average entropy values in Sn are ordered in the same way, with the value of the root node given first: i.e. S0, S1, S2, ..., ST

MSx, Sn, CI = hMSEn(Sig::AbstractArray{T,1} where T<:Real, Mobj::NamedTuple; 
-                        Scales::Int=3, RadNew::Int=0, Plotx::Bool=false)

Returns a vector of entropy values (MSx) calculated at each node in the hierarchical tree, the average entropy value across all nodes at each scale (Sn), and the complexity index (CI) of the entire hierarchical tree for the data sequence (Sig) using the following 'keyword' arguments:

Arguments:

Scales - Number of temporal scales, an integer > 1 (default: 3) At each scale (T), entropy is estimated for 2^(T-1) nodes.

RadNew - Radius rescaling method, an integer in the range [1 4]. When the entropy specified by Mobj is SampEn or ApEn, RadNew allows the radius threshold to be updated at each node in the tree. If a radius value is specified by Mobj (r), this becomes the rescaling coefficient, otherwise it is set to 0.2 (default). The value of RadNew specifies one of the following methods:

         [1]    Standard Deviation          - r*std(Xt)
-
-         [2]    Variance                    - r*var(Xt)
-
-         [3]    Mean Absolute Deviation     - r*mean_ad(Xt)
-
-         [4]    Median Absolute Deviation   - r*med_ad(Xt,1)

Plotx - When Plotx == true, returns a plot of the average entropy value at each time scale (i.e. the multiscale entropy curve) and a hierarchical graph showing the entropy value of each node in the hierarchical tree decomposition. (default: false)

See also MSobject, MSEn, cMSEn, rMSEn, SampEn, ApEn, XMSEn

References:

[1] Ying Jiang, C-K. Peng and Yuesheng Xu,
-    "Hierarchical entropy analysis for biological signals."
-    Journal of Computational and Applied Mathematics
-    236.5 (2011): 728-742.
source