如何计算EEG信号的香农熵Shannon entropy(附Matlab程序)
《本文同步發布于“腦之說”微信公眾號,歡迎搜索關注~~》
香農熵Shannon entropy又稱為信息熵,是信息論中的一個概念,但是其很早就被引入到腦電領域的研究中。筆者相信大家在看腦電相關的研究論文中,會經常看到研究者計算腦電信號的香農熵這個指標。筆者并未學過信息論相關的課程,對香農熵也只是粗略知曉,但看到如此多的研究者在腦電研究中應用香農熵,筆者也是默默地下了點功夫對香農熵進行了一番研究。在本文中,筆者首先對香農熵做一個簡單的介紹,接著,重點對如何計算腦電信號的香農熵進行了論述,并給出相應的Matlab程序。
什么是香農熵Shannon Entroy
香農熵是信息論領域的大牛Shannon于1948年提出的一個概念[1],香農熵又稱為信息熵,直觀地理解,它表征的是一個事物/事情包含的信息量的大小。舉個簡單的例子,一場足球比賽,對陣雙方如果是德國國家隊和越南國家隊,鑒于兩隊的實例,那么你可能會有100%的把握認為德國隊會獲勝,這時候這場比賽的結果基本已經確定了,這場比賽的信息量就基本為0(結果已定,大家的觀點只有一個,沒有什么懸念了,這件事也就沒有什么信息量了);相反,如果德國隊與法國隊比賽,那么結果就不會那么確定,這時候這場比賽的信息量就很大(結果不確定,大家的觀點就有兩個,即雙方都有可能獲勝,信息量很大)。當然,上述只是對香農熵的一個簡單通俗的理解,如果想對香農熵進行深入研究,建議參考專門的信息論方面的書籍。總結一下:事件/事物的不確定性越大,則信息量越大,相應的香農熵也就越大;反之,事件/事物的不確定性越小,則信息量越小,香農熵越小。
如何計算Shannon Entroy
這里所說的香農熵計算方法主要針對如腦電信號之類的連續時間序列來說。香農熵的計算公式如下:
其中,H(X)表示連續時間序列信號X的香農熵;對于連續時間序列信號,我們在計算香農熵時,一般需要對信號先進行“分段”(英文里稱之為bin),具體方法如下:假設你的這一段腦電信號有10000個數據點,幅值范圍是-0.2V到0.2V, 我們可以把這段腦電信號按照幅值分割成100個bin,那么每一個bin的幅值范圍應該依次是[-0.2 -0.196], [-0.196 -0.192],……,[0.196 0.2];此時,我們統計腦電信號幅值落在上述各個bin內的數據點個數,并除以腦電信號總數據點(這里為10000)得到各個bin的概率。因此,上述公式中,n指的就是你把數據分成了多少個“片段”(bin),在上述舉的例子中,n=100;xi指的是每個bin,而不是腦電信號的每個數據點,在上述例子中,x1指的是[-0.2 -0.196],x2指的是[-0.196 -0.192],以此類推;相應地,p(xi)指的是xi的概率。
對于上述計算公式我們需要注意幾點:
第一,由于p(xi)為大于0小于1的實數,其取log2對數之后,一般小于0,因此公式中前面加了個負號,說明計算的香農熵最后都為正值;
第二,我們在計算香農熵時,取多少個bin,或者說上述公式中n取多少合適呢?這里我們可以采用一個比較簡單的估計公式,即Sturges規則,n=1+log2(N),這里的N指的是腦電數據的數據點個數[2]。
第三,香農熵與信號的時間結構無關,僅與數據的概率分布相關。也就是說,如果你對一段信號的數據點在時間先后順序上進性隨機打亂,計算得到的香農熵不變。
例子:計算正弦信號sin(2pi10*t)的香農熵。
筆者通過Matlab編程,首先研究了不同bin數目(即公式中n的值)對香農熵的影響,如下圖所示。可以看到,隨著bin數目的增大,香農熵也不斷增加,可見bin數目對計算香農熵影響很大,我們在具體應用時要嚴格謹慎選擇bin數目。
我們采用Sturges規則,計算得到n=15,香農熵為3.7022。
總結
本文,筆者對香農熵的概念進行了簡單介紹,并重點論述了如何計算腦電信號的香農熵。計算如腦電信號之類的連續時間序列信號,最為關鍵的一步是要對連續進行進行“分段”,即bin。關于本文例子對應的Matlab程序,如有朋友需要,請先轉發本文到您的朋友圈,然后截圖發給我(微信號:kervin_zhao),我會把相應代碼發給您(原創不易,請大家理解)。對于計算香農熵遇到的問題,也可以加筆者進行交流。
參考文獻:
[1] Shannon CE . A mathematical theory of communication[J]. Bell Labs Technical Journal,1948, 27(4):379-423.
[2] Sturges ,H. 1926 . The Choice of a Class-Interval. Journal of the American StatisticalAssociation 21 : 65–66
注:原創不易,請多多轉發支持,如有問題請加筆者微信交流(悅影科技趙宗亞,微信:15560177218)
總結
以上是生活随笔為你收集整理的如何计算EEG信号的香农熵Shannon entropy(附Matlab程序)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈 Nyquist–Shannon(奈
- 下一篇: 【计算机网络】Shannon公式与Nyq