Multivariate Multiscale Entropies
Functions for estimating the Multivariate multiscale entropy of a multivariate time series dataset.
Just as one can calculate multiscale entropy using any Base or Cross- entropy, the same functionality is possible with multivariate multiscale entropy using any Multivariate function: MvSampEn
, MvFuzzEn
, MvDispEn
, MvPermEn
, MvCoSiEn
.
To do so, we again use the MSobject
function to pass a multiscale object (Mobj
) to the multivariate multiscale entropy functions.
Multivariate multiscale entropy functions have two positional arguments:
- the multivariate dataset,
Data
(an NxM matrix of N observations (>10 elements), and M time series (>1)), - the multiscale entropy object,
Mobj
-> seeMSobject
EntropyHub._MvMSEn.MvMSEn
— FunctionMSx, CI = MvMSEn(Data, Mobj)
Returns a vector of multivariate multiscale entropy values (MSx
) and the complexity index (CI
) of the data sequences in Data
using the parameters specified by the multiscale object (Mobj
) over 3 temporal scales with coarse- graining (default).
By default, the MvSampEn
and MvFuzzEn
multivariate entropy algorithms estimate entropy values using the "full" method by comparing delay vectors across all possible m+1
expansions of the embedding space as applied in [1]. These methods are not lower-bounded to 0, like most entropy algorithms, so MvMSEn
may return negative entropy values if the base multivariate entropy function is MvSampEn
and MvFuzzEn
, even for stochastic processes...
MSx, CI = MSEn(Data::AbstractArray{T,2} where T<:Real, Mobj::NamedTuple; Scales::Int=3, Methodx::String="coarse", Plotx::Bool=false)
Returns a vector of multivariate multiscale entropy values (MSx
) and the complexity index (CI
) of the data sequences in Data
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`,`generalized`} [default = `coarse`]
For further info on these graining procedures, see the EntropyHub guide.
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
, cMvMSEn
, MvFuzzEn
, MvSampEn
, MvPermEn
, MvCoSiEn
, MvDispEn
References:
[1] Ahmed Mosabber Uddin, Danilo P. Mandic
"Multivariate multiscale entropy analysis."
IEEE signal processing letters 19.2 (2011): 91-94.
[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] Madalena Costa, Ary L. Goldberger and C-K. Peng,
"Multiscale entropy analysis of biological signals."
Physical review E
71.2 (2005): 021906.
[6] 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.
[7] Ahmed Mosabber Uddin, Danilo P. Mandic
"Multivariate multiscale entropy: A tool for complexity
analysis of multichannel data."
Physical Review E 84.6 (2011): 061918.
EntropyHub._cMvMSEn.cMvMSEn
— FunctionMSx, CI = cMvMSEn(Data, Mobj)
Returns a vector of composite multivariate multiscale entropy values (MSx
) and the complexity index (CI
) of the data sequences in Data
using the parameters specified by the multiscale object (Mobj
) over 3 temporal scales with coarse-graining (default).
By default, the MvSampEn
and MvFuzzEn
multivariate entropy algorithms estimate entropy values using the "full" method by comparing delay vectors across all possible m+1
expansions of the embedding space as applied in [1]. These methods are not lower-bounded to 0, like most entropy algorithms, so MvMSEn
may return negative entropy values if the base multivariate entropy function is MvSampEn
and MvFuzzEn
, even for stochastic processes...
MSx, CI = cMvMSEn(Data, Mobj, Refined = True)
Returns a vector of refined-composite multiscale entropy values (MSx
) for the data sequences in (Data
) using the parameters specified by the multiscale object (Mobj
) using the refined-composite multivariate multiscale entropy method (rcMSE) over 3 temporal scales. When Refined == true
, the base entropy method must be MvSampEn
or MvFuzzEn
. If the entropy method is MvSampEn
, cMvMSEn employs the method described in [1]. If the entropy method is MvFuzzEn
, cMvMSEn employs the method described in [5].
MSx, CI = cMVMSEn(Data::AbstractArray{T,2} where T<:Real, Mobj::NamedTuple; Scales::Int=3, Refined::Bool="false", Plotx::Bool=false)
Returns a vector of multivariate multiscale entropy values (MSx
) and the complexity index (CI
) of the data sequences in Data
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)
Refined
- Refined-composite MvMSEn method. When Refined == True
and the entropy function specified by Mobj
is MvSampEn
or MvFuzzEn
, cMvMSEn
returns the refined-composite multivariate 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 MvMSEn
, MSobject
, MvFuzzEn
, MvSampEn
, MvPermEn
, MvCoSiEn
, MvDispEn
References:
[1] Shuen-De Wu, et al.,
"Time series analysis using composite multiscale entropy."
Entropy
15.3 (2013): 1069-1084.
[2] Shuen-De Wu, et al.,
"Analysis of complex time series using refined composite
multiscale entropy."
Physics Letters A
378.20 (2014): 1369-1374.
[3] Ahmed Mosabber Uddin, Danilo P. Mandic
"Multivariate multiscale entropy: A tool for complexity
analysis of multichannel data."
Physical Review E 84.6 (2011): 061918.
[4] Ahmed Mosabber Uddin, Danilo P. Mandic
"Multivariate multiscale entropy analysis."
IEEE signal processing letters 19.2 (2011): 91-94.
[5] Azami, Alberto Fernández, Javier Escudero.
"Refined multiscale fuzzy entropy based on standard deviation for
biomedical signal analysis."
Medical & biological engineering & computing 55 (2017): 2037-2052.