彭顯剛,王洪森
(廣東工業(yè)大學(xué)自動(dòng)化學(xué)院,廣州510006)
電力系統(tǒng)負(fù)荷預(yù)測(cè)為電力系統(tǒng)編排調(diào)度計(jì)劃、供電計(jì)劃和交易計(jì)劃提供基礎(chǔ)數(shù)據(jù)。短期負(fù)荷預(yù)測(cè)對(duì)保障電力系統(tǒng)的安全、經(jīng)濟(jì)運(yùn)行和電能的質(zhì)量起到關(guān)鍵性作用[1]。“十二五”期間,隨著智能電網(wǎng)建設(shè)的快速推進(jìn)和電力市場(chǎng)化的進(jìn)一步改革,對(duì)短期電力負(fù)荷預(yù)測(cè)速度和精度都提出了更高的要求[2]。
隨著人工智能技術(shù)的高速發(fā)展,神經(jīng)網(wǎng)絡(luò)ANN(artificial neural network)[3]、模擬退火算法[4]、支持向量回歸SVR(support vector regression)[5]等具有較強(qiáng)自學(xué)能力的預(yù)測(cè)方法被廣泛應(yīng)用到短期負(fù)荷預(yù)測(cè)中,取得了一定成果。支持向量回歸能較好地解決過擬合、高維數(shù)和局部極小點(diǎn)等實(shí)際問題[6],但是SVR 模型復(fù)雜度較高,假設(shè)l 為訓(xùn)練樣本,則訓(xùn)練時(shí)間為O(l3)[7]。同時(shí),支持向量回歸的超參數(shù)會(huì)嚴(yán)重影響算法的學(xué)習(xí)和泛化能力[8]。但是目前常用的參數(shù)優(yōu)化算法如粒子群算法[9]、遺傳算法[10]等存在局部最小值和收斂速度慢等缺點(diǎn),優(yōu)化效果有待提高。
雙胞支持向量機(jī)TWSVM (twin support vector machine)方法由Jayadeva 等于2007年提出[11],之后彭新俊對(duì)其進(jìn)行擴(kuò)展,提出了雙胞支持向量的回歸算法TSVR(twin support vector regression)。傳統(tǒng)的SVR 求解的是一個(gè)具有兩組線性約束的大型的二次規(guī)劃問題,而TSVR 將其分解成兩個(gè)小型的二次規(guī)劃問題,降低了算法規(guī)模,使訓(xùn)練速度提升到至少為SVR 的4 倍。智能單粒子算法ISPO(intelligent single particle optimizer)是一種新型的全局優(yōu)化算法[12],具有較強(qiáng)的尋優(yōu)能力,已經(jīng)成功應(yīng)用到服務(wù)開通策略的優(yōu)化問題上[13]。但I(xiàn)SPO 算法存在參數(shù)設(shè)置問題,而且在迭代后期粒子搜索尺度不合理。本文對(duì)此加以改進(jìn),提出了競(jìng)爭(zhēng)型智能單粒子算法CISPO(competitive intelligent single particle optimizer)優(yōu)化的TSVR 負(fù)荷預(yù)測(cè)模型,通過實(shí)例仿真,分析對(duì)比ANN 模型、粒子群PSO(particle swarm optimization)優(yōu)化的TSVR 模型和本文CISPO-TSVR 模型在預(yù)測(cè)速度和精度上的差異,證明了該模型的先進(jìn)性。
TSVR 思想是尋找兩個(gè)非平行的超平面方程:
分別確定ε 不敏感帶的上界和下界,其中w1、w2為權(quán)值向量。假設(shè)訓(xùn)練樣本數(shù)據(jù)為(xi,yi),xi∈Rn,yi∈R,(i = 1,2,…,l)形成訓(xùn)練數(shù)據(jù)矩陣為(A,Y),線性TSVR 解決的兩個(gè)二次規(guī)劃問題為
式中:C1、C2為懲罰參數(shù);ε1、ε2為損失參數(shù);ξ、η 為松弛向量;e 為相應(yīng)維數(shù)的單位向量。引入拉格朗日乘子α=(α1;α2;…;αl)和β =(β1;β2;…;βl),可以將式(3)轉(zhuǎn)化為其對(duì)偶形式:
式中:G=[A e],f=Y-eε1。
同理可以得到式(4)的對(duì)偶形式:
式中,h=Y+eε2。
通過引入核函數(shù),上下邊界函數(shù)改為
可擴(kuò)展到非線性雙胞支持向量回歸,其原始二次規(guī)劃問題為
智能單粒子優(yōu)化算法由PSO 算法發(fā)展而來,其特殊之處在于算法采用單個(gè)粒子在解空間中搜索,并把位置矢量分成多個(gè)子矢量,基于子矢量對(duì)粒子進(jìn)行更新。更新時(shí),子矢量按先后順序(從z1到zm)進(jìn)行循環(huán)更新。在更新第j(1≤j≤m)個(gè)子矢量的過程中,將按以下的速度和位置更新公式迭代執(zhí)行N 次:
式中:位置矢量參數(shù)L 為學(xué)習(xí)變量;隨機(jī)矢量r 在[-0.5,0.5]范圍內(nèi)服從均勻分布;多樣性因子a、升降因子p、收縮因子s 和加速度因子b(b≥1)為常數(shù);f()為適應(yīng)值函數(shù)。粒子通過每一個(gè)子矢量在解空間的智能搜索,最后找到最優(yōu)解。
智能單粒子算法對(duì)大部分標(biāo)準(zhǔn)復(fù)合測(cè)試函數(shù)都具有很強(qiáng)的全局搜索能力,但是算法嚴(yán)重依賴于搜索參數(shù)的設(shè)定,不恰當(dāng)?shù)膮?shù)設(shè)置將導(dǎo)致優(yōu)化搜索無法有效進(jìn)行,并且在實(shí)驗(yàn)中發(fā)現(xiàn)算法的多樣性部分在迭代多次之后容易陷入混亂。為此,提出競(jìng)爭(zhēng)型智能單粒子算法,使算法的參數(shù)隨迭代進(jìn)行自動(dòng)調(diào)整,并修改算法的多樣性部分,引入迭代競(jìng)爭(zhēng)因子t,使其搜索能力更加合理。CISPO 的具體更新公式為
通過實(shí)驗(yàn)分析發(fā)現(xiàn),CISPO 中的收縮因子s 和加速度因子b 對(duì)算法的尋優(yōu)基本沒有影響。根據(jù)經(jīng)驗(yàn)設(shè)置為s=8,b=2,r 在[-1,1]范圍內(nèi)服從均勻分布。學(xué)習(xí)因子L 隨s 收縮已經(jīng)足夠了,無需當(dāng)其小于ε 時(shí)設(shè)為0,故將此操作取消。參數(shù)多樣性因子a、升降因子p(正數(shù)為下降,負(fù)數(shù)為上升)和迭代競(jìng)爭(zhēng)因子t 的自動(dòng)更新公式為
式中:t1、t2初值均為N;N 為最大迭代次數(shù);v為粒子最近一次找到比歷史位置更優(yōu)位置時(shí)的速度。
子矢量更新過程中,在迭代初期,子矢量較能找到比歷史位置更優(yōu)的位置,競(jìng)爭(zhēng)因子t1占主導(dǎo)位置,t2不斷減小,使子矢量不會(huì)因?yàn)榕紶柕倪m應(yīng)值沒有改善(即t=t2)而陷入混亂。此時(shí)多樣性部分[a/(1+p)t]r 下降到一定程度并逐漸變小,學(xué)習(xí)部分起主要作用,如式(16)~式(18)所示;假如在第n 次迭代中,適應(yīng)值得到改善,但在第n+1次迭代中適應(yīng)值沒有得到改善,則最優(yōu)點(diǎn)很有可能在第n 次迭代的位置附近,此時(shí)降低速度將有助于搜索最優(yōu)點(diǎn),所以將第n+2 次迭代中的L 減小到原來的1/s,由幾何原理分析可知第n+2 次粒子搜索的范圍應(yīng)該以第n 次迭代時(shí)速度的1/2 為基礎(chǔ)半徑,如式(19)所示;當(dāng)子矢量經(jīng)過多次迭代后仍然無法找到更優(yōu)的位置時(shí),則粒子很有可能陷入了局部最優(yōu)點(diǎn),此時(shí)競(jìng)爭(zhēng)因子t2將占主導(dǎo)位置,多樣性部分以指數(shù)的速度迅速擴(kuò)展到全局搜索,有利于找到全局最優(yōu)點(diǎn)。
從控制理論的角度看,CISPO 算法比ISPO 算法穩(wěn)定性更好,搜索能力更強(qiáng),并且不存在參數(shù)的設(shè)置問題,更適合于優(yōu)化多變量函數(shù)。CISPO 的算法流程如下。
步驟1 初始化粒子位置x0并計(jì)算初始適應(yīng)度f(x0),參數(shù)a = amax/2(amax為子矢量取值范圍),p = 1,t = N。
步驟2 初始化子矢量個(gè)數(shù)j = 1,初始學(xué)習(xí)變量L = 0
步驟3 初始子矢量迭代次數(shù)k = 1,并根據(jù)式(16)~式(23)更新子矢量的速度、位置、學(xué)習(xí)因子和多樣性因子a、升降因子p 以及迭代競(jìng)爭(zhēng)因子t。
步驟4 如果k 步驟5 如果j < m,則轉(zhuǎn)到步驟2,并將j =j + 1。 使用CISPO 優(yōu)化TSVR 參數(shù)包括兩個(gè)關(guān)鍵問題:①如何選取優(yōu)化組合向量x;②如何確定適應(yīng)值函數(shù)。 選取Gauss 函數(shù)作為TSVR 的非線性核函數(shù): 這樣TSVR 參數(shù)為C1、C2、ε1、ε2和σ,為了使優(yōu)化問題簡(jiǎn)化,可令C=C1=C2,ε=ε1=ε2,這樣優(yōu)化問題只包含3 個(gè)待優(yōu)化量,可將每個(gè)子矢量維數(shù)取為1。本文定義(lbC,lbε,lbσ)作為待優(yōu)化組合向量x,這樣可以提高搜索效率,得出更穩(wěn)定的優(yōu)化結(jié)果[14]。 適應(yīng)值函數(shù)通過引導(dǎo)粒子向更優(yōu)的位置移動(dòng),函數(shù)值越小適應(yīng)度越優(yōu),針對(duì)這個(gè)問題,定義適應(yīng)度函數(shù)為 式中:tk為目標(biāo)值;yk為粒子對(duì)應(yīng)的(C,ε,σ)在TSVR 模型中的輸出值;m 為樣本數(shù)。 短期負(fù)荷預(yù)測(cè)受歷史負(fù)荷、氣象、溫度、日期類型等因素影響,有很大的隨機(jī)性。所選歷史負(fù)荷與各個(gè)影響因素的相關(guān)系數(shù)如表1 所示。 表1 各個(gè)影響因素的相關(guān)系數(shù)Tab.1 Correlation coefficients of various influencial factors 可以看出,溫度和日期類型對(duì)該地區(qū)負(fù)荷的影響較大,降水量則對(duì)負(fù)荷基本沒有影響。另外在夏季高溫累積效應(yīng)也會(huì)對(duì)負(fù)荷產(chǎn)生較大影響,當(dāng)連續(xù)4日以上溫度超過25 ℃時(shí)應(yīng)當(dāng)考慮積溫效應(yīng),積溫量化公式C 可由文獻(xiàn)[15]中的方法求得??紤]到相近日或者相同類型日在同一時(shí)刻附近的負(fù)荷點(diǎn)具有較大的相關(guān)性,選取歷史負(fù)荷為前1、2、7 天相同時(shí)刻附近的3 個(gè)數(shù)據(jù)點(diǎn)。綜上所述,選取的樣本輸入為 式中:Tmin、Tmax、Tmean、DT 分別為最低溫度、最高溫度、平均溫度和日期類型;L(d,t)為第d 天t 時(shí)刻的待預(yù)測(cè)負(fù)荷點(diǎn)。 由于SCADA(supervisory control and data acquisition)系統(tǒng)采集負(fù)荷數(shù)據(jù)時(shí)偶爾會(huì)出現(xiàn)“壞點(diǎn)”,包括數(shù)據(jù)缺失或異變等,所以有必要對(duì)歷史負(fù)荷數(shù)據(jù)進(jìn)行預(yù)處理。本文采用文獻(xiàn)[16]中的橫縱向?qū)Ρ确▉硖幚須v史負(fù)荷數(shù)據(jù)。同時(shí)為了消除不同量綱對(duì)結(jié)果的影響,將樣本數(shù)據(jù)進(jìn)行歸一化處理。 (1)將歷史負(fù)荷數(shù)據(jù)和對(duì)應(yīng)的天氣數(shù)據(jù)等進(jìn)行缺失補(bǔ)漏,異常修正和歸一化處理后,根據(jù)式(26)形成每個(gè)樣本的輸入向量xi,輸出為對(duì)應(yīng)日的負(fù)荷yi,取預(yù)測(cè)日前一個(gè)月的數(shù)據(jù)作為訓(xùn)練樣本集{(xi,yi),i=1,2,…,N}。 (2)初始化TSVR 相關(guān)參數(shù),包括平衡因子C,損失函數(shù)ε,核參數(shù)σ,構(gòu)建初始粒子(lbC,lbε,lbσ)。 (3)初始化CISPO 算法參數(shù),多樣性因子a 設(shè)置為子矢量最大尺度的1/2,這樣保證粒子剛開始時(shí)可以在全局區(qū)域進(jìn)行搜索,升降因子p 取0,學(xué)習(xí)因子L 取0,子矢量最大迭代次數(shù)設(shè)置為30。 (4)根據(jù)適應(yīng)度函數(shù)式(25)計(jì)算粒子的適應(yīng)值,設(shè)置迭代次數(shù)k=1,算法開始迭代。 (5)根據(jù)式(16)~式(23)更新粒子速度、位置、學(xué)習(xí)因子以及多樣性因子等,k=k+1,如果k≤N,則繼續(xù)執(zhí)行第(5)步,否則跳到下一步。 (6)判斷是否所有子矢量完成迭代或者適應(yīng)度是否達(dá)到要求,如果滿足,則輸出全局最優(yōu)解,即最優(yōu)的(lbC,lbε,lbσ),通過進(jìn)一步變換就可以得到TSVR 的最優(yōu)參數(shù)向量(C,ε,σ)。否則回到步驟(3),進(jìn)行下一個(gè)子矢量的優(yōu)化。 (7)利用得到的最優(yōu)參數(shù)向量,根據(jù)式(3)和式(4)構(gòu)建TSVR 預(yù)測(cè)模型進(jìn)行短期負(fù)荷預(yù)測(cè)。 本文選取廣東省某市電網(wǎng)進(jìn)行研究,為了驗(yàn)證CISPO-TSVR 模型的預(yù)測(cè)速度和預(yù)測(cè)精度,分別使用反向傳播BP(back propagation)神經(jīng)網(wǎng)絡(luò)、SVR、TSVR、PSO-TSVR 和所提出的CISPO-TSVR模型對(duì)2011年6月7日至10日,2011年12月10日至12日共7 d 進(jìn)行96 點(diǎn)負(fù)荷預(yù)測(cè),其中6月份需要考慮積溫效應(yīng)C,而12月份不考慮積溫效應(yīng)。SVR 和TSVR 的參數(shù)搜索范圍設(shè)置為:C∈(0.001,50),ε∈(0.001,0.5),σ∈(0.001,50)。單獨(dú)SVR 和TSVR 方法的參數(shù)根據(jù)經(jīng)驗(yàn)設(shè)置為:C=3,ε = 0.03,σ = 4。軟件的運(yùn)行CPU 為Pentium(R)Dual-Core E6600,內(nèi)存為2GB,Matlab 版本為7.11.0.582。 選取相對(duì)誤差Er和均方根相對(duì)誤差RMSRE作為最終評(píng)價(jià)指標(biāo)。由表2 可以看出,CISPO-TSVR法的均方根相對(duì)誤差比BP-ANN 法低3.33%,說明采用結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則的TSVR 法具備較強(qiáng)的推廣能力,對(duì)于解決小樣本問題有絕對(duì)的優(yōu)勢(shì)。TSVR 法與SVR 法的均方根相對(duì)誤差相差不大,TSVR 法略有優(yōu)勢(shì),但是在平均耗時(shí)上SVR 法為16.95 s,TSVR 法僅為4.38 s,僅為SVR 法的1/4 左右,說明TSVR 法具有更高的訓(xùn)練效率。 表2 預(yù)測(cè)誤差分析表Tab.2 Analysis results of forecasting error% 選取2011年12月12日的迭代曲線作為代表對(duì)兩種優(yōu)化算法的性能進(jìn)行分析,如圖1 所示,可知PSO-TSVR 法在前期適應(yīng)值的改善速度要比CISPO-TSVR 法快,這是由于PSO 是基于種群中所有粒子位置進(jìn)行尋優(yōu)的,而CISPO 是基于子矢量的位置進(jìn)行調(diào)整的,假如某一子矢量對(duì)適應(yīng)值的影響相對(duì)較小或者該子矢量初始化時(shí)已經(jīng)處于較好位置,則會(huì)出現(xiàn)迭代過程中的某段時(shí)間內(nèi)適應(yīng)度暫時(shí)的變化較慢。但是,從整個(gè)迭代曲線容易看出,CISPO 算法無論是收斂速度還是收斂精度都要比PSO 算法有絕對(duì)的優(yōu)勢(shì)。因此,由實(shí)驗(yàn)結(jié)果可知,基于競(jìng)爭(zhēng)型智能單粒子優(yōu)化的雙胞支持向量回歸模型對(duì)比其他預(yù)測(cè)模型具有更高的預(yù)測(cè)速度和預(yù)測(cè)精度。 圖1 PSO-TSVR 和CISPO-TSVR 迭代曲線Fig.1 Iterative curves of PSO-TSVR and CISPO-TSVR 本文提出基于競(jìng)爭(zhēng)型智能單粒子優(yōu)化的雙胞支持向量回歸短期負(fù)荷預(yù)測(cè)模型。從實(shí)驗(yàn)結(jié)果分析,可得出以下結(jié)論。 (1)雙胞支持向量回歸算法由于求解的是兩個(gè)較小規(guī)模的二次規(guī)劃問題,使它的訓(xùn)練速度要比傳統(tǒng)的支持向量回歸有顯著的提高。 (2)競(jìng)爭(zhēng)型智能單粒子算法通過對(duì)智能單粒子算法進(jìn)行取長(zhǎng)補(bǔ)短,有效解決了參數(shù)設(shè)置問題,加強(qiáng)全局搜索能力,使算法尋優(yōu)能力更強(qiáng),收斂精度更高。構(gòu)建的CISPO-TSVR 短期負(fù)荷預(yù)測(cè)模型結(jié)合了兩者的優(yōu)點(diǎn)。實(shí)驗(yàn)結(jié)果表明,與BP 神經(jīng)網(wǎng)絡(luò)、SVR、TSVR 和PSO-TSVR 等算法進(jìn)行對(duì)比,本文方法不僅訓(xùn)練速度快,而且預(yù)測(cè)精度較高,驗(yàn)證了該算法的先進(jìn)性。 [1]康重慶,夏清,劉梅.電力系統(tǒng)負(fù)荷預(yù)測(cè)[M].北京:中國(guó)電力出版社,2007. [2]曾鳴,呂春泉,田廓,等(Zeng Ming,Lü Chunquan,Tian Kuo,et al).基于細(xì)菌群落趨藥性優(yōu)化的最小二乘支持向量機(jī)短期負(fù)荷預(yù)測(cè)方法(Least squares-support vector machine load forecasting approach optimized by bacterial colony chemotaxis method)[J]. 中國(guó)電機(jī)工程學(xué)報(bào)(Proceedings of the CSEE),2011,31(34):93-99. [3]趙菁,許克明(Zhao Jing,Xu Keming).神經(jīng)網(wǎng)絡(luò)和模糊理論在短期負(fù)荷預(yù)測(cè)中的應(yīng)用(Application of neural network and fuzzy theory in short-term load forecasting)[J].電力系統(tǒng)及其自動(dòng)化學(xué)報(bào)(Proceedings of the CSUEPSA),2010,22(3):129-133. [4]廖立,忻建華,葉春(Liao Li,Xin Jianhua,Ye Chun). 模擬退火算法及其在短期負(fù)荷預(yù)測(cè)中應(yīng)用(Application of simulated annealing algorithm to short-term load forecast)[J].電力自動(dòng)化設(shè)備(Electric Power Automation Equipment),2004,24(4):30-33. [5]Niu Dongxiao,Wang Yongli. A new modal to short-term power load forecasting combining chaotic time series and SVM[C]//First Asian Conference on Intelligent Information and Database Systems.Dong Hoi,Vietnam:2009. [6]張學(xué)工(Zhang Xuegong).關(guān)于統(tǒng)計(jì)學(xué)習(xí)理論與支持向量機(jī)(Introduction to statistical learning theory and support vector machines)[J]. 自動(dòng)化學(xué)報(bào)(Acta Automatica Sinica),2000,26(1):32-42. [7]Peng Xinjun. TSVR:an efficient twin support vector machine for regression[J]. Neural Networks,2010,23(3):365-372. [8]楊國(guó)建,楊鏡非,童開蒙,等(Yang Guojian,Yang Jingfei,Tong Kaimeng,et al).短期負(fù)荷預(yù)測(cè)的支持向量機(jī)參數(shù)選擇方法(Parameter selection of support vector machine for short-term load forecasting)[J]. 電力系統(tǒng)及其自動(dòng)化學(xué)報(bào)(Proceedings of the CSU-EPSA),2012,24(6):148-151. [9]王奔,冷北雪,張喜海,等(Wang Ben,Leng Beixue,Zhang Xihai,et al).支持向量機(jī)在短期負(fù)荷預(yù)測(cè)中的應(yīng)用概況(Application profiles of support vector machine in short-term load forecasting)[J].電力系統(tǒng)及其自動(dòng)化學(xué)報(bào)(Proceedings of the CSU-EPSA),2011,23(4):115-121. [10]吳景龍,楊淑霞,劉承水(Wu Jinglong,Yang Shuxia,Liu Chengshui).基于遺傳算法優(yōu)化參數(shù)的支持向量機(jī)短期負(fù)荷預(yù)測(cè)方法(Parameter selection for support vector machines based on genetic algorithms to short-term power load forecasting)[J].中南大學(xué)學(xué)報(bào):自然科學(xué)版(Journal of Central South University:Science and Technology),2009,40(1):180-184. [11]Jayadeva,Khemchandani R,Chandra Suresh. Twin support vector machines for pattern classification [J]. IEEE Trans on Pattern Analysis and Machine Intelligence,2007,29(5):905-910. [12]紀(jì)震,周家銳,廖惠連,等(Ji Zhen,Zhou Jiarui,Liao Huilian,et al).智能單粒子優(yōu)化算法(A novel intelligent single particle optimizer)[J].計(jì)算機(jī)學(xué)報(bào)(Chinese Journal of Computers),2010,33(3):556-561. [13]張衛(wèi),潘曉弘,祝勇,等(Zhang Wei,Pan Xiaohong,Zhu Yong,et al).基于智能單粒子優(yōu)化的制造服務(wù)開通策略(Manufacturing service open strategy based on intelligent single particle optimization)[J]. 計(jì)算機(jī)集成制造系統(tǒng)(Computer Integrated Manufacturing Systems),2011,17(9):2079-2084. [14]Keerthi S S,Lin Chih-Jen. Asymptotic behaviors of support vector machines with Gaussian kernel[J].Neural Computation,2003,15(7):1667-1689. [15]蔣建東,程志豪,朱明嘉(Jiang Jiandong,Cheng Zhihao,Zhu Mingjia).考慮積溫效應(yīng)的短期負(fù)荷組合預(yù)測(cè)方法(Combined short-term load forecast with accumulated temperature effect)[J].電力自動(dòng)化設(shè)備(Electric Power Automation Equipment),2011,31(10):28-31. [16]陳亞紅,穆鋼,段方麗(Chen Yahong,Mu Gang,Duan Fangli).短期電力負(fù)荷預(yù)報(bào)中幾種異常數(shù)據(jù)的處理(Identification and management to anomalous data in shortterm load forecasting)[J].東北電力學(xué)院學(xué)報(bào)(Journal of Northeast China Institute of Electric Power Engineering),2002,22(2):1-5.3 CISPO-TSVR 的短期負(fù)荷預(yù)測(cè)模型
3.1 基于CISPO 的參數(shù)優(yōu)化
3.2 樣本數(shù)據(jù)選取和預(yù)處理
3.3 CISPO-TSVR 的短期負(fù)荷預(yù)測(cè)流程
4 應(yīng)用實(shí)例
5 結(jié)論