【PM2.5浓度预测】基于sine混沌映射改进的麻雀算法优化BP神经网络PM2.5浓度预测附matlab 代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法       神经网络预测       雷达通信       无线传感器        电力系统

信号处理              图像处理               路径规划       元胞自动机        无人机 

⛄ 内容介绍

针对传统BP神经网络模型收敛速度慢,易陷入局部极值等问题,本文采用sine混沌映射改进麻雀搜索算法(SSA),并优化BP神经网络模型初始权值和阈值,对西安市PM_(2.5)浓度进行预测.通过比较不同模型预测结果的评价指标,并与性能较优的SSA-BP模型对比,ISSA-BP模型预测结果的RMSE,MAPE,MAE分别下降了3.70,3.73,3.34.试验结果表明,改进后的麻雀搜索算法具有高效的全局最优搜索能力,优化后的ISSA-BP神经网络预测稳定性高,精度优于BP,SSA-BP神经网络模型,可用于预测PM_(2.5)浓度.

⛄ 部分代码

function error = fitness(x,inputnum,hiddennum_best,outputnum,net,inputn,outputn,output_train,inputn_test,outputps,output_test)

%该函数用来计算适应度值

hiddennum=hiddennum_best;

%提取

setdemorandstream(pi);   

w1=x(1:inputnum*hiddennum);%取到输入层与隐含层连接的权值

B1=x(inputnum*hiddennum+1:inputnum*hiddennum+hiddennum);%隐含层神经元阈值

w2=x(inputnum*hiddennum+hiddennum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum);%取到隐含层与输出层连接的权值

B2=x(inputnum*hiddennum+hiddennum+hiddennum*outputnum+1:inputnum*hiddennum+hiddennum+hiddennum*outputnum+outputnum);%输出层神经元阈值

net.trainParam.showWindow=0;  %隐藏仿真界面

%网络权值赋值

net.iw{1,1}=reshape(w1,hiddennum,inputnum);%将w1由1行inputnum*hiddennum列转为hiddennum行inputnum列的二维矩阵

net.lw{2,1}=reshape(w2,outputnum,hiddennum);%更改矩阵的保存格式

net.b{1}=reshape(B1,hiddennum,1);%1行hiddennum列,为隐含层的神经元阈值

net.b{2}=reshape(B2,outputnum,1);

%网络训练

net=train(net,inputn,outputn);

an0=sim(net,inputn);

train_simu=mapminmax('reverse',an0,outputps);

an=sim(net,inputn_test);

test_simu=mapminmax('reverse',an,outputps);

% error=mse(output_test,test_simu);   %适应度函数选取为测试集的均方误差,适应度函数值越小,表明模型的预测精度越高,注意newff函数搭建的BP,产生了交叉验证,因此选另外的数据预测误差作为适应度函数是合理。

error=(mse(output_train,train_simu)+mse(output_test,test_simu))/2; %适应度函数选取为训练集与测试集整体的均方误差平均值,适应度函数值越小,表明训练越准确,且兼顾模型的预测精度更好。

⛄ 运行结果

⛄ 参考文献

[1] 孙荣基赵松张小琴李洪鲁盛利伟冯裕钊. 一种基于BP神经网络改进算法的PM2.5预测方法[J]. 四川环境, 2015, 34(4):85-90.

[2] 赵侃, 师芸, 牛敏杰,等. 基于改进麻雀搜索算法优化BP神经网络的PM_(2.5)浓度预测[J]. 测绘通报, 2022(10):6.

[3] 苏春皓. 基于BP神经网络的PM2.5质量浓度预测[J]. 电脑迷, 2017, 000(027):186.

[4] 付彦丽. 基于神经网络的PM2.5质量浓度预测研究[D]. 陕西科技大学, 2016.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除

❤️ 关注我领取海量matlab电子书和数学建模资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值