1 简介
针对电力负荷序列的非平稳性和非线性等特点,提出了一种基于变分模态分解技术VMD-样本熵SE和Elman神经网络短期负荷预测模型.为了降低原始序列的复杂度和不稳定性,首先利用VMD-SE将原始电力序列分解成多个子序列;然后根据Elman神经网络预测模型;最后将各个子序列的预测结果叠加得到最终结果,实现短期负荷预测.应用于实例,结果表明,该模型能有效提高预测精度.
2 部分代码
clear;%CSO优化BP权值和阈值 clc; load('VMD_S','VMD_S'); G1=VMD_S'; G1=abs(G1)/10; S=G1(1,1:2304); tic; );%基于输入统一归一化 %BP神经网络预测 bb=sim(net,Pt1); Z1=mapminmax('reverse',bb,ts);%CSO优化后BP结果 for j=1:36 Z2=[Z2,Z1(:,j)']; end Z(s,:)=Z2(1,1:144); end R(r,:)=sum(Z,1);%预测值 for ii=1:144 if R(1,ii)<0 R(1,ii)=0; end end %%%%%%%%MAE m=0; for i=1:144 m=m+abs(R(r,i)-Tt(1,i)); end Nmae(1,r)=(m/(144*10.02))*100; %%%%%%%%MAPE %%%%%%%%RMSE m=0; for i=1:100 m=m+(R(r,i)-Tt(1,i))^2; end Nrmse(1,r)=((sqrt(m/144))/10.02)*100; plot(1:144,R,'r',1:144,Tt,'b'); end toc;
3 仿真结果
4 参考文献
[1]徐轶丹, 刘敏. 基于VMD-SE和GAElman神经网络的短期负荷预测模型[J]. 电力科学与工程, 2019, 35(7):6.
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