本期代码主要功能为:采用6种2024新算法优化BiTCN-SVM模型的8个参数,分别是:滤波器大小,丢弃率,TCN残差块数,滤波器个数,最大训练次数,学习率,SVM的c和SVM的gamma。并进行了优化前后的结果比较。
6种算法如下:阿尔法进化算法(ALPHA)、协同群优化算法(SSOA)、海市蜃楼算法(FATA)、逃生优化算法(ESC)、向量加权平均优化算法(INFO)、信息获取优化器(IAO)。
代码中6种算法可以随意切换!也可以搭配推出的改进智能算法使用。
学会这几种算法的调用,你就可以任意替换别的算法!代码设置如下:
% 可选:'FATA','AE','ESC','INFO','SSOA','SCSO','SSA','IAO';
[Best_score,Best_pos,curve]=FATA(popsize,maxgen,lb,ub,dim,fobj); %修改这里的函数名字即可
BiTCN-SVM模型
BiTCN能够对时间序列数据进行特征提取,发掘出时间序列数据中的长依赖问题,将BiTCN处理后的数据特征送入支持向量机SVM中进行拟合,能够充分发挥各自模型的优点,从而提高模型预测精度。
具体做法是,将划分好的训练集送入BiTCN模型训练后,提取BiTCN模型在最后一个平铺层的特征,将此特征送入SVM中进行拟合,增强模型的泛化能力。
BiTCN网络模型搭建

数据准备
数据集统一采用前几期提到的新疆某地风电发电功率数据,只不过这次是只用发电功率这一列。

数据处理方法也不难,首先提取这一列数据,然后以前几个时间点作为模型输入,未来1个时刻的功率作为输出。依次这样选取数据,得到好多好多样本。然后划分训练集和测试集就ok了。
想要替换数据也不难,代码已经将步数和预测个数的数字都写成了变量,直接改个数字就可以了。
以逃生优化算法优化BiTCN-SVM模型的8个参数进行展示







可以看到,优化后,BiTCN-SVM的预测精度有很大的提升!
已将本文算法加入机器学习预测全家桶中,需要全家桶的小伙伴可以跳转链接获取:
https://mbd.pub/o/bread/ZZmWk5xp