丁堅(jiān)勇,朱炳翔,田世明,卜凡鵬,陳俊藝,朱天曈
(1. 武漢大學(xué) 電氣工程學(xué)院,武漢 430072; 2. 中國(guó)電力科學(xué)研究院,北京 100192)
電力負(fù)荷預(yù)測(cè)對(duì)電網(wǎng)規(guī)劃以及電網(wǎng)安全穩(wěn)定運(yùn)行具有重要的意義,也是電力市場(chǎng)環(huán)境下編排調(diào)度計(jì)劃、供電計(jì)劃的依據(jù)。
隨著智能電網(wǎng)的建設(shè),電力負(fù)荷預(yù)測(cè)理論研究得到快速發(fā)展[1-2],負(fù)荷預(yù)測(cè)方法不斷涌現(xiàn),回歸分析法[3]、小波分析法[4]、模糊理論法[5],神經(jīng)網(wǎng)絡(luò)法[6]、貝葉斯法[7]以及支持向量機(jī)法[8]等。但是就目前海量電力數(shù)據(jù)而言,現(xiàn)有負(fù)荷預(yù)測(cè)方法存在一定的局限性,回歸分析法:只是單純從統(tǒng)計(jì)意義上描述變量之間的數(shù)量關(guān)系,往往對(duì)數(shù)據(jù)量有所限制;神經(jīng)網(wǎng)絡(luò)法:在訓(xùn)練過程中容易出現(xiàn)過擬合現(xiàn)象,在面對(duì)多個(gè)輸入變量可能會(huì)出現(xiàn)收斂速度慢以及陷入局部最小值等問題。文獻(xiàn)[9]指出,對(duì)于海量數(shù)據(jù),一方面,特征量越多獲取的信息也就越多;另一方面,過多的特征會(huì)增加計(jì)算的復(fù)雜性,并且其中冗余的、不相關(guān)的甚至噪聲信息會(huì)影響結(jié)果的準(zhǔn)確性。
提出一種改進(jìn)F-score特征選擇的MPSO - BP神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測(cè)方法,將數(shù)據(jù)挖掘技術(shù)與MPSO-BP神經(jīng)網(wǎng)絡(luò)法結(jié)合。首先通過改進(jìn)F-score特征評(píng)價(jià)準(zhǔn)則對(duì)影響負(fù)荷的因素進(jìn)行衡量;然后通過F-score Area法設(shè)定閾值篩選出最優(yōu)特征子集,作為神經(jīng)網(wǎng)絡(luò)的輸入變量;最后通過改進(jìn)粒子群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化,完成短期負(fù)荷預(yù)測(cè)。結(jié)果表明,本文提出短期負(fù)荷預(yù)測(cè)方法對(duì)輸入變量實(shí)現(xiàn)了有效降維,降低了海量數(shù)據(jù)間的冗余度,提高了短期負(fù)荷預(yù)測(cè)的精度。
特征選擇是從原來的初始特征子集中選取可以代表原有特征子集全部或大部分信息的最優(yōu)特征子集,消除一些冗余特征。針對(duì)短期負(fù)荷預(yù)測(cè),如何從海量數(shù)據(jù)中提取出影響負(fù)荷的關(guān)鍵因素對(duì)于預(yù)測(cè)來說至關(guān)重要。
F-score提出一種基于類內(nèi)類間距離的特征評(píng)價(jià)準(zhǔn)則,是一種簡(jiǎn)單有效的特征選擇方法[10]。但是傳統(tǒng)的F-score特征評(píng)價(jià)準(zhǔn)則有一定局限性,只適用于兩類情況的特征選擇,無法直接應(yīng)用于多類情況,但是往往實(shí)際問題都是多類的,所以應(yīng)對(duì)實(shí)際情況有必要將傳統(tǒng)的F-score特征評(píng)價(jià)準(zhǔn)則擴(kuò)展成可以用于多類情況的特征選擇。本文提出的改進(jìn)F-score特征評(píng)價(jià)準(zhǔn)則[10]適用于多類情況的特征選擇。具體的改進(jìn)F-score特征評(píng)價(jià)準(zhǔn)則描述如下:
給定訓(xùn)練樣本集Xk∈Rm,(k=1,2,…n),l(l≥2) 是樣本類別數(shù),nj為第j類樣本個(gè)數(shù),其中j=1,2,…l, 則訓(xùn)練樣本中第i個(gè)特征的F-score值定義如下:
(1)
改進(jìn)F-score特征評(píng)價(jià)準(zhǔn)則是基于類間類內(nèi)距離的類別可分性評(píng)價(jià)準(zhǔn)則,將計(jì)算得到的F-score值進(jìn)行降序排列,F(xiàn)-score值越大則表明該特征的辨別能力就越強(qiáng),該特征也就越重要。
特征選擇過程實(shí)質(zhì)上就是對(duì)重要特征的篩選,現(xiàn)有研究往往通過觀察來剔除F-score值較小的特征,主觀性太強(qiáng),不能保證所選的特征就是最優(yōu)的。如果重要特征與非重要特征之間存在明顯分界線,那么閾值就是分界線所對(duì)應(yīng)的值。根據(jù)這一思想,提出一種F-score Area法[11],通過設(shè)定閾值選取最優(yōu)特征子集。首先將所有特征的F-score值進(jìn)行降序排列,如圖1所示。
圖1 按F-score值大小排序示意圖
接下來,將相鄰兩個(gè)特征F-score值與坐標(biāo)軸圍成的面積進(jìn)行積分并且累加,得到一條單調(diào)遞增的S曲線,對(duì)應(yīng)S曲線的公式如下:
(2)
式中fi(i=1,2,…n),表示各個(gè)特征的F-score值,f0=0;曲線S是Sn上各點(diǎn)連接后的平滑曲線。所以閾值(的確定問題轉(zhuǎn)化為求曲線S拐點(diǎn)問題,可以將閾值定義為S二階差分的最大值。即:
f(i)=(Si+1-Si)-(Si-Si-1),(i=1,2,…,n-1;S0=0)
(3)
2.1.1 PSO算法
粒子群優(yōu)化算法是基于群智能的優(yōu)化技術(shù),通過粒子之間的相互作用對(duì)解空間進(jìn)行搜索,從而得到最優(yōu)解的過程。具體粒子群優(yōu)化算法如下[12]:
假設(shè)N個(gè)粒子群在一個(gè)D維空間里搜索,設(shè)第i個(gè)粒子對(duì)應(yīng)的位置和速度分別為xi=[xi1,xi2,…,xid]和vi=[vi1,vi2,…,vid];每個(gè)粒子對(duì)應(yīng)的位置就是問題的一個(gè)可能解,根據(jù)相應(yīng)的適應(yīng)度函數(shù)值來判斷是否為最優(yōu)解。每個(gè)粒子自己搜索到的最優(yōu)解記作Pid,整個(gè)粒子群搜索到的最優(yōu)解記作Pgd。下面是算法的基本公式:
(4)
(5)
(6)
式中c1,c2為學(xué)習(xí)因子,用來調(diào)節(jié)Pid,Pgd,合適的c1,c2可以加快收斂;r1,r2為[0,1]之間的隨機(jī)數(shù);ω為慣性權(quán)重,用來反應(yīng)之前速度的影響,一般開始取0.9,之后隨著迭代過程遞減至0.4;Vmax為速度極限,用來限制搜索過程中的速度。PSO算法雖然所需的經(jīng)驗(yàn)參數(shù)較少,收斂速度也較快,但是在PSO搜索過程中易陷入局部極值,導(dǎo)致收斂精度不高。
2.1.2 MPSO算法
針對(duì)PSO算法存在的不足進(jìn)行改進(jìn),綜合考慮全局搜索能力與局部搜索能力,提出MPSO算法,MPSO算法針對(duì)影響算法性能重要參數(shù),慣性權(quán)重ω以及學(xué)習(xí)因子c1,c2進(jìn)行改進(jìn)。慣性權(quán)重ω可以控制算法的搜索能力,PSO算法中慣性權(quán)重ω線性遞減減慢了算法的收斂速度,在搜索后期,導(dǎo)致全局搜索能力變差,容易陷入局部最優(yōu);學(xué)習(xí)因子c1,c2是用來調(diào)節(jié)Pid,Pgd,PSO算法中固定的c1,c2不能在全局搜索與局部搜索之間尋求平衡;下面是針對(duì)慣性權(quán)重(以及學(xué)習(xí)因子c1,c2的改進(jìn)策略[13]:
針對(duì)慣性權(quán)重ω,本文提出一種非線性權(quán)重PSO方法來改善線性權(quán)重的不足,具體描述如下:
(7)
其中ω為慣性權(quán)重,ωmax,ωmin為慣性權(quán)重的最大值和最小值,t是當(dāng)前迭代次數(shù),N為最大迭代次數(shù)。當(dāng)t較小時(shí),ω接近ωmax,確保了算法的全局搜索能力,當(dāng)t逐漸增大時(shí),ω非線性遞減,確保在搜索后期具備一定的局部搜索能力,使得MPSO算法可以較好地在全局搜索與局部搜索之間尋求平衡。
由于粒子在搜索過程中希望前期的搜索速度大一點(diǎn),可以對(duì)整個(gè)空間進(jìn)行搜索;后期的搜索速度小一點(diǎn),可以精細(xì)化搜索。同樣針對(duì)學(xué)習(xí)因子c1,c2,也可以讓學(xué)習(xí)因子隨著搜索狀態(tài)的變化而變化,對(duì)學(xué)習(xí)因子c1,c2進(jìn)行如下改進(jìn):
(8)
式中t是迭代次數(shù);N為最大迭代次數(shù);c1s,c2s是學(xué)習(xí)因子c1,c2的初始值;c1e,c2e是最終值。在開始階段c1取較大值,c2取較小值,粒子沿著自身的位置進(jìn)行搜索,增強(qiáng)全局搜索能力;在搜索后期c2取較大值,c1取較小值,粒子沿著群體搜索的位置進(jìn)行搜索,增強(qiáng)局部搜索能力,有利于得到全局最優(yōu)解。
2.2.1 BP神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)是有大量神經(jīng)元組成的非線性系統(tǒng),網(wǎng)絡(luò)之間的信息處理通過神經(jīng)元之間的相互作用來實(shí)現(xiàn)。BP神經(jīng)網(wǎng)絡(luò)是一種誤差反向傳播的多層前饋網(wǎng)絡(luò),主要由輸入層、隱含層和輸出層組成,通過誤差反向傳播來調(diào)整權(quán)值和閾值,減小輸出誤差,知道滿足終止條件為止[14]。
對(duì)于神經(jīng)網(wǎng)絡(luò),首先需要確定適當(dāng)?shù)木W(wǎng)絡(luò)結(jié)構(gòu),本文輸入層的節(jié)點(diǎn)個(gè)數(shù)由輸入變量決定;輸出層的節(jié)點(diǎn)個(gè)數(shù)只有一個(gè);對(duì)于隱含層節(jié)點(diǎn)的選擇,主要由以下經(jīng)驗(yàn)公式?jīng)Q定:
(9)
式中m為隱含層節(jié)點(diǎn)數(shù);n為輸入層節(jié)點(diǎn)數(shù);l為輸出層節(jié)點(diǎn)數(shù);α為0-10之間的常數(shù),經(jīng)過初步計(jì)算隱含層節(jié)點(diǎn)數(shù)的范圍是4到13。通過試探法最終選取隱含層節(jié)點(diǎn)數(shù)為11的時(shí)候誤差最小。
2.2.2 MPSO-BP神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測(cè)算法的實(shí)現(xiàn)
本文提出的改進(jìn)F-score特征選擇MPSO -BP神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測(cè)方法的建模原理如圖2所示。
圖2 短期負(fù)荷預(yù)測(cè)方法的建模原理圖
根據(jù)本文的具體情況初始化BP神經(jīng)網(wǎng)絡(luò),設(shè)置MPSO算法相關(guān)參數(shù),用MPSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,以神經(jīng)網(wǎng)絡(luò)輸出的均方誤差為適應(yīng)度函數(shù)。
(10)
式中n為訓(xùn)練集樣本個(gè)數(shù);c為網(wǎng)絡(luò)輸出神經(jīng)元個(gè)數(shù),本文c取1;Yij為第i個(gè)樣本理想輸出值,yij為第i個(gè)樣本實(shí)際輸出值。
隨著迭代的進(jìn)行,訓(xùn)練誤差不斷降低,直到適應(yīng)度值小于某個(gè)設(shè)定的值或者迭代次數(shù)大于設(shè)定的最大迭代次數(shù)時(shí),算法停止迭代。此時(shí)適應(yīng)度最優(yōu)的那個(gè)粒子就是訓(xùn)練問題的最優(yōu)解,接著就可以用優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)針對(duì)短期負(fù)荷進(jìn)行預(yù)測(cè)。
MPSO-BP神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測(cè)方法的具體實(shí)現(xiàn)步驟如下:
(1)根據(jù)選取的最優(yōu)特征子集,初始化BP神經(jīng)網(wǎng)絡(luò),并對(duì)輸入特征進(jìn)行歸一化處理。
歷史負(fù)荷數(shù)據(jù)的歸一化:
(11)
式中xmax,xmin代表樣本集負(fù)荷的最大值和最小值。
本文參考文獻(xiàn)[15]中的量化方法,對(duì)于溫度進(jìn)行量化處理,如圖3所示; 將天氣劃分為五個(gè)等級(jí):晴、陰、雨、雪、大雪,對(duì)應(yīng)的量化值為0.1、0.2、0.4、0.5和0.8;將日期類型分為4類:周一取0.7,周二至周五取0.9,周六取0.4,周日取0.3。
圖3 溫度區(qū)間及對(duì)應(yīng)的取值
(2)初始化粒子群參數(shù)。初始化粒子群位置xid,vid速度,粒子群個(gè)數(shù)M,最大迭代次數(shù)N,慣性權(quán)重ω的初值,學(xué)習(xí)因子c1,c2的初值以及初始化Pid,Pgd;
(3)根據(jù)式(10)計(jì)算出各個(gè)粒子的適應(yīng)度值,得到Pid,并選出最好的個(gè)體極值作為粒子群的Pgd,并判斷此時(shí)Pgd或者迭代次數(shù)是否滿足結(jié)束條件,若滿足條件,將此時(shí)的粒子位置作為神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,完成對(duì)神經(jīng)網(wǎng)絡(luò)的優(yōu)化;
(4)若不滿足條件,根據(jù)式(7)、式(8)更新慣性權(quán)重和學(xué)習(xí)因子,根據(jù)式(4)、式(5)對(duì)每個(gè)粒子的位置和速度進(jìn)行更新,在轉(zhuǎn)入步驟(3);
(5)由以上步驟得到優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò),建立基于MPSO-BP的短期負(fù)荷預(yù)測(cè)模型,完成預(yù)測(cè)。
以北京地區(qū)某年的負(fù)荷數(shù)據(jù)預(yù)測(cè)12月31日24點(diǎn)的負(fù)荷。為了全面地反映負(fù)荷特性,本文選取北京地區(qū)某年1月1日到12月30日的負(fù)荷數(shù)據(jù),氣象數(shù)據(jù)等,將訓(xùn)練樣本和測(cè)試樣本按照8:2的比例進(jìn)行劃分,利用F-score特征選擇選取的最優(yōu)特征子集作為輸入變量,以MPSO算法完成對(duì)BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化,建立基于MPSO-BP的短期負(fù)荷預(yù)測(cè)模型,完成對(duì)北京地區(qū)某年12月31日24點(diǎn)的負(fù)荷預(yù)測(cè)。
通過對(duì)負(fù)荷數(shù)據(jù)、氣象數(shù)據(jù)的特征選擇選取了15個(gè)特征,圖4是15個(gè)特征的F-score值降序排列示意圖。降序排列后的1-15個(gè)特征向量分別為預(yù)測(cè)日h-2時(shí)刻負(fù)荷值、預(yù)測(cè)日前一周h時(shí)刻負(fù)荷值、預(yù)測(cè)日h-1時(shí)刻負(fù)荷值、預(yù)測(cè)日前一天h+1時(shí)刻負(fù)荷值、預(yù)測(cè)日前一日h時(shí)刻溫度、預(yù)測(cè)日h時(shí)刻天氣情況、預(yù)測(cè)日前一天h-1時(shí)刻負(fù)荷值、預(yù)測(cè)日日期類型、預(yù)測(cè)日前一天h時(shí)刻負(fù)荷值、預(yù)測(cè)日h時(shí)刻溫度、預(yù)測(cè)日h時(shí)刻濕度、預(yù)測(cè)日h時(shí)刻風(fēng)速、預(yù)測(cè)日h時(shí)刻氣壓、預(yù)測(cè)日前一日h時(shí)刻露點(diǎn)溫度以及預(yù)測(cè)日h時(shí)刻露點(diǎn)溫度。
圖4 各特征F-score值降序排列后分布圖
通過F-score Area法計(jì)算得到閾值為0.847 4,所以得到的最優(yōu)特征子集為前10個(gè)特征,將得到的最優(yōu)特征子集作為神經(jīng)網(wǎng)絡(luò)的輸入,建立短期負(fù)荷預(yù)測(cè)模型。
通過F-score特征選擇得到10個(gè)最優(yōu)特征子集,并與建立好的MPSO-BP的短期負(fù)荷預(yù)測(cè)模型一起完成對(duì)某年12月31日24點(diǎn)負(fù)荷的預(yù)測(cè),并與未進(jìn)行特征選擇的MPSO-BP以及BP神經(jīng)網(wǎng)絡(luò)負(fù)荷預(yù)測(cè)進(jìn)行對(duì)比,預(yù)測(cè)值和實(shí)際值的對(duì)比如表2所示。
從表2可以看出,基于F-score特征選擇的MPSO-BP神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測(cè)方法最大相對(duì)誤差控制在3%以內(nèi),平均相對(duì)誤差為1.79%,而為MPSO-BP神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測(cè)方法最大相對(duì)誤差超過4%,平均相對(duì)誤差為2.66%,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法的最大誤差6.31%,平均相對(duì)誤差為3.48%。結(jié)合以上分析,提出的短期負(fù)荷預(yù)測(cè)方法在預(yù)測(cè)精度上得到了改進(jìn)。
表2 對(duì)比結(jié)果
為了進(jìn)一步檢測(cè)預(yù)測(cè)模型的效果,表3是三種算法的誤差性能比較,列出了三種預(yù)測(cè)方法的最大相對(duì)誤差以及均方誤差。
表3 性能比較
表4為采用本文方法得到的該年最后一周每天24點(diǎn)負(fù)荷預(yù)測(cè)的平均相對(duì)誤差。
表4 最后一周每天負(fù)荷預(yù)測(cè)平均相對(duì)誤差
從表3、表4可以看出,本文所提出的基于F-score特征選擇的MPSO-BP神經(jīng)網(wǎng)絡(luò)負(fù)荷預(yù)測(cè)方法均方根誤差較另外兩種方法小,更穩(wěn)定。具有較高的預(yù)測(cè)精度。
為進(jìn)一步直觀了解三種預(yù)測(cè)方法的實(shí)際情況,圖5是三種預(yù)測(cè)方法下的某年12月31日24點(diǎn)負(fù)荷的預(yù)測(cè)值以及實(shí)際值負(fù)荷曲線。
從圖5可以看出,采用F-score特征選擇的MPSO-BP神經(jīng)網(wǎng)絡(luò)負(fù)荷預(yù)測(cè)方法的誤差變化較為均勻,與實(shí)際負(fù)荷曲線的形態(tài)較為相似,與MPSO-BP、BP神經(jīng)網(wǎng)絡(luò)負(fù)荷預(yù)測(cè)方法相比,預(yù)測(cè)精度更高,預(yù)測(cè)更為準(zhǔn)確。
圖5 三種負(fù)荷預(yù)測(cè)方法的預(yù)測(cè)值與實(shí)際值的負(fù)荷對(duì)比
文中的F-score特征選擇算法實(shí)現(xiàn)了對(duì)海量負(fù)荷數(shù)據(jù)的挖掘,通過F-score值衡量每個(gè)特征的重要程度,再通過F-score Area法設(shè)定閾值篩選出影響負(fù)荷的關(guān)鍵因素,組成最優(yōu)特征子集,作為神經(jīng)網(wǎng)絡(luò)的輸入變量,利用MPSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,避免陷入局部最優(yōu),建立短期負(fù)荷預(yù)測(cè)模型。
預(yù)測(cè)結(jié)果表明,所提出的改進(jìn)F-score特征選擇的MPSO-BP神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測(cè)方法輸出穩(wěn)定性好,收斂精度高,與MPSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法及傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法相比,提高了負(fù)荷預(yù)測(cè)的精度。