建什么类型个人网站比较好,seo应用领域有哪些,专业营销推广公司,南安网站设计多维时序 | MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络) 目录 多维时序 | MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络)效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络) 2.运行环境为Matlab2018b 3.输入多个特征输出单个变量考虑历史特征的影响多变量时间序列预测 4.data为数据集GWO_BPNTS.m为主程序运行即可,所有文件放在一个文件夹 5.命令窗口输出R2、MSE、MAE、MAPE和MBE多指标评价 程序设计
完整程序和数据下载私信博主回复MATLAB实现GWO-BP多变量时间序列预测(灰狼算法优化BP神经网络)。
%% 优化算法初始化
Alpha_pos zeros(1, dim); % 初始化Alpha狼的位置
Alpha_score inf; % 初始化Alpha狼的目标函数值,将其更改为-inf以解决最大化问题Beta_pos zeros(1, dim); % 初始化Beta狼的位置
Beta_score inf; % 初始化Beta狼的目标函数值 ,将其更改为-inf以解决最大化问题Delta_pos zeros(1, dim); % 初始化Delta狼的位置
Delta_score inf; % 初始化Delta狼的目标函数值,将其更改为-inf以解决最大化问题%% 初始化搜索狼群的位置
Positions initialization(SearchAgents_no, dim, ub, lb);%% 用于记录迭代曲线
Convergence_curve zeros(1, Max_iteration);
%% 循环计数器
iter 0;%% 优化算法主循环
while iter Max_iteration % 对迭代次数循环for i 1 : size(Positions, 1) % 遍历每个狼% 返回超出搜索空间边界的搜索狼群% 若搜索位置超过了搜索空间需要重新回到搜索空间Flag4ub Positions(i, :) ub;Flag4lb Positions(i, :) lb;% 若狼的位置在最大值和最小值之间则位置不需要调整若超出最大值最回到最大值边界% 若超出最小值最回答最小值边界Positions(i, :) (Positions(i, :) .* (~(Flag4ub Flag4lb))) ub .* Flag4ub lb .* Flag4lb; % 计算适应度函数值
% Positions(i, 2) round(Positions(i, 2));
% fitness fical(Positions(i, :));fitness fobj(Positions(i, :));% 更新 Alpha, Beta, Deltaif fitness Alpha_score % 如果目标函数值小于Alpha狼的目标函数值Alpha_score fitness; % 则将Alpha狼的目标函数值更新为最优目标函数值Alpha_pos Positions(i, :); % 同时将Alpha狼的位置更新为最优位置endif fitness Alpha_score fitness Beta_score % 如果目标函数值介于于Alpha狼和Beta狼的目标函数值之间Beta_score fitness; % 则将Beta狼的目标函数值更新为最优目标函数值Beta_pos Positions(i, :); % 同时更新Beta狼的位置endif fitness Alpha_score fitness Beta_score fitness Delta_score % 如果目标函数值介于于Beta狼和Delta狼的目标函数值之间Delta_score fitness; % 则将Delta狼的目标函数值更新为最优目标函数值Delta_pos Positions(i, :); % 同时更新Delta狼的位置endend
参考资料 [1] https://blog.csdn.net/kjm13182345320/article/details/128163536?spm1001.2014.3001.5502 [2] https://blog.csdn.net/kjm13182345320/article/details/128151206?spm1001.2014.3001.5502