文 | 范曉旭,付果,張艷峰,楊錫運
隨著環境問題的日益突出,風能作為一種綠色可再生能源已經在世界各國得到廣泛應用。但風能的隨機性和不穩定性導致風電功率具有波動性和間歇性的特點,使得大規模風電接入給電網安全穩定運行帶來一定挑戰。準確有效的風電功率預測有助于及時調整調度計劃,降低風電并網風險,減少系統備用容量,降低電力系統運行成本。
目前,已有眾多國內外學者對風電功率預測做了大量研究工作,主要包括物理預測法和統計預測法。物理預測法利用數值天氣預報信息以及風電機組附近的地貌等物理信息建立預測模型,計算過程較為繁瑣。統計預測法是指采用數學統計方法建立歷史數據與風電功率之間的某種映射關系,以此來進行風電功率預測,現有的統計預測法可分為時間序列法、人工智能法。常用的時間序列法有卡爾曼濾波法和自回歸滑動平均(ARMA)法,此類預測方法運算簡單,但針對嚴重非平穩性數據的適應性較弱。人工智能法是指利用智能算法的自學習、自組織、自適應能力實現預測。人工神經網絡作為一種具有較強魯棒性與容錯性的智能算法,在風電功率預測領域得到了廣泛應用。人工神經網絡的泛化能力會受到網絡結構(隱含層數、隱含層節點數、隱含層函數)的影響,導致訓練結果往往不穩定且易產生過擬合現象,貝葉斯定理能有效克服模型過擬合問題,貝葉斯神經網絡BNN(Bayesian neural network,BNN)已在光伏陣列功率短期預測中獲得較好的應用效果。此外,訓練數據對于人工神經網絡的泛化能力有關鍵影響。由于訓練數據間存在較大的差異,通過聚類思想,對聚類后不同性質的訓練數據分別建立神經網絡模型,能夠有效提高建模精度。
本文考慮到風電功率數據存在的時空特性,采用模糊C均值聚類FCM(fuzzy c-means,FCM)來分析風電功率數據,針對經FCM處理后的聚類數據分別建立適應不同功率特性的貝葉斯神經網絡預測模型得到風電功率預測值,并對風電功率的預測誤差進行分析,采用核密度估計法得出風電功率可能波動范圍等更多的預測結果。
聚類其實是將一個數據集遵從某種策略分為多個不同的類,達到這樣的效果:聚在同一類的樣本相似度盡可能高,沒有聚在一類的樣本相似度盡可能低。1969年,Ruspini首先提出了模糊聚類算法。1974年,Dunn在模糊聚類算法的基礎上提出了模糊C均值聚類算法,并得到廣泛應用。隨后,Bezdek對這種算法進行了推廣。
該算法的基本思想為對于一個樣本集X={x1,x2,x3,…,xn},其中,xi={xi1,xi2,xi3,…,xil},i=1,2,…,n(n 為待聚類數據維數),采取聚類算法的規則將其分為規定的c個子集,即Z={z1,z2,z3,…,zc},zk(k= 1,2,…,c)是c個子集的中心點。模糊聚類算法的目標函數為:
m表示模糊指數,其滿足,該值對模糊聚類算法的性能影響很大。dik為點xi到聚類中心zk的距離,這里選擇歐幾里得距離;uik為點xi到中心點zk的隸屬度,滿足。隸屬度矩陣為:
若要使目標函數達到最小,則隸屬度函數與聚類中心點需要滿足以下條件:
該算法流程為:
(2)根據公式(3)計算出各數據到各中心點的隸屬度值uik,進而得到隸屬度矩陣U。
(3)由公式(4)更新聚類中心點zk(k=1,2,…,c)。
(4)若|J(t+1)-J(t)|<ε或者t>T,則停止迭代,否則t=t+1,轉入流程(2)。
BP神經網絡是一種多層網絡的誤差反向傳播算法。常見的BP神經網絡一般有3層:輸入層、隱含層和輸出層。其算法包括正向傳播過程和反向傳播過程。
貝葉斯神經網絡對BP神經網絡的反向傳播過程進行了改進,利用貝葉斯定理來計算BP神經網絡的參數,其能夠處理信息的不確定性,然后對數據信息進行分析并作出推理,同時對部分未知的信息可以采用概率估計表達,然后利用貝葉斯公式對已經發生的概率進行修正,最后再根據期望值和修正概率做出最優決策。其基本思想是:
(1)根據歷史數據的已知信息對類條件概率密度參數進行計算,得出其參數表達式和先驗概率。
(2)利用貝葉斯公式把步驟(1)所得公式轉化成后驗概率表達式。
(3)分析處理后驗概率后作出判斷并進行決策。
設D1,D2,…,Dn為樣本空間域S的一個劃分,P(Di)為一個樣本發生的概率,則對于任一事件x,P(x)>0有:
已知給定的歷史數據D,可以利用貝葉斯正則化算法通過最大化后驗概率來估計未知參數。即:
為方便計算,對后驗概率取對數,得到:
假設其先驗概率滿足高斯分布,即:
由此可得:
在對風力進行預測和誤差分析之后,使用非參數估計方法來建立風力預測誤差分布模型。非參數估計方法可以在不考慮外部干擾因素的情況下對特定條件執行統計分析,并且可以得到更好的結果。非參數核密度估計(nonparametric kernel density estimation,NKDE)方法是一種非參數估計,它很好地描述了連續密度函數。該方法不會對數據分布添加任何假設,只從數據本身的特征中研究其分布特征。
假設x1,x2,…,xn是由FCM-BNN模型輸出的預測值與其所對應的風電功率實際值相減后得到的預測誤差序列,則利用核密度估計此誤差序列的概率密度函數為:
式中,xi為給定的樣本;K(x,h)為核函數;n為樣本總數;h為帶寬。選擇高斯函數作為核函數,其公式如下:
將公式(11)的核函數帶入公式(10)后的預測誤差概率密度函數可表示為:
該模型為雙層預測模型:內層模型首先以模糊C均值聚類對風電功率歷史數據進行分類,然后用分類好的風電數據來訓練貝葉斯神經網絡模型,得到各個訓練好的貝葉斯神經網絡;外層模型將FCM-BNN模型輸出的預測功率與實際功率相減,得到功率預測誤差序列,再通過非參數核密度估計對功率預測誤差序列進行擬合,得到誤差序列概率密度函數,在預測誤差概率密度函數上選取滿足置信度要求的上下分位點,結合FCM-BNN所得預測功率,從而得到預測功率區間,此區間即為最終得出的基于模糊C均值聚類的BNN-NKDE預測功率區間。
采用如圖1所示的模型結構進行預測,具體步驟如下:
(1)對風電數據進行預處理,包括補全缺失數據、剔除壞點等。
(2)初始化BNN神經網絡模型的參數以及模糊C均值聚類算法的模糊指數、閾值、迭代次數等參數。
(3)根據模糊C均值聚類算法的目標函數公式(1),計算出每次迭代中的目標函數的值,判斷是否滿足模糊C均值聚類算法迭代條件。
(4)達到終止條件后停止迭代,得到聚類中心C和隸屬度矩陣U。
(5)根據聚類中心C和隸屬度矩陣U對風電數據進行分類。
(6)將分類好的風電數據帶入貝葉斯神經網絡模型中,訓練得到貝葉斯神經網絡模型。
以西北某總裝機容量為199.5MW的風電場為例,取該風電場的標桿機組2014年8月6日到2014年9月23日的風電數據,時間分辨率為15min,將2014年8月6日到2014年9月6日的數據作為訓練集,利用2014年9月7日到2014年9月23日的數據對本文模型進行測試。
選取實際風速、預測風速、實際功率作為模糊C均值聚類的聚類中心,即z={z1,z2,z3},劃定樣本子集c=4,根據公式(2)計算隸屬度矩陣值,并根據圖1中的FCM算法流程得出聚類結果(如圖2和圖3所示,藍、紅、黑和黃分別代表某一分類結果)。
把經過模糊C均值聚類分析后的分類風電數據分別作為訓練數據帶入貝葉斯神經網絡,建立不同的貝葉斯神經網絡模型。把預測風速Vt+1和Pt(t時刻功率)作為貝葉斯神經網絡的輸入,待預測時刻的功率Pt+1作為貝葉斯神經網絡的輸出,帶入測試數據對BNN模型和FCM-BNN模型進行檢驗,其預測結果如圖4所示。
表1顯示了在相同數據下FCM-BNN模型和BNN模型

