本文主要是介绍多元排列熵 Multivariate Permutation Entropy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
熵(Entropy)
信息论中熵的概念首次被香农提出,目的是寻找一种高效/无损地编码信息的方法:以编码后数据的平均长度来衡量高效性,平均长度越小越高效;同时还需满足“无损”的条件,即编码后不能有原始信息的丢失。这样,香农提出了熵的定义:无损编码事件信息的最小平均编码长度。
香农信息熵 Shannon entropy
香农信息熵是由香农提出的一个概念,它描述了信息源各可能事件发生的不确定性。这个概念在信息论中扮演着重要的角色,解决了对信息的量化度量问题。
一条信息的信息量大小和它的不确定性有直接的关系。比如说,我们要搞清楚一件非常非常不确定的事,或是我们一无所知的事情,就需要了解大量的信息。相反,如果我们对某件事已经有了较多的了解,我们不需要太多的信息就能把它搞清楚。所以,从这个角度,我们可以认为,信息量的度量就等于不确定性的多少。
信息量是对信息的度量,我们考虑一个离散的随机变量 x ,当我们观察到这个变量的具体值的时候,我们接收到了多少信息呢?
多少信息用信息量来衡量,我们接受到的信息量跟具体发生的事件有关。
信息的大小跟随机事件的概率有关。越小概率的事情发生了,产生的信息量越大,如湖南地震;越大概率的事情发生了产生的信息量越小,如太阳从东边升起来了(肯定发生, 没什么信息量)。
因此一个具体事件的信息量应该是随着其发生概率而递减的。
香农借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信息熵”,并给出了计算信息熵的数学表达式。
H ( x ) = − ∑ p ( x i ) l o g 2 ( p ( x i ) ) , i = 1 , 2 , . . , n H(x)=-∑p(x_i)log_2(p(x_i)),i=1,2,..,n H(x)=−∑p(xi)log2(p(xi)),i=1,2,..,n。
其中,x表示信息, x i ( i = 1 , 2 , . . , n ) x_i(i=1,2,..,n) xi(i=1,2,..,n)表示x的各种可能取值, p ( x i ) p(x_i) p(xi)表示x取值为 x i x_i xi的概率,H的单位是比特。这个公式可以用来计算信息的不确定性,即信息熵。信息熵的提出解决了对信息的量化度量问题。
香农熵在生物信息领域基因表达分析中也有广泛的应用,如一些或一个基因在不同组织材料中表达情况己知,但如何确定这些基因是组织特异性表达,还是广泛表达的,那我们就来计算这些基因在N个样本中的香农熵,结果越趋近于log2(N),则表明它是一个越广泛表达的基因,结果越趋近于0则表示它是一个特异表达的基因。
排列熵(Permutation Entropy)
是用于衡量时间序列复杂程度的指标
对于某个长度为n的排列x,其元素分别为 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn
-
规定一个嵌入维度m(即m-neighborhood)和时间延迟t,进行相空间重构
-
得到k个子序列, k = n − ( m − 1 ) t k=n-(m-1)t k=n−(m−1)t,每个子序列分别为:
(1) x 1 , x 1 + t , . . . , x 1 + ( m − 1 ) t x_1, x_{1+t}, ... , x_{1+(m-1)t} x1,x1+t,...,x1+(m−1)t
(2) x 2 , x 2 + t , . . . , x 2 + ( m − 1 ) t x_2, x_{2+t}, ... , x_{2+(m-1)t} x2,x2+t,...,x2+(m−1)t
(3) …
(4) x k , x k + t , . . . , x k + ( m − 1 ) t x_k, x_{k+t}, ... , x_{k+(m-1)t} xk,xk+t,...,xk+(m−1)t
-
并把其转换为大小关系的排列(k个,共有m!种可能性)
-
计算每种大小关系排列的概率P,P(排列)=该排列出现次数/k,
-
计算这些概率的信息熵
按照步骤举个例子,便于理解:
x={2,4,5,6,3,7,1},其长度n=7
-
设嵌入维度m=3(3-neightborhood),时间延迟t=1(没有skip)
-
得到k=n-(m-1)t=5个子序列,即:
(1) 2,4,5
(2) 4,5,6
(3) 5,6,3
(4) 6,3,7
(5) 3,7,1
- 转换为大小关系的排列,分别为:
(1) 1,2,3
(2) 1,2,3
(3) 2,3,1
(4) 2,1,3
(5) 2,3,1
- 以上排列共有3种,分别为2次(1,2,3),2次(2,3,1)和1次(2,1,3),这些排列的概率分别为:
(1) P(1,2,3) = 2/5
(2) P(2,3,1) = 2/5
(3) P(2,1,3) = 1/5
- 计算信息熵,得到 H p e ( 3 ) = 0.4 × l o g 2 2.5 + 0.4 × l o g 2 2.5 + 0.2 l o g 2 5 = 1.5219 Hpe(3)= 0.4×log_22.5 + 0.4×log_22.5 + 0.2log_25 = 1.5219 Hpe(3)=0.4×log22.5+0.4×log22.5+0.2log25=1.5219
排列熵作为衡量时间序列复杂程度的指标,越规则的时间序列,它对应的排列熵越小;越复杂的时间序列,它对应的排列熵越大。但是这样的结果是建立在合适的 m的选择的基础上的,如果 m 的选取很小,如1或者2的话,那么它的排列空间就会很小(1!、2!)。经过研究表明,这个 m 的选取还是要根据实际情况来决定,一般而言,Bandt and Pompe 建议的取值是m = 3 , . . . , 7
多元排列熵(Multivariate Permutation Entropy,MPE或MvPE)
多元排列熵(Multivariate Permutation Entropy,MPE或MvPE)是排列熵的扩展,由于 EEG 每个通道的数据并非独立,这样的扩展非常必要。
考虑EEG通道的时间窗口大小为T秒,其采样频率为 f s = 1 T f_s=\frac{1}{T} fs=T1;因此,每个窗口将包括 ( f s T ) (f_sT) (fsT)个样本,即数据点。
对于每个通道 i ∈ [ 1 , m ] i\in [1,m] i∈[1,m],每个 h ∈ [ 1 , n = d ! ] h\in [1,n=d!] h∈[1,n=d!](即对于每个“基序”),计数所有时间 s ∈ [ 1 , f s T − d ] s\in [1,f_sT−d] s∈[1,fsT−d],其中通道时间对 ( i , s ) (i,s) (i,s)提供基序j。
将计数除以mT后获得的频率 p i , j p_{i,j} pi,j是矩阵的项 P t ( m , n ) = p i , j P_t(m,n)={p_{i,j}} Pt(m,n)=pi,j,反映了基序在长度为T的时间片中的分布。
它保持 ∑ i = 1 m ∑ j = 1 d ! p i , j = 1 \sum ^m_{i=1}\sum ^{d!}_{j=1}p_{i,j}=1 ∑i=1m∑j=1d!pi,j=1。
根据该程序,原始多元时间序列被转换为一个时间相关矩阵,相关统计数据和可以容易地提取熵。
特别地,计算边际相对值很容易描述基序分布的频率,如:
p j = ∑ i = 1 m p i , j , j = 1 , . . . , d ! p_j=\sum ^m_{i=1}p_{i,j},j=1,...,d! pj=∑i=1mpi,j,j=1,...,d!,d表示多变量排列熵的跨通道复杂性可以是计算为 p j p_j pj的排列熵: H M P E ( s ) = − ∑ j = 1 d ! p j log 2 p j H_{MPE}(s)=-\sum_{j=1}^{d!} p_j\log_2p_j HMPE(s)=−∑j=1d!pjlog2pj
通过相同的矩阵,也可以计算单通道多元排列熵,如下所示:
H E ( i , s ) = − ∑ j = 1 d ! m p i , j log 2 ( m p i , j ) , i = 1 , 2 , . . . , m H_E(i,s)=-\sum_{j=1}^{d!} mp_{i,j}\log_2(mp_{i,j}),i=1,2,...,m HE(i,s)=−∑j=1d!mpi,jlog2(mpi,j),i=1,2,...,m
可计算出的一个有趣的量是多元排列熵和通过平均m个单通道排列熵得到的曲线之间的均方差。这个量被称为偶然性。当且仅当单通道分布重合时,它消失。如果它们是高度“相似”的,那么时间序列的整体复杂度有时是两项的总和:信道的平均复杂度和依赖于信道之间的不均匀性的休息。然而,对突发性对多元排列熵的影响的彻底分析超出了目前工作的范围。排列熵是一种对噪声(特别是高频噪声)稳健的测量方法:作为多元排列熵的平均操作实质上的轻微变化,它可以帮助吸收数据采集的一些不确定性。
多元排列熵在脑电图信号处理中很有用,因为如果它是在“遥远的”通道上计算的,即在不同的半球和/或不同的区域,它可以通过突出长期空间(非线性)相关性来提取跨通道的规律。
这篇关于多元排列熵 Multivariate Permutation Entropy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!