声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~
目录
今天给大家带来一期利用2025年最新的龙卷风优化算法TOC优化VMD的信号分解的代码,非常适合作为创新点。
相比于EMD分解时存在的模态混叠问题,VMD可以将信号分解成一系列有限带宽的固有模态函数,并且自适应地将信号不同频率有效分离,适用于非线性非平稳性信号,并且效率高。
然而,VMD的性能也会受到两个分解模态数K、惩罚因子α的重要影响,而手动调参较为繁琐,且不可靠。如果选择的K太小,可能无法捕获信号中的所有重要成分,导致信息丢失;选择较大的K,可能引入冗余信息,增加计算复杂度,同时可能使得模态之间的正交性和稳定性变差。而惩罚因子α如果选择过大,可能会导致模态过于平滑,造成欠拟合;而选择的α过小则可能导致模态过分灵活,产生过拟合现象。
因此,可以利用最新优化算法对其参数进行自适应选择!目前知网上用的人还很少!可以说是尚未发表的创新点!替换自己喜欢的优化算法也非常方便!
本期代码,一共集成了六种熵值供您选择,非常方便,并有了3D分解图、功率谱、幅值谱、希尔伯特谱、瞬时能量等图!一共9张图!
您只需做的工作:替换自己的数据,选择适应度函数,运行main文件即可!非常适合新手小白!
数据输入方法
在分解模型的输入时,一般只输入一列数据即可,比如信号、交通流、风速、声音、振动、功率、碳排放数据等等。
为了方便大家操作,这里使用Excel输入!以一列信号(时间序列)为例,展示数据输入格式。
大家在更换自己的数据时,只需替换这一列放想要分解的信号等等内容,无需更改代码,非常方便!如果你是mat格式等文件的话,可以复制数据到Excel中或者自行查找mat格式输入方法!
模型流程
以下这些内容,如果大家需要用这个程序写论文,都是可以直接借鉴参考的!
在应用VMD算法时,需人为指定分解模态数K、惩罚因子α两个参数,存在较大主观性和盲目性的不足。因此,采用25年最新龙卷风优化算法对TOC对VMD的两个参数进行优化,适应度函数可选择六种(包络熵、排列熵、信息熵、样本熵、能量熵、包络峭度因子),如果适应度值越小,则代表分解的效果越好。通过优化和更新,来确定最终的最佳参数。
优化的步骤如下:
(1)TOC算法的种群初始化,设置TOC的迭代次数和种群规模,并设置VMD算法的参数优化范围;
(2)优化算法进行迭代,计算各个 IMF 分量的适应度,以适应度的最小值进行评价。
(3)判断优化是否达到算法的终止条件,若是,则继续下一步;若否,则更新种群位置,并返回第(2)步;
(4)保存最优的VMD参数组合,并将其代入至VMD中;
(5)得到最佳的 IMF 分量,并生成VMD分解图、频谱图、参数变化图、相关系数等图片。
以上所有流程,作者都已精心整理过代码,都可以一键运行main直接出图!如果需要搭配后续的预测模型,比如TOC-VMD-Transformer,可以后台私信我,都是没有问题的!
创新点
1.使用VMD的创新点在于:
(1)VMD算法对模态的带宽进行了明确的数学定义,以希尔伯特变换得到模态的解析信号,再将其频谱通过指数搬移到原点,通过高斯滤波后的L2范数来衡量带宽,具有清晰的数学基础和良好的可控性,不像EMD那样依赖经验和启发式处理。
(2)对噪声的鲁棒性较强,不容易受到局部尖峰、非平稳噪声的干扰,适合处理非平稳、非线性信号。
(3)所有模态在优化过程中是一起更新的,这样可以自适应地分配频率带宽,避免模态重叠,显著减小了模态混叠现象,提取的模态具有更好的物理意义。
2.使用龙卷风优化算法TOC创新点在于:
龙卷风优化算法TOC于2025年2月发表在SCITop期刊《Artificial Intelligence Review》上!实验结果表明,TOC算法在大部分测试函数上均取得了最优结果!你先用,你就是创新!
之前推文有做过TOC和23年新出的的霜冰优化算法RIME的比较,效果显而易见!对比代码可以免费获取!链接如下:
2025年SCI顶刊新算法-龙卷风优化算法(TOC)-公式原理详解与性能测评 Matlab代码免费获取
结果展示
这里以一段480个点的数据为例,设置TOC算法的种群规模为10,迭代次数为20(可自行更改),结果如下:
并以包络熵为适应度函数为例:
2D分解结果图:
频谱图1:
频谱图2:
3D分解图:
迭代曲线图:
参数变化图:
希尔伯特谱+瞬时能量图:
命令行窗口也会清楚显示最佳参数以及适应度值:
文件夹内也非常清晰,没有什么乱七八糟的文件!您需要运行的文件只有main脚本一个!!
以上所有图片,替换Excel后均可一键运行main生成,Matlab无需配置环境!比Python什么方便多了!非常适合新手小白!
完整代码
如果需要以上完整代码,只需点击下方小卡片,再后台回复关键字,不区分大小写:
TOCVMD