資源簡介
基于支持向量機負荷功率預(yù)測,使用粒子群算法進行參數(shù)尋優(yōu),供參考

代碼片段和文件信息
function?[Acu]=AdaptFunc(XXYY)
%C為最小二乘支持向量機的正則化參數(shù),theta為高斯徑向基的核函數(shù)參數(shù),兩個需要進行優(yōu)化選擇調(diào)試
NumOfPre?=1;%預(yù)測天數(shù),在此預(yù)測本季度最后七天
Time?=?24;
Data?=?xlsread(‘a(chǎn)23.xls‘);%此為從excel表格讀數(shù)據(jù)的命令,表示將表格的數(shù)據(jù)讀到Data數(shù)組中,省略表格中的第一行第一列文字部分?可輸入你要預(yù)測的表格名稱
[M?N]?=?size(Data);%計算讀入數(shù)據(jù)的行和列?M行N列
for?i?=?1:3
????maxData?=?max(Data(:i));
????minData?=?min(Data(:i));
????Data1(:i)?=?(Data(:i)?-?minData)/(maxData-minData);%對溫度進行歸一化處理
end
for?i?=?4:5
????Data1(:i)?=?Data(:i);
end
for?i?=?6:N
????Data1(:i)?=?log10(Data(:i))?;%對負荷進行對數(shù)處理?溫度和負荷的預(yù)處理?可采用不同的方法?可不必拘泥
end
Dim?=??M?-?2?-?NumOfPre;%訓練樣本數(shù)%訓練樣本數(shù)
Input?=?zeros(M-212Time);%預(yù)先分配處理后的輸入向量空間
y?=?zeros(DimTime);
for?i?=?3:M?
????for?j?=?1:Time
????????%%選取前一天溫度、同一時刻的負荷,前兩天的負荷,當天的溫度作為輸入特征
????????x?=?[Data1(i-11:5)?Data1(i-1j+5)?Data1(i-2j+5)Data1(i1:5)];
????????Input(i-2:j)?=?x;
????????y(i-2j)?=?Data1(ij+5);
????end
end
Dist?=?zeros(DimDimTime);%預(yù)先分配距離空間
for?i=1:Time
????for?j=1:Dim
????????for?k=1:Dim
????????????Dist(jki)?=?(Input(j:i)?-?Input(k:i))*(Input(j:i)?-?Input(k:i))‘;
????????end
????end
end
Dist1=exp(-Dist/(2*YY));%RBF
for?i=1:Time
????H?=?Dist1(::i)?+?eye(Dim)/XX;%最小二乘支持向量的H矩陣
????f?=?-y(1:Dimi);?
????Aeq?=?ones(Dim1)‘;
????beq?=?[0];
????option.MaxIter=1000;
????[afval]=quadprog(Hf[][]Aeqbeq);%[][][]option);
????b?=?0;
????for?j?=?1:Dim
????????b(j)?=?y(ji)?-?a(j)/XX?-?a‘*?Dist1(:ji);%求每個輸入特征對應(yīng)的b
????end
????b?=?sum(b)/Dim;%求平均b,消除誤差
????for?j?=?Dim?+?1:M-2
????????for?k?=?1:Dim
????????????K(k)?=?exp(-(Input(j:i)?-?Input(k:i))*(Input(j:i)?-?Input(k:i))‘/(2*YY));%預(yù)測輸入特征與訓練特征的RBF距離
????????end
????????Pre(j-Dimi)?=?sum(a‘*K‘)?+?b;??%求解預(yù)測值???
????end
end
Len?=?M??-?(Dim?+?3)?+?1;%預(yù)測的天數(shù)?取本季度最后Len天
Pre?=?10.^Pre;
%for?i?=?1:Len
%???figure
%???plot(1:TimeData(i+Dim+26:N)‘-ro‘1:TimePre(i:)‘-k^‘);%畫出每一天的預(yù)測值和真實值
%???hold?on
%
%???axis([0?25?0?100])%坐標范圍
%???hold?off
%end
acu?=?(Pre?-?Data(Dim+3:M6:N))./Data(Dim+3:M6:N);%相對誤差
s=0;
for?i=1:Time
????s=abs(acu(1i))+s;
end
Acu=s/Time;
save?acu.mat?acu
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-05-05?10:54??PSO-SVM\
?????文件???????22016??2018-03-24?21:13??PSO-SVM\a23.xls
?????文件????????2392??2010-06-04?09:14??PSO-SVM\AdaptFunc.m
?????文件????????2386??2010-06-17?17:26??PSO-SVM\AdaptFunc1.m
?????文件????????3813??2010-05-18?10:36??PSO-SVM\ba
?????文件????????2174??2010-05-18?10:36??PSO-SVM\InitSwarm.m
?????文件????????2112??2010-06-03?20:20??PSO-SVM\pso.m
?????文件????????2527??2010-06-17?17:26??PSO-SVM\shorttime.m
?????目錄???????????0??2018-05-05?10:53??PSO-SVM\數(shù)據(jù)\
?????文件???????22016??2010-06-03?19:41??PSO-SVM\數(shù)據(jù)\a23.xls
?????文件???????20992??2010-06-03?19:42??PSO-SVM\數(shù)據(jù)\a45.xls
?????文件???????16896??2010-06-03?19:38??PSO-SVM\數(shù)據(jù)\B2.xls
?????文件???????19456??2010-05-17?21:11??PSO-SVM\數(shù)據(jù)\b3.xls
?????文件???????19456??2010-06-03?19:39??PSO-SVM\數(shù)據(jù)\B4.xls
?????文件???????17408??2010-06-03?19:40??PSO-SVM\數(shù)據(jù)\B5.xls
?????文件???????35840??2010-03-12?08:57??PSO-SVM\數(shù)據(jù)\bdata1.xls
- 上一篇:hotplug 熱插拔 測試程序
- 下一篇:常用生態(tài)學模型
評論
共有 條評論