Example 12: [Generalized] Refined-composite Multivariate Multiscale Fuzzy Entropy

Import the x, y, and z components of the Lorenz system of equations.

Data = ExampleData('lorenz');

figure('Color', 'k')
plot3(Data(:,1), Data(:,2), Data(:,3), 'g.')
view(-10,10), set(gca,'color','k'), axis square

Create a multiscale entropy object with the following parameters: EnType = MvFuzzEn(), fuzzy membership function = ‘constgaussian’, fuzzy function parameter = 1.75, normalized data to unit variance = true.

Mobj = MSobject('MvFuzzEn', 'Fx', 'constgaussian', 'r', 1.75, 'Norm', true)

Calculate the generalized refined-composite multivariate multiscale fuzzy entropy over 5 scales and plotting the output.


When the multivariate entropy method is multivariate fuzzy entropy (MvFuzzEn), cMvMSEn by default employs a generalized graining procedure with the standard deviation (not the variance like in MvMSEn). This follows the method presented in [1].

[1] Azami, Fernández and Escudero. ” Refined multiscale fuzzy entropy based on standard deviation for biomedical signal analysis ” Medical & biological engineering & computing 55 (2017): 2037-2052


As with conventional generalized multiscale entropy, the multiscale entropy value for the first scale will always == 0, as the variance or standard deviation of a singular value is 0!

[MSx, CI] = cMvMSEn(Data, Mobj, 'Scales', 5, 'Refined', true, 'Plotx', true)

>>> MSx =
    0,  0.00796833,  0.00926765,  0.01193731,  0.01686631

>>> RDE =