一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【回归预测】基于matlab灰狼算法优化ELMAN神经网络回归预测【含Matlab源码 1782期】

获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、灰狼优化算法简介

灰狼是食肉动物,习惯群居,他们拥有着如同金字塔一样的等级体系(图2),狼群中头狼称为α狼,负责管理整个狼群;在α狼之下的是β狼,通常负责协助α狼的管理工作;狼群中等级最低的是ω狼;还有一类较为特殊的γ狼,是狼群中的哨兵和侦查兵,它的地位高于ω狼而低于β狼。当狼群捕食时,α狼发布命令,其他狼执行命令,通过不断靠近猎物,最后攻击猎物,捕食成功。

灰狼优化算法正是根据灰狼的金字塔等级制度和狼群群体捕食的特点开发出来的群优化算法,为了模拟狼群中的社会等级,将α,β和γ分别代表历史最优解、次优解和第3最优解,ω则代表其余的候选解,在算法中α,β和γ指导最优解的搜索,ω负责跟随。算法进化公式为


式中,Xα,Xβ,X3分别为α,β,γ狼进行捕食行为的位置矢量;X1,X2,X3分别为灰狼X要向α,β,γ移动的位置矢量;X(t+1)为移动终点。

图2 灰狼种群社会等级制度

三、部分源代码

% 基于GWO-Elman神经网络的电力负荷预测模型研究
%% 清空环境变量
clc;
clear all
close all
nntwarn off;
rng('default');
%% 数据载入
load data;
a=data;
%% 选取训练数据和测试数据
for i=1:6p(i,:)=[a(i,:),a(i+1,:),a(i+2,:)];
end
% 训练数据输入
p_train=p(1:5,:);
% 训练数据输出
t_train=a(4:8,:);
% 测试数据输入
p_test=p(6,:);
% 测试数据输出
t_test=a(9,:);% 为适应网络结构 做转置
p_train=p_train';
t_train=t_train';
p_test=p_test';%% 网络相关参数设定
hiddNum = 18;%隐含层个数
R = size(p_train,1);%输入数据每组的维度
Q = size(t_train,1);%输出数据的维度
threshold = [0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];%每组数据对应维度的最小(0)和最大值(1);%% 灰狼相关参数设定
%% 定义灰狼优化参数
pop=20; %种群数量%% 利用基础Elman进行预测
% 建立Elman神经网络 隐藏层为hiddNum个神经元
net1=newelm(threshold,[hiddNum,Q],{'tansig','purelin'});
% 设置网络训练参数
net1.trainparam.epochs=100;
net1.trainParam.showWindow = false;
net1.trainParam.showCommandLine = false; % 初始化网络net1=init(net1);
% Elman网络训练
net1=train(net1,p_train,t_train);
% 预测数据
y1=sim(net1,p_test);
% 计算误差
error1 = y1'-t_test;
ESum1 = sum(abs(error1));
figure
plot(y1,'ro-','linewidth',2);
hold on
plot(t_test,'b*-','linewidth',2);
title('Elman预测图')
set(gca,'Xtick',[1:3])
legend('GWO-Elman','原始Elman')
xlabel('时间点')
ylabel('误差')
%% 通过作图 观察不同隐藏层神经元个数时,网络的预测效果
figure
plot(abs(error),'ro-','linewidth',2);
hold on
plot(abs(error1),'b*-','linewidth',2);
title('Elman预测绝对误差图')
set(gca,'Xtick',[1:3])
legend('GWO-Elman','原始Elman')
xlabel('时间点')
ylabel('误差')
hold off;
grid on;
disp(['原始Elman的绝对误差和:',num2str(ESum1)])
disp(['GWO-Elman的绝对误差和:',num2str(ESum)])%% 绘制灰狼收敛曲线
figure
plot(GWO_curve,'linewidth',1.5);
title('灰狼收敛曲线')
xlabel('迭代次数')
ylabel('适应度值')
grid on

四、运行结果


五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]施龙青,张荣遨,徐东晶等.基于GWO-Elman神经网络的底板突水预测[M].煤炭学报. 2020,45(07)

