目录
今天给大家带来一期知网以及WOS上从来没有人用过的参数优化方法:红嘴蓝鹊算法RBMO优化SVMD分解!
传统的VMD分解方法,在分解过程中,对模态中心频率的初始值较为敏感;若分解个数太多,还会出现过度分解的现象。SVMD(逐次变分模态分解)是Nazari 等人于2020年发表在信号处理顶刊的一种新算法,它不需要提前去设置 K 值,也就是模态个数!大大降低了计算复杂度!
但是,它的参数maxAlpha也会影响其性能,而手动调参较为繁琐,因此可以利用优化算法进行优化!目前知网上用的人还很少!且还没有人用过参数优化SVMD的方法!可以说是尚未发表的创新点!
之前的几期推文里,给大家带来了ICEEMDAN、TVFEMD的分解方法:
原创未发表!24年新算法CPO优化ICEEMDAN实现分解+四种熵值+频谱图+参数变化图+相关系数图!
原创未发表!24年新算法SBOA优化TVFEMD实现分解+四种熵值+频谱图+参数变化图+相关系数图!
本期代码,在前几期推文的基础上,增加了一种熵值,并增加了3D分解图、功率谱、幅值谱、希尔伯特谱、瞬时能量等图!一共10张图,可完全满足你故障诊断、分解集成预测等需求!
特别需要指出的是,我们在各个学术平台上搜索RBMO-SVMD,都是完全搜索不到这个模型的!!!不信的可以看下面截图!
知网平台:
WOS平台:
数据输入方法
在分解模型的输入时,一般只输入一列数据即可,比如信号、时间序列、功率等等。
为了方便大家操作,这里使用Excel输入!以一列信号(时间序列)为例,展示数据输入格式。
大家在更换自己的数据时,只需替换这一列放想要分解的信号等等内容,无需更改代码,非常方便!如果你是mat格式等文件的话,可以复制数据到Excel中或者自行查找mat格式输入方法!
优化流程
以下这些内容,如果大家需要用这个程序写论文,都是可以直接借鉴参考的!
在应用SVMD算法时,需人为指定平衡参数maxAlpha个参数,存在较大主观性和盲目性的不足。因此,采用24年最新算法算法对RBMO对SVMD的平衡参数进行优化,适应度函数采用包络熵(或排列熵、信息熵、样本熵、能量熵自己选,经实验包络熵效果较好),如果适应度值越小,则代表分解的效果越好。通过优化和更新,来确定最终的最佳参数。
优化的步骤如下:
(1)RBMO算法的种群初始化,设置RBMO的迭代次数和种群规模,并设置SVMD算法的参数优化范围;
(2)利用SVMD分解信号,并计算各个 IMF 分量的包络熵,以包络熵的最小值为适应度函数;
(3)判断优化是否达到算法的终止条件,若是,则继续下一步;若否,则更新种群位置,并返回第(2)步;
(4)保存最优的SVMD参数组合,并将其代入至SVMD中;
(5)利用RBMO-SVMD方法分解信号,得到最佳的 IMF 分量,并生成SVMD分解图、频谱图、参数变化图、相关系数等图。
以上所有流程,作者都已精心整理过代码,都可以一键运行main直接出图!如果需要搭配后续的预测模型,比如RBMO-SVMD-LSTM,可以后台私信我,都是没有问题的!
创新点
1.使用SVMD的创新点在于:
SVMD是一种稳健的方法,可以连续提取模式,并且不需要知道模式的数量(与VMD不同)。该方法将模态视为具有最大紧凑频谱的信号。SVMD算法的计算复杂度远低于VMD算法。此外,与VMD算法相比,SVMD算法的另一个优点是对模态中心频率的初始值具有更强的鲁棒性。
2.使用红嘴蓝鹊优化算法RBMO创新点在于:
蛇鹭优化算法SBOA于2024年5月发表在SCI顶刊《Artificial Intelligence Review》上!实验结果表明,SBOA算法在大部分测试函数上均取得了最优结果!你先用,你就是创新!
之前推文有做过CPO和经典的麻雀优化算法SSA的比较,效果显而易见!对比代码可以免费获取!链接如下:
2024年SCI顶刊新算法-红嘴蓝鹊优化算法(RBMO)-公式原理详解与性能测评 Matlab代码免费获取
结果展示
这里以一段480个点的数据为例,设置RBMO算法的种群规模为10,迭代次数为10(可自行更改),结果如下:
这里以包络熵为适应度函数为例:
2D分解结果图:
幅值谱图:
功率谱图:
3D分解图:
迭代曲线图:
参数变化图:
因为只优化了一个参数,所以迭代曲线图与参数变化图基本一致。
希尔伯特谱+瞬时能量图:
相关系数图:
命令行窗口也会清楚显示各分量的相关系数和最佳参数以及适应度值:
文件夹内也非常清晰,没有什么乱七八糟的文件!
以上所有图片,替换Excel后均可一键运行main生成,Matlab无需配置环境!比Python什么方便多了!非常适合新手小白!
完整代码
如果想要获取以上完整代码,只需点击下方小卡片,再后台回复关键词:
CXYHJ
其他更多需求或想要的代码均可点击下方小卡片,再后台私信,看到后会秒回~