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