Example 11: Multivariate Dispersion Entropy
Import a vector of 4096 uniformly distributed random integers in range [1 8] and convert it to a multivariate set of 4 sequences with 1024 samples each.
X = ExampleData("randintegers");
Data = reshape(X, 1024, 4);1024×4 Matrix{Float64}:
7.0 6.0 5.0 8.0
1.0 2.0 5.0 3.0
6.0 5.0 4.0 6.0
6.0 7.0 3.0 3.0
1.0 7.0 7.0 8.0
8.0 3.0 7.0 3.0
5.0 7.0 3.0 8.0
2.0 1.0 2.0 3.0
5.0 1.0 3.0 7.0
6.0 7.0 2.0 6.0
⋮
7.0 4.0 2.0 7.0
8.0 1.0 2.0 1.0
1.0 2.0 8.0 1.0
2.0 5.0 3.0 8.0
1.0 4.0 1.0 3.0
5.0 7.0 6.0 1.0
4.0 7.0 4.0 5.0
1.0 5.0 6.0 8.0
7.0 5.0 1.0 8.0Calculate the multivariate dispersion entropy and reverse dispersion entropy for embedding dimensions (m) = [1,1,2,3], using a 7-symbol transform.
MDisp, RDE = MvDispEn(Data, m = [1,1,2,3], c = 7);6.9227345087229530.0009856206548534644Perform the same calculation but normalize the output entropy estimate w.r.t the number of unique dispersion patterns
MDisp, RDE = MvDispEn(Data, m = [1,1,2,3], c = 7, Norm = true);0.50822596981408520.0009856218516602513Compare the results above ($Methodx == 'v1'$) with those obtained using the mvDE method ($Methodx=='v2'$), returning estimates for each value from 1, ..., max(m)
MDisp, RDE = MvDispEn(Data, m = [1,1,2,3], c = 7, Norm = true, Methodx = "v2")3-element Vector{Float64}:
0.9543959541913541
0.9407485371546896
0.93012333969668863-element Vector{Float64}:
0.026759488075314832
0.008053236671745904
0.0020161358982542705