“类EMD”算法分解后要怎样使用(1) 您所在的位置:网站首页 imf的意思 “类EMD”算法分解后要怎样使用(1)

“类EMD”算法分解后要怎样使用(1)

2024-06-03 06:25| 来源: 网络整理| 查看: 265

之前我们有了十几篇文章讲述了EMD算法的基础理论、IMF的含义、EMD的MATLAB实现方法,EEMD、CEEMD、CEEMDAN、VMD、ICEEMDAN、LMD、EWT的理论及代码实现,还讲到了HHT算法理论及其代码实现。

下面我们将正式进入下一个环节:分解完成之后要怎样处理?

今天介绍几个指标,可以作为辅助筛选分量或开展分析的依据 。

一、方差贡献率(方差比)

方差贡献率即IMF方差与原序列方差的比值。在一些金融分析论文中,会使用方差贡献率描述各个IMF分量对原序列波动的贡献率,以表征不同周期分量对原始数据形成的影响程度。

下面举例演示一下:

​2012-2020年原油期货数据

上图是2012-2020年原油期货价格历史数据。首先我们对其进行EEMD分解,得到如下图:

​EEMD分解结果

计算得到IMF1-IMF10的方差贡献率分别为:

0.080491% 0.055155% 0.077994% 0.19493% 0.84239% 2.0689% 4.3909% 19.329% 0.69564% 0

从结果中可以看出,IMF6-IMF8的方差贡献率较大,即这些分量对原数据影响相较于其他分量更大。需要注意的是,这些贡献率之和并不等于1。

二、平均周期

IMF的平均周期定义为该IMF的样本数与其极大值点(或极小值点)个数的比值,该指标可以用来显示IMF分量的周期长短。

同样对上图中的IMF1-IMF10求平均周期,得到的结果如下:

2.8692629 6.2515152 12.813665 27.144737 58.942857 137.53333 412.6 1031.5 1031.5 Inf

需要注意的是,平均周期的单位是“点数”,比如IMF9平均周期是1031.5个数据点,如果每天采样一个数据点,那么平均周期就是1031.5天。

可以看出,EEMD分解分量的平均周期是逐渐增大的。

三、相关系数

相关系数的概念在以前的文章中讲过:

Mr.看海:衡量数据“像不像”——协方差与相关系数

在这个应用场景中,相关系数可以用来描述IMF分量与原数据的相关程度,相关系数越接近1,说明该分量与原始数据的相关性越强。

上边例子中的各分量的相关系数如下:

0.029638 0.036159 0.048101 0.09325 0.22632 0.2733 0.03108 0.66335 0.71342 0.72017

这个结果含义不用过多解释了吧!

四、MATLAB代码实现

按照惯例,将上述功能封装成方便调用的函数文件,我将其命名为imfClc函数,函数说明如下:

function [VarR,AvePer,PearsonCor] = imfClc(data,imf) %% % 对于“类EMD”方法分解后得到的各个分量计算评价指标 % 包括方差贡献率、平均周期和Pearson相关系数 % 输入: % data:分解前的原数据 % imf:分解后得到的分量,注意imf需要沿行方向分布 % 输出: % VarR:方差贡献率 % AvePer:平均周期 % PearsonCor:Pearson相关系数 将原始序列data和经过分解后得到的imf导入上述函数就可以直接算出方差贡献率、平均周期和Pearson相关系数。

调用时只需要一行代码:

[VarR,AvePer,PearsonCor] = imfClc(data,imf(1:end-1,:)); %调用函数计算方差贡献率、平均周期和Pearson相关系数 %减1是不计算res的相关参数

可以得到如下计算结果:

​计算结果

上边的测试代码和封装函数,包括工具箱都可以在下述链接获取:

IMF方差贡献率、平均周期、相关系数的计算,高频、低频、趋势项分量判别与重构程序(公开版) | 工具箱文档

EMD、EEMD、CEEMD、CEEMDAN、ICEEMDAN、VMD、LMD、EWT以及HHT相关的程序也有,编程不易,感谢支持~关于其他类EMD方法和HHT的相关介绍可以看这里:

Mr.看海:这篇文章能让你明白经验模态分解(EMD)——EMD在MATLAB中的实现方法

Mr.看海:希尔伯特谱、边际谱、包络谱、瞬时频率/幅值/相位——Hilbert分析衍生方法及MATLAB实现

Mr.看海:类EMD的“信号分解方法”及MATLAB实现(第一篇)——EEMD

Mr.看海:类EMD的“信号分解方法”及MATLAB实现(第二篇)——CEEMD

Mr.看海:类EMD的“信号分解方法”及MATLAB实现(第三篇)——CEEMDAN

Mr.看海:类EMD的“信号分解方法”及MATLAB实现(第四篇)——VMD

Mr.看海:类EMD的“信号分解方法”及MATLAB实现(第五篇)——ICEEMDAN

Mr.看海:类EMD的“信号分解方法”及MATLAB实现(第六篇)——LMD

Mr.看海:类EMD的“信号分解方法”及MATLAB实现(第七篇)——EWT



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有