在說明多尺度排列熵之前,我先說以下多尺度,通俗地講多尺度就是對訊號進行不同粒度的取樣,比如有乙個序列x如果對這個序列進行二尺度分析可以將它看作五個平均值組成的序列y,就是對原來的序列進行粗粒化處理,假設進行s尺度分析,原序列長度n除以尺度s得到新序列所包含元素的個數(floor(n/s))即向下取整。這樣一來我們就可以通過不同的尺度來發現所包含的特徵。這是我在看**的時候自己的一點理解
關於排列熵,論壇中已經有博主 『敲**的quant』 分析過了,具體排列熵演算法可以參考上面那位博主的排列熵
假設原一維時間序列為x,長度為n,先將其進行粗粒化處理,進行s尺度分析,得到包含**floor(n/s)**元素的粗粒化序列,對這個粗粒化序列計算其排列熵:
相空間重構,根據hankel原理進行重構,因為我使用的matlab,在matlab中,使用hankel函式進行操作,重構出的矩陣n/s-(m+1)*t行,m列,其中m是嵌入維數嵌入維數就是將原一維序列嵌入到m維序列,t是延遲係數,通常取1,hankel矩陣的第一列與最後一行組合構成原序列。
計算排列熵,相空間重構之後,對每一行進行公升序排列,記錄它們在來位置處的索引得到索引矩陣,每一行有m個元素,那麼它們共有m!種排列方式,使用matlab種perms(1:m)產生m!種組合方式的矩陣m!行m列,統計出組合矩陣中每一行在索引矩陣**現的次數得到頻數矩陣m!行1列,然後每一行除以相空間重構矩陣行數得到每種排列出現的概率,再通過求排列熵公式得出該尺度下的排列熵值。
3.重複上面的步驟可以得出不同尺度下的排列熵,每個尺度下對應乙個排列熵值,如果進行s尺度的話就有s個排列熵值,在處理分析機器學習的問題時,可以將這s個值組成乙個行向量作為乙個特徵。
乙個小白,若有不對的地方,請各位多多包涵,指出錯誤!!
[1]: 時間序列分析之排列熵(permutation entropy)排列熵
關於熵的一些理解
對於理工科學生來說,熵 並不是乙個陌生的名詞。在諸如 大學物理 熱力學 和 資訊理論 等課程中都會有所介紹。但同時 熵 又是乙個顯得有點神秘的概念,看不見也摸不著。我最早是在高中物理課中聽說的,大概是在介紹 熱力學第二定律 時提到的。熱力學第二定律的內容是 熱力學過程是不可逆的 孤立系統自發地朝著熱...
關於全排列公升降序的一些思考
在練習 adv 66 演算法提高 阮小二買彩票 問題所求 組成正整數n的所有位數的全排列,這些排列按公升序輸出,每個排列佔一行。此題與 排列數 輸出0 9的全排列 演算法提高 中所求問題 求0 9十個數的全排列中的第n個 第1個為0123456789 是一樣的。此處可以利用 在algorithm裡面...
關於SpringIOC的一些思考
ioc是 依賴倒置原則 的乙個特例,說其是特例,就是說其具有 依賴倒置原則 的性質。依賴倒置原則強調的兩點是 上層模組和下次模組都依賴於抽象,二者之間通過這種抽象的東西聯絡在一起 具體可以依賴於抽象,而抽象不能依賴於具體。我認為spring提倡的 基於介面程式設計 就是為了遵循 依賴倒置原則 其中所...