spkit.entropy_permutation¶
- spkit.entropy_permutation(x, order=3, delay=1, base=2, normalize=False)¶
Permutation Entropy \(H_{\pi}(X)\)
Permutation Entropy extracts the patterns as order of embeddings, and compute the entropy of the distribuation of the patterns.
The order of embeddings is the sorting order. For example, pattern of embedding e1 = [1,2,-2], is same as pattern of embedding e2 = [1,20,-5].
- Parameters:
- x1d-array, shape (n,)
input signal
- orderint, default=3
Embedding dimension (order).
- delayint, default=1
Delay.
- base: scalar>0, deafult=2
base of log, 2, 10, ‘e’
- normalize: bool, default=False
if True, Hx is normalised
- Returns:
- H_pi: scalar,
Permutation Entropy
See also
entropyEntropy
entropy_sampleSample Entropy
entropy_approxApproximate Entropy
dispersion_entropyDispersion Entropy
entropy_spectralSpectral Entropy
entropy_svdSVD Entropy
entropy_differentialDifferential Entropy
References
Bandt, Christoph, and Bernd Pompe. “Permutation entropy: a natural complexity measure for time series.” Physical review letters 88.17 (2002): 174102.
Examples
>>> import numpy as np >>> import spkit as sp >>> t = np.linspace(0,2,200) >>> x1 = np.sin(2*np.pi*1*t) + 0.01*np.random.randn(len(t)) # less noisy >>> x2 = np.sin(2*np.pi*1*t) + 0.5*np.random.randn(len(t)) # very noisy >>> H_x1 = sp.entropy_permutation(x1,order=3, delay=1) >>> H_x2 = sp.entropy_permutation(x2,order=3, delay=1) >>> print('Permutation Entropy ') >>> print('Entropy of x1: H_p(x1) = ',H_x1) >>> print('Entropy of x2: H_p(x2) = ',H_x2) Permutation Entropy Entropy of x1: H_p(x1) = 1.5156504111997058 Entropy of x2: H_p(x2) = 2.556358399367036



