【LSTM回归预测】基于北方苍鹰算法优化长短时记忆网络NGO-LSTM实现风电数据预测附matlab代码

简介: 【LSTM回归预测】基于北方苍鹰算法优化长短时记忆网络NGO-LSTM实现风电数据预测附matlab代码

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

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

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

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

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

⛄ 内容介绍

针对海上风电功率预测精度差的问题,提出一种NGO-LSTM模型.选择在时间序列问题处理上具有良好性能的长短期记忆(LSTM)神经网络,通过寻优能力强、收敛速度快的北方苍鹰算法对LSTM网络隐含层神经元个数、学习率和训练次数等超参数进行优化,得到NGO-LSTM模型.采用江苏省盐城市某400 MW风电场功率数据进行算例分析,在不同条件变量下分别使用NGO-LSTM模型、LSTM模型预测,仿真结果表明,NGO-LSTM模型具有更高的预测精度、更好的预测稳定性.


⛄ 部分代码

%%

% NGO.

% Northern Goshawk Optimization: A New Swarm-Based Algorithm for Solving Optimization Problems

% Mohammad Dehghani1, Pavel Trojovský1, and Stepan Hubálovský2

% 1Department of Mathematics, Faculty of Science, University of Hradec Králové, 50003 Hradec Králové, Czech Republic

% 2Department of Applied Cybernetics, Faculty of Science, University of Hradec Králové, 50003 Hradec Králové, Czech Republic


% " Optimizer"

%%

function [Score,Best_pos,NGO_curve]=NGO(Search_Agents,Max_iterations,Lowerbound,Upperbound,dimensions,objective)

tic


disp('PLEASE WAIT, The program is running.')


Lowerbound=ones(1,dimensions).*(Lowerbound);                              % Lower limit for variables

Upperbound=ones(1,dimensions).*(Upperbound);                              % Upper limit for variables



X=[];

X_new=[];

fit=[];

fit_new=[];

NGO_curve=zeros(1,Max_iterations);




%%

for i=1:dimensions

   X(:,i) = Lowerbound(i)+rand(Search_Agents,1).*(Upperbound(i) -Lowerbound(i));              % Initial population

end

for i =1:Search_Agents

   L=X(i,:);

   fit(i)=objective(L);                    % Fitness evaluation (Explained at the top of the page. )

end



for t=1:Max_iterations  % algorithm iteration

   

   %%  update: BEST proposed solution

   [best , blocation]=min(fit);

   

   if t==1

       xbest=X(blocation,:);                                           % Optimal location

       fbest=best;                                           % The optimization objective function

   elseif best<fbest

       fbest=best;

       xbest=X(blocation,:);

   end

   

   

   %% UPDATE Northern goshawks based on PHASE1 and PHASE2

   

   for i=1:Search_Agents

       %% Phase 1: Exploration

       I=round(1+rand);

       k=randperm(Search_Agents,1);

       P=X(k,:); % Eq. (3)

       F_P=fit(k);

       

       if fit(i)> F_P

           X_new(i,:)=X(i,:)+rand(1,dimensions) .* (P-I.*X(i,:)); % Eq. (4)

       else

           X_new(i,:)=X(i,:)+rand(1,dimensions) .* (X(i,:)-P); % Eq. (4)

       end

       X_new(i,:) = max(X_new(i,:),Lowerbound);X_new(i,:) = min(X_new(i,:),Upperbound);

       

       % update position based on Eq (5)

       L=X_new(i,:);

       fit_new(i)=objective(L);

       if(fit_new(i)<fit(i))

           X(i,:) = X_new(i,:);

           fit(i) = fit_new(i);

       end

       %% END PHASE 1

       

       %% PHASE 2 Exploitation

       R=0.02*(1-t/Max_iterations);% Eq.(6)

       X_new(i,:)= X(i,:)+ (-R+2*R*rand(1,dimensions)).*X(i,:);% Eq.(7)

       

       X_new(i,:) = max(X_new(i,:),Lowerbound);X_new(i,:) = min(X_new(i,:),Upperbound);

       

       % update position based on Eq (8)

       L=X_new(i,:);

       fit_new(i)=objective(L);

       if(fit_new(i)<fit(i))

           X(i,:) = X_new(i,:);

           fit(i) = fit_new(i);

       end

       %% END PHASE 2

       

   end% end for i=1:N

   

   %%

   %% SAVE BEST SCORE

   best_so_far(t)=fbest; % save best solution so far

   average(t) = mean (fit);

   Score=fbest;

   Best_pos=xbest;

   NGO_curve(t)=Score;

end

%%

d

⛄ 运行结果

⛄ 参考文献

[1]李森文, 张伟, 李纯宇,等. 基于SSA-LSTM的海上风电功率预测[J]. 机械与电子, 2022(040-006).

[1]杨耘, 王彬泽, 刘艳,等. 基于时空优化LSTM深度学习网络的气温预测[J]. 徐州工程学院学报:自然科学版, 2020, 35(2):6.

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料
相关文章
|
25天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
10天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
11天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
12天前
|
存储 算法 决策智能
基于免疫算法的TSP问题求解matlab仿真
旅行商问题(TSP)是一个经典的组合优化问题,目标是寻找经过每个城市恰好一次并返回起点的最短回路。本文介绍了一种基于免疫算法(IA)的解决方案,该算法模拟生物免疫系统的运作机制,通过克隆选择、变异和免疫记忆等步骤,有效解决了TSP问题。程序使用MATLAB 2022a版本运行,展示了良好的优化效果。
|
11天前
|
机器学习/深度学习 算法 芯片
基于GSP工具箱的NILM算法matlab仿真
基于GSP工具箱的NILM算法Matlab仿真,利用图信号处理技术解析家庭或建筑内各电器的独立功耗。GSPBox通过图的节点、边和权重矩阵表示电气系统,实现对未知数据的有效分类。系统使用MATLAB2022a版本,通过滤波或分解技术从全局能耗信号中提取子设备的功耗信息。
|
11天前
|
机器学习/深度学习 算法 5G
基于MIMO系统的SDR-AltMin混合预编码算法matlab性能仿真
基于MIMO系统的SDR-AltMin混合预编码算法通过结合半定松弛和交替最小化技术,优化大规模MIMO系统的预编码矩阵,提高信号质量。Matlab 2022a仿真结果显示,该算法能有效提升系统性能并降低计算复杂度。核心程序包括预编码和接收矩阵的设计,以及不同信噪比下的性能评估。
29 3
|
22天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。
|
23天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
28天前
|
存储
基于遗传算法的智能天线最佳阵列因子计算matlab仿真
本课题探讨基于遗传算法优化智能天线阵列因子,以提升无线通信系统性能,包括信号质量、干扰抑制及定位精度。通过MATLAB2022a实现的核心程序,展示了遗传算法在寻找最优阵列因子上的应用,显著改善了天线接收功率。
|
16天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。