python實(shí)現(xiàn)PyEMD經(jīng)驗(yàn)?zāi)B(tài)分解殘差量分析
前言
PyEMD是經(jīng)驗(yàn)?zāi)B(tài)分解 (EMD)及其變體的Python實(shí)現(xiàn),EMD最流行的擴(kuò)展之一是集成經(jīng)驗(yàn)?zāi)B(tài)分解 (EEMD),它利用了噪聲輔助執(zhí)行的集成。
顧名思義,這個(gè)包中的方法獲取數(shù)據(jù)(信號(hào))并將其分解為一組組件。所有這些方法理論上都應(yīng)該將信號(hào)分解為同一組分量,但實(shí)際上有很多細(xì)微差別和不同的方法來處理噪聲。無論采用何種方法,獲得的分量通常稱為本征模態(tài)函數(shù)(IMF),以強(qiáng)調(diào)它們包含固有(自身)屬性,即特定振蕩(模態(tài))。(以上來自官方文檔)
兩種實(shí)現(xiàn)形式
最近嘗試實(shí)現(xiàn)CEEMDAN,CEEMADN也是EMD的一種變體。按照官方API,有以下兩種形式的寫法:
大部分博客采用的是第一種寫法:
ceemdan = CEEMDAN() ceemdan.ceemdan(load) imfs, res = ceemdan.get_imfs_and_residue() vis = Visualisation() vis.plot_imfs(imfs, res)
這種寫法得到的圖為:
第二種寫法,也是官方的寫法:
ceemdan = CEEMDAN()(load) imfs, res = ceemdan[:-1], ceemdan[-1] vis = Visualisation() vis.plot_imfs(imfs, res)
得到的圖示為:
可以發(fā)現(xiàn),兩張圖最大的區(qū)別在于Res。一般論文中給出的圖示是第二種。
我們嘗試輸出第一種方法中的Res:
[ 0.00000000e+00 -2.84217094e-14 0.00000000e+00 ... -2.84217094e-14
0.00000000e+00 0.00000000e+00]
可以發(fā)現(xiàn)其量級(jí)特別小,還原時(shí)我們可以不加上這一部分。而方法二中的Res顯然量級(jí)是最大的,還原時(shí)必須加上。
因此,方法一中的Res是我們一般人所理解的殘余量,在真正進(jìn)行建模時(shí)可以不考慮。
方法一中畫圖時(shí)如果我們不包含殘余量,即:
vis.plot_imfs(imfs=imfs, residue=res, include_residue=False)
我們將得到:
區(qū)別
在github上經(jīng)過交流后,得到如下結(jié)論:
方法一中的Res是真正意義上的殘余量,或許叫殘差更合適一點(diǎn),也就是分解之后不能再分解的部分。在PyEMD的源碼中被定義為:
S * scale_s - np.sum(self.C_IMF, axis=0)
因此,ceemdan.get_imfs_and_residue()實(shí)際上得到的是最終的IMF和重建誤差,而不是殘差。
殘差的正確獲取方式是ceemdan[-1]。
以上就是python實(shí)現(xiàn)PyEMD經(jīng)驗(yàn)?zāi)B(tài)分解殘差量分析的詳細(xì)內(nèi)容,更多關(guān)于PyEMD經(jīng)驗(yàn)?zāi)B(tài)分解殘差量的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
從零開始的TensorFlow+VScode開發(fā)環(huán)境搭建的步驟(圖文)
這篇文章主要介紹了從零開始的TensorFlow+VScode開發(fā)環(huán)境搭建的步驟(圖文),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Python使用Opencv實(shí)現(xiàn)邊緣檢測(cè)以及輪廓檢測(cè)的實(shí)現(xiàn)
這篇文章主要介紹了Python使用Opencv實(shí)現(xiàn)邊緣檢測(cè)以及輪廓檢測(cè)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12python實(shí)現(xiàn)單線程多任務(wù)非阻塞TCP服務(wù)端
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)單線程多任務(wù)非阻塞TCP服務(wù)端的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Python中的函數(shù)參數(shù)(位置參數(shù)、默認(rèn)參數(shù)、可變參數(shù))
這篇文章主要介紹了Python中的函數(shù)參數(shù):位置參數(shù)、默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù),需要的小伙伴可以參考下面文章內(nèi)容2021-09-09親手教你用Python打造一款摸魚倒計(jì)時(shí)界面
前段時(shí)間在微博看到一段摸魚人的倒計(jì)時(shí)模板,感覺很有意思,于是我用了一個(gè)小時(shí)的時(shí)間寫一個(gè)頁面出來,下面小編把實(shí)現(xiàn)過程分享給大家,對(duì)Python摸魚倒計(jì)時(shí)界面感興趣的朋友一起看看吧2021-12-12OpenCV哈里斯(Harris)角點(diǎn)檢測(cè)的實(shí)現(xiàn)
這篇文章主要介紹了OpenCV哈里斯 (Harris)角點(diǎn)檢測(cè),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01python?spotlight庫簡(jiǎn)化交互式方法探索數(shù)據(jù)分析
這篇文章主要為大家介紹了python?spotlight庫簡(jiǎn)化的交互式方法探索數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01