-
大小: 1KB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2021-04-21
- 語言: Matlab
- 標(biāo)簽: MATLAB??負(fù)荷預(yù)測??神經(jīng)網(wǎng)絡(luò)??Elman??
資源簡介
Elman神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)預(yù)測—電力負(fù)荷預(yù)測模型研究
代碼片段和文件信息
%%??案例18:?基于Elman神經(jīng)網(wǎng)絡(luò)的電力負(fù)荷預(yù)測模型研究
%%?清空環(huán)境變量
clc;
clear?all
close?all
nntwarn?off;
%%?數(shù)據(jù)載入
load?data;
a=data;
%%?選取訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)
for?i=1:6
????p(i:)=[a(i:)a(i+1:)a(i+2:)];
end
%?訓(xùn)練數(shù)據(jù)輸入
p_train=a(1:5:);
%?訓(xùn)練數(shù)據(jù)輸出
t_train=a(4:8:);
%?測試數(shù)據(jù)輸入
p_test=p(6:);
%?測試數(shù)據(jù)輸出
t_test=a(9:);
%?為適應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)?做轉(zhuǎn)置
p_train=p_train‘;
t_train=t_train‘;
p_test=p_test‘;
%%?網(wǎng)絡(luò)的建立和訓(xùn)練
%?利用循環(huán),設(shè)置不同的隱藏層神經(jīng)元個(gè)數(shù)
nn=[7?11?14?18];
for?i=1:4
????threshold=[0?1;0?1;0?1;0?1;0?1;0?1;0?1;0?1;0?1];?%?1組輸入數(shù)據(jù)的閾值
????%?建立Elman神經(jīng)網(wǎng)絡(luò)?隱藏層為nn(i)個(gè)神經(jīng)元
????%?原語句為:net=newelm(threshold[nn(i)3]{‘tansig‘‘purelin‘});?
????net=newelm(threshold[nn(i)3]{‘tansig‘‘purelin‘}‘trainlm‘);
????%?設(shè)置網(wǎng)絡(luò)訓(xùn)練參數(shù)
????net.trainparam.epochs=1000;
????net.trainparam.show=20;
????%?初始化網(wǎng)絡(luò)
????net=init(net);
????%?Elman網(wǎng)絡(luò)訓(xùn)練
????net=train(netp_traint_train);
????%?預(yù)測數(shù)據(jù)
????y=sim(netp_test);
????%?計(jì)算誤差
????error(i:)=y‘-t_test;
end
%%?通過作圖?觀察不同隱藏層神經(jīng)元個(gè)數(shù)時(shí),網(wǎng)絡(luò)的預(yù)測效果
plot(1:1:3error(1:)‘-ro‘‘linewidth‘2);
hold?on;
plot(1:1:3error(2:)‘b:x‘‘linewidth‘2);
hold?on;
plot(1:1:3error(3:)‘k-.s‘‘linewidth‘2);
hold?on;
plot(1:1:3error(4:)‘c--d‘‘linewidth‘2);
title(‘Elman預(yù)測誤差圖‘)
set(gca‘Xtick‘[1:3])
legend(‘7‘‘11‘‘14‘‘18‘‘location‘‘best‘)
xlabel(‘時(shí)間點(diǎn)‘)
ylabel(‘誤差‘)
hold?off;
%%
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1504??2012-03-23?20:33??elman?load?forecast.m
-----------?---------??----------?-----??----
?????????????????1504????????????????????1
評論
共有 條評論