【预测模型】基于VMD结合Elman神经网络预测数据matlab代码
生活随笔
收集整理的這篇文章主要介紹了
【预测模型】基于VMD结合Elman神经网络预测数据matlab代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 簡介
針對電力負荷序列的非平穩(wěn)性和非線性等特點,提出了一種基于變分模態(tài)分解技術VMD-樣本熵SE和Elman神經網絡短期負荷預測模型.為了降低原始序列的復雜度和不穩(wěn)定性,首先利用VMD-SE將原始電力序列分解成多個子序列;然后根據Elman神經網絡預測模型;最后將各個子序列的預測結果疊加得到最終結果,實現短期負荷預測.應用于實例,結果表明,該模型能有效提高預測精度.
2 部分代碼
clear;%CSO優(yōu)化BP權值和閾值 clc; load('VMD_S','VMD_S'); G1=VMD_S'; G1=abs(G1)/10; S=G1(1,1:2304); tic; );%基于輸入統(tǒng)一歸一化 %BP神經網絡預測 bb=sim(net,Pt1); Z1=mapminmax('reverse',bb,ts);%CSO優(yōu)化后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;總結
以上是生活随笔為你收集整理的【预测模型】基于VMD结合Elman神经网络预测数据matlab代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 4864 Task(贪心或高斯消
- 下一篇: Python 用hashlib求中文字符