VMD如何确定分解层数(四):通过原始信号和分解信号之间的MAPE判断(一定准则判断)

之前的博文已经介绍了三种关于VMD分解的方法,这里同样介绍一种,通过一定判据来确定VMD分解层数的方法。

同样,VMD分解的一些原理,不做赘述,大家看下《浅谈VMD---变分模态分解》,这一篇博主之前写的文章即可。

本文介绍的新方法,关于分解层数的判断依据,相应公式比较简单,如下。

                           VMD如何确定分解层数(四):通过原始信号和分解信号之间的MAPE判断(一定准则判断)_第1张图片

f代表要分解的原始数据,uk(t)代表分解后的各个模态。公式的含义就是求取,原始数据,与分解后各个模态相加后的数据,之间的MAPE(说的有点绕口哈,但是这样不会引起歧义。)代表 分解后各模态的相加值。

(如果不明白什么是MAPE,自己动手查一下,很简单,是一个精度度量标准。)

具体的判断方式,原文表述如下:

“但是,模型需要一个预设的模态数k,这限制了该方法的适应性,因为模态数的较大偏差会导致一些模态被丢弃或导致模态混合。因此,在VMD技术中引入了残能与原始信号能量之比作为优化指标,即原始信号分解后的残差。当比值小于1%时,确定最终模态数”

上文中,提到的残差,即:,当残差与原始信号的比值小于1%时,即可选定最佳分解模态数。

直接上代码:

VMD如何确定分解层数(四):通过原始信号和分解信号之间的MAPE判断(一定准则判断)_第2张图片

我们在代码中做了一个循环,分解层数从2到10。并记录每一次分解后,计算得到的MAPE值。

这是具体计算的结果,

 

将结果呈现在下图:

VMD如何确定分解层数(四):通过原始信号和分解信号之间的MAPE判断(一定准则判断)_第3张图片

因为分解层数从2开始循环到10,序号1-9就对应着分解层数2-10,很简单的逻辑问题。

根据判断标准,最开始小于1%的为序号7,也就是分解层数为8最合适(符合判定依据)。

以上就是本文所介绍的VMD确定分解层的一种方法。大家可参考下原文理解。

Hourly Day-Ahead Wind Power Prediction Using the Hybrid Model of Variational Model Decomposition and Long Short-Term Memory - 百度学术 (baidu.com)icon-default.png?t=M4ADhttps://xueshu.baidu.com/usercenter/paper/show?paperid=1t1u0vd09q1j04u08d4m0t908p419297tip:不同的数据,出现1%临界值时,会有不同的分解层数。大家不要有固定思维,看看自己的数据合不合适,这里提供一种方法。

你可能感兴趣的:(深度学习,人工智能,算法,机器学习,matlab)