基于北方苍鹰算法优化LSTM(NGO-LSTM)研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据


💥1 概述

苍鹰是森林中肉食性猛禽。视觉敏锐,善于飞翔。白天活动。性甚机警,亦善隐藏。通常单独活动,叫声尖锐洪亮。在空中翱翔时两翅水平伸直,或稍稍向上抬起,偶尔亦伴随着两翅的煽动,但除迁徙期间外,很少在空中翱翔,多隐蔽在森林中树枝间窥视猎物,飞行快而灵活,能利用短圆的翅膀和长的尾羽来调节速度和改变方向、在林中或上或下,或高或低穿行于树丛问,并能加还飞行速度在树林中追捕猎物,有时也在林缘开阔地上空飞行或沿直线滑翔,窥视地面动物活动,一旦发现森林中的鼠类、野兔、雉类、榛鸡、鸠鸽类和其他中小形鸟类的猎物,则迅速俯冲,呈直线追击,用利爪抓捕猎获物。它的体重虽然比等中型猛禽要轻五分之一左右,但速度要快3倍以上,伸出爪子打击猎物时的速度为每秒钟22.5米,所以捕食的特点是猛、准、狠、快,具有较大的杀伤力,凡是力所能及的动物,都要猛扑上去,用一只脚上的利爪刺穿其胸膛,再用另一只脚上的利爪将其腹部剖开,先吃掉鲜嫩的心、肝、肺等内脏部分,再将鲜血淋漓的尸体带回栖息的树上撕裂后啄食。
LSTM是RNN的一种变种,可以有效地解决RNN的梯度爆炸或者消失问题。,如图一所示为LSTM的结构,LSTM网络由一个个的LSTM单元连接而成。

 本文基于北方苍鹰算法优化LSTM(NGO-LSTM)研究,并用Matlab代码实现之。

📚2 运行结果

 

部分代码:

function  [error_test,pererror_test,MAPE_test,RMSE_test,NRMSE_test,MSE_test,R2_test,NSE_test,CA_test,MAE_test,R1_test,accuracy_test,WI_test, PFC_test,  LFC_test ,PPTS_test]= assessment_criteria(test_simu,data_test)
error_test = test_simu-data_test;      % 测试集绝对误差
pererror_test=error_test./data_test;     % 相对误差
MAPE_test = mean(abs(pererror_test))*100;     % 平均绝对百分误差(平均相对误差)
RMSE_test  = sqrt(mean((error_test).^2));   % 均方根误差     RMSE can provide a good measure of model performance for high flows
NRMSE_test=sqrt(sum((error_test).^2))./sqrt(sum((data_test-mean(data_test)).^2)); % 测试集绝对误差
MSE_test=mse(error_test); %均方误差  
R2_test = 1 - (sum(error_test.^2) / sum((test_simu - mean(data_test)).^2));  % 确定性系数(R2-R-Square)  R2<1,R2越接近1预测结果越优
NSE_test=1-sum(power(error_test,2))/sum(power(data_test-mean(data_test),2)); % 纳什系数
CA_test=(MAPE_test/100 + NRMSE_test +(1-NSE_test))/3;  % combined accuracy


% SSE_test=sum(error_test.^2);   %误差平方和SSE_test为
MAE_test=mean(abs(error_test));       %平均绝对误差   
r_test=corrcoef(data_test,test_simu);    %corrcoef计算相关系数矩阵,包括自相关和互相关系数
R1_test=r_test(1,2);  
% accuracy_test=length(find(abs(pererror_test)<0.3))/size(data_test,1)*100;  %正确率,相对误差小于20%

accuracy_test_1=length(find(abs(pererror_test)<0.05))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_2=length(find(abs(pererror_test)<0.1))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_3=length(find(abs(pererror_test)<0.2))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_4=length(find(abs(pererror_test)<0.3))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_5=length(find(abs(pererror_test)<0.4))/size(data_test,1)*100;  %正确率,相对误差小于20%
accuracy_test_6=length(find(abs(pererror_test)<0.5))/size(data_test,1)*100;  %正确率,相对误差小于20%

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]满建峰,侯磊,杨凯,刘珈铨,张鑫儒,伍星光,贺思宸.基于PSO-LSTM混合模型的天然气管道多用气节点负荷预测研究[J].油气与新能源,2022,34(06):91-100.

🌈4 Matlab代码、数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值