表1 不同點預測方法的誤差指標
圖4 BNN模型和FCM-BNN模型預測結果所得預測風電功率的平均絕對誤差eMAE、均方根誤差eRMSE。從誤差指標對比來看,FCM-BNN方法的預測精度高于BNN神經網絡法。
結合圖4分析可知,由于在FCM-BNN神經網絡訓練過程中對數據進行了分類,使其通過每個分類數據所建立的BNN模型更加貼近實際情況,預測功率的誤差更小,預測曲線也能更加貼合實際功率曲線的變化情況。
通過上述步驟,將FCM-BNN所得出的點預測功率與實際功率值相減,得到預測誤差序列,通過非參數核密度估計該誤差序列的概率密度曲線,如圖5所示。由圖可知,采用非參數核密度估計風功率預測誤差所得的概率密度曲線并非呈現出特定的分布曲線,如正態分布等,因此,其相對于參數法能夠更好擬合預測誤差的實際概率特性,具有更高的建模精度。
為了驗證基于FCM-BNN-NKDE區間預測模型的有效性和普適性,將本文提出方法與利用正態分布擬合預測誤差的概率分布得出的預測區間進行對比,分別在80%和90%置信度下進行功率預測,結果如圖6和圖7所示。
表2顯示了利用核密度估計法和正態分布預測風電功率區間的覆蓋率和平均帶寬。由表可知,在80%和90%置信度、核密度估計法和正態分布得出的預測區間的區間覆蓋率相接近的前提下,核密度估計法的區間平均帶寬指標比正態分布分別降低54.58和23.38,說明核密度估計法得出的預測區間更加準確。從圖6和圖7可以看出,采用核密度估計法所得的預測區間能夠在滿足置信度的前提下更準確地包含實際功率,同時隨著置信水平的提高,預測區間的范圍也相應變寬,這也與理論相符合。
本文考慮到風電在不同功率段下的特性差異,提出了基于聚類分析的貝葉斯神經網絡和核密度估計相結合的風電功率區間預測模型。仿真算例表明本文提出的經過聚類分析的點預測方法優于未經過聚類分析的預測方法,針對聚類后的風電數據,貝葉斯神經網絡具有更好的泛化能力,從而使得預測精度更高。同時,本文中應用核密度估計法得出風電預測區間的準確性明顯高于正態分布法得出的預測區間,說明核密度估計出的預測誤差概率分布更加符合真實情況,從而使得預測區間更好地包含了實際功率曲線。