Computes the dispersion entropy (DispEn) of a one-dimensional signal
(Rostaghi & Azami, 2016) – a fast, robust symbolic-dynamics complexity
measure. Unlike the amplitude-histogram entropies (renyiEntropy,
tsallisEntropy) and the ordinal permutation entropy, DispEn maps
the signal to c amplitude classes through the normal cumulative
distribution function (NCDF), forms embedding vectors of length
dimension (the dispersion patterns), and takes the Shannon
entropy of the pattern distribution, normalized by \(\ln(c^{m})\). The NCDF
mapping makes it insensitive to outliers and much cheaper than sample entropy,
with no threshold-crossing boundary effects. Set reverse = TRUE to
return the reverse dispersion entropy (RDEn), the mean-square deviation of the
pattern distribution from uniformity (larger = more regular / less complex).
Arguments
- x
A numeric vector (the time series).
- c
Number of amplitude classes / symbols (default 6; Rostaghi & Azami recommend 4–8).
- dimension
Embedding dimension \(m\) of the dispersion patterns (default 3).
- delay
Time delay (lag) in samples (default 1).
- reverse
If
TRUE, return the reverse dispersion entropy (RDEn) instead of DispEn (defaultFALSE).
Value
A single numeric value: the dispersion entropy (or, if
reverse = TRUE, the reverse dispersion entropy).
Details
This implementation reproduces NeuroKit2's entropy_dispersion
bit-for-bit, including its normalization convention (a base-2 Shannon term
divided by the natural-log \(\ln(c^{m})\), so DispEn ranges in
\([0, 1/\ln 2]\)).
References
Rostaghi, M., & Azami, H. (2016). "Dispersion entropy: A measure for time-series analysis." IEEE Signal Processing Letters, 23(5), 610–614. doi:10.1109/LSP.2016.2542881