✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
个人主页:Matlab科研工作室
个人信条:格物致知。
⛄ 内容介绍
光伏发电受天气与地理环境影响,呈现出波动性和随机多干扰性,其输出功率容易随着外界因素变化而变化,因此预测发电输出功率对于优化光伏发电并网运行和减少不确定性的影响至关重要.本文提出一种基于遗传算法(GA)优化的长短记忆神经网络混合模型(GA-LSTM),首先LSTM模块提取时间特征和附近隐藏状态向量,同时通过GA优化LSTM训练网络的超参数权重与偏置值.在初期对历史数据进行归一化处理,然后对本文提出来的经GA优化后的LSTM混合神经网络(GA-LSTM)算法模型进行光伏功率预测实验.同时与CNN,LSTM两个单一神经网络模型以及未经GA优化-LSTM混合神经网络模型的预测性能进行比较.结果显示在平均绝对误差率(MAPE)指标下,本文提出的GA-LSTM算法模型比单一神经网络模型最好的结果减少了1.537%的误差本文的算法模型对光伏发电功率具有更好的预测性能.
1.1 遗传算法
1.2 LSTM模型
⛄ 部分代码
function [z_rmse,X,YPred]=Objfunction(x,lenchrom,ps_input,ps_output,numFeatures,numHiddenUnits,numResponses,XTrain,YTrain,test_N,XTest,YTest)
%% 目标函数
% 输入 x:二进制编码
% lenchrom:各变量的二进制位数
% 输出 Y:目标值
% X:十进制数
bound=[0.0001 0.1]; % 函数自变量的范围
%% 将binary数组转化成十进制数组
X=bin2decFun(x,lenchrom,bound);
%% 计算适应度-函数值
% Y=sin(4*pi*X(1))*X(1)+sin(20*pi*X(1))*X(1);
layers = [ ...
sequenceInputLayer(numFeatures)
lstmLayer(numHiddenUnits)
fullyConnectedLayer(numResponses)
regressionLayer];
%指定训练选项,求解器设置为adam, 250 轮训练。
%梯度阈值设置为 1。指定初始学习率 0.005,在 125 轮训练后通过乘以因子 0.2 来降低学习率。
options = trainingOptions('adam', ...
'MaxEpochs',250, ...
'GradientThreshold',2, ...
'InitialLearnRate',X, ...
'LearnRateSchedule','piecewise', ...
'LearnRateDropPeriod',125, ...
'LearnRateDropFactor',0.1, ...
'Verbose',0);
%训练LSTM
net = trainNetwork(XTrain,YTrain,layers,options);%训练网络
net = resetState(net);
net = predictAndUpdateState(net,XTrain);%
YPred1 = [];
numTimeStepsTest =test_N;%步数
for mm = 1:numTimeStepsTest
[net,YPred1(:,mm)] = predictAndUpdateState(net,XTest(:,mm),'ExecutionEnvironment','cpu');%%预测
end
mint=ps_output.xmin;
maxt=ps_output.xmax;
YPred=postmnmx(YPred1,mint,maxt)';%反归一化
for mm = 1:numTimeStepsTest
if isempty(find(XTest(:,mm)==0))
YPred(mm)=YPred(mm);
else
YPred(mm)=0;
end
end
%% 评判指标
z_mse = mean((YPred-YTest').^2);%mse
z_mae = mean(abs(YPred-YTest'));%mae
z_r=1-sum((YPred-mean(YTest')).^2)/sum((YPred-YTest').^2);%r
z_rmse = sqrt(mean((YPred-YTest').^2));%均方差
⛄ 运行结果
⛄ 参考文献
[1] 王晨阳, 汪志勇, 段倩倩,等. 基于遗传算法优化卷积长短记忆混合神经网络模型的光伏发电功率预测[J]. 物理学报, 2020, 69(10):7.
[2] 费珊珊, 张忠林. 改进遗传算法优化GA-LSTM网络的时序预测模型.
[3] 邓惟绩, 肖辉, 李金泽,等. 基于改进长短期记忆网络和高斯过程回归的光伏功率预测方法[J]. 电器与能效管理技术, 2021.