【回归预测】基于matlab灰狼算法优化ELMAN神经网络回归预测【含Matlab源码 1782期】相关推荐

  1. 【ELAMN预测】基于灰狼算法优化ELMAN神经网络实现数据回归预测matlab代码

    1 简介 风能,作为一种重要,有潜力,无污染,可再生.可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐.近年来,为缓解能源短缺问题,改善环境,实现经济乃至人类的可持续发展,世 ...

  2. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

  3. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

  4. 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】

    一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  5. 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】

    一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  6. 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】

    一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  7. 【预测模型-ELAMN预测】基于蚁群算法优化ELMAN神经网络实现数据回归预测matlab代码

    1 简介 风能,作为一种重要,有潜力,无污染,可再生.可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐.近年来,为缓解能源短缺问题,改善环境,实现经济乃至人类的可持续发展,世 ...

  8. 【ELAMN预测】基于粒子群算法优化ELMAN神经网络实现数据回归预测 matlab代码

    1 简介 风能,作为一种重要,有潜力,无污染,可再生.可持续的能源,已经成为全球发电最为迅速的能源之一,越来越受到世界各国的青睐.近年来,为缓解能源短缺问题,改善环境,实现经济乃至人类的可持续发展,世 ...

  9. 【锂电池容量预测】基于matlab灰狼算法优化LSTM神经网络锂电池容量预测【含Matlab源码 2004期】

    一.灰狼算法简介 1 前言: 灰狼优化算法(Grey Wolf Optimizer,GWO)由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法.该算法受到了灰狼 ...

  10. 【回归预测-BP预测】基于灰狼算法优化BP神经网络实现数据回归预测附matlab代码

    1 内容介绍 Mirjalili 等在 2014 年 提 出 了 灰 狼 优 化 ( Grey Wolf Optimizer,GWO) 算法,是一种新型群智能优化算法,通过模拟自然界中灰狼寻找.包围和 ...

最新文章

  1. 架构师之前,请先进阶,不要只会 Spring
  2. 回溯法解决工作分配问题及分析
  3. R开发(part6)--pryr包
  4. 人生有五不:不等、不管、不看、不做、不给
  5. Druid:数据库连接池实现技术,由阿里巴巴提供的
  6. Liferay 中Minifier Filter的minifyCss 奥秘窥探
  7. Linux 密码复杂度
  8. 44.mysqlbinlog
  9. HTTP代理服务器 - CONNECT SSL/TLS 原理
  10. 虚拟机安装SQLService启用windows功能NetFx3时出错
  11. 开关电源和家电电源常用电磁兼容(EMC)执行标准
  12. 规划控制下的二阶段设计理论 -【多核服务价值链协同】
  13. 计算机办公小知识,工作常用电脑知识技巧大全
  14. python3 获取商店里App评论+解析+存档+筛选
  15. RFID反向不归零编码(NRZ)
  16. 二十一世纪大学英语读写教程(第四册)学习笔记(原文)——1 - Who Is Great?(谁是伟人?)
  17. 【Django】开发日报_4_Day:手机号码管理系统-创建项目并实现基本功能
  18. 四大名著之精选22句名言:经典即是永恒,蕴藏人生哲理
  19. JavaScript基础知识点之浏览器交互
  20. python算法打包成接口供其他语言调用

热门文章

  1. Oracle-第一篇一些调优技巧
  2. 天涯社区用到的日历函数
  3. HTTP协议【详解】——经典面试题
  4. JavaScript数组实现图片轮播
  5. toLocaleTimeString()方法在IE和谷歌浏览器上 根据本地时间格式,把 Date 对象的时间部分(不含日期)转换为“时间字符串”存在区别...
  6. Android 属性动画实现一个简单的PopupWindow
  7. SQL中代替Like语句的另一种写法
  8. GRBL学习笔记2--grbl Arduino烧写
  9. aGlass学习笔记 1
  10. Atiitt 图像处理的常见功能业务用途与类库与功能实现 目录 1. 常见业务场景 3 1.1. 缩略图 蒙版遮罩挖空 3 1.2. 区域裁剪,水印,旋转 3 1.3. 判断图像大小分辨率要求