查雯婷,楊 帆,陳 波,李亞龍
(1. 中國礦業大學(北京)機電與信息工程學院,北京 100083;2. 內蒙古電力科學研究院,內蒙古 呼和浩特 010020)
隨著能源結構的不斷優化,以風力發電為主導的新能源占比呈現高增長發展趨勢。由于自然風具有強隨機波動性,因此風功率預測精度不高,給電力系統調度帶來困難,如何提高預測精度成為研究的焦點問題[1-2]。
風電功率的預測方法主要有物理方法、統計方法和人工智能方法,目前應用最多的是統計方法和人工智能方法,物理方法一般和兩者結合使用[3]。
一般來說,測量風電場實際地形、地貌條件下風電機組輪體高度的風速、風向等參數計算得出實際輸出功率的方法稱之為物理方法,物理方法只適用于單風電機組的預測且精度不高,也未考慮到歷史數據中的規律,難以實現多步預測。
統計方法主要是在系統輸入與風電功率兩者之間建立映射關系實現預測[4-6],文獻[4]采用灰色模型預測方法,通過構建微分方程和最小二乘法求解出下一點的預測值,最優預測百分誤差為12.6%。文獻[5]采用馬爾可夫預測方法,使用最大期望值算法來估計預測誤差所處的隱式狀態,計算出預測區間,再通過區間滾動估計的方法得出最終預測結果,預測效果有近90%的區間覆蓋率。統計方法有建模簡單、運算速度快和數據量需求較小等優點,但模型結構較為簡單,預測精度有很大提升空間。
人工智能方法是指將支持向量機[7-9]、人工神經網絡[10-13]等機器學習[14-15]/深度學習[16-18]算法用于風功率預測過程,通過建立模型和精確調參,能更準確擬合非線性關系。文獻[7]為支持向量機回歸預測方法,文中將八種常見核函數進行了算例比較,得出指數徑向基核函數預測準確性最高,在與引力搜索算法等優化方法結合后,最優模型平均百分誤差為12.0%。文獻[10]為BP神經網絡預測方法,采用人工蜂群的優化算法,將平均相對誤差控制在10%以內。人工智能方法對數據的需求量大、模型訓練速度較慢,但預測精度較前兩種方法一般更高。近幾年,人工智能算法逐漸成為研究的熱點,不斷有新的模型和結構被提出,在預測精度和運算速度上有了一定的提高。
此外,根據電網運行的實際情況,單個風電場的風功率預測已經不能滿足調度需要,區域風功率預測的重要性逐漸體現出來。區域風電功率預測是指將同一區域的各風電場視為整體進行風電總功率預測。區域預測方法強調風電總功率的規律性在預測過程中的作用,有效減少了需要的信息量和個別風電場局部隨機因素的干擾,對電力部門優化電力系統調度、減少旋轉備用容量、降低電力系統運行成本具有重要的現實意義。目前,針對區域風功率的預測問題還沒有得到有效解決,由于無法獲得整個區域內的各項物理參數,從而物理方法不再適用。統計方法和傳統人工智能方法由于不能很好的挖掘出歷史風功率的規律,預測效果不佳。
本文針對上述問題或不足,提出一種基于卷積神經網絡(Convolutional Neural Networks, CNN)的區域風功率超短期預測方法。CNN屬于深度學習范疇,利用多層神經網絡結構,從大數據中挖掘數據特征,較統計方法和傳統BP神經網絡具有更加復雜的網絡和數據結構,預測效果更佳。通過對十年歷史數據的研究發現,風功率不僅一定程度上跟蹤到了相鄰日的曲線走向,還同時擁有季節性的特征。在CNN的基礎上,引入風功率數據的季節性是本文的一大創新點,并利用華北某地區風電場數據對比驗證該模型算法的優越性。
風功率規律存在于預測日的相鄰日和同季中其它日的風功率之中,充分挖掘歷史風功率規律對于風功率的預測問題有著十分重要的意義。在氣象信息不發生較大變化的條件下,相似的風功率規律出現在相鄰日中,其中某年相似的相鄰日如圖1所示。

圖1 相鄰日近期規律
一般情況下,相似的相鄰日規律表現于出現較大波峰、波谷和平穩段的時間區間相似,全日峰谷差變化較小。
風功率數據的季節性特征如表1所示,表中列舉了不同季節同一時段間的平均值(AVG)、標準差(STD)、相鄰點平均變化率(ACR)的指標。可以看出該年份中春季各項數據指標均較為平均;夏季的平均值和標準差指標都維持在最低的水平,但相鄰點平均變化率最高;秋冬兩季與夏季的特征相反。

表1 某年各季度每日0-4時數據指標
夏冬兩季相鄰點平均變化率趨勢如圖2所示,結合表1可以看出:不同季節間差異性較大,每個季節中不同日的相鄰點平均變化率均在季平均值附近波動,反常天出現較少。因此,區域風功率數據在時間上不僅存在較強的近期規律,還存在一定的季節性規律,為規律的學習提供了保障。

圖2 夏冬兩季相鄰點平均變化率趨勢圖
此外,不同年份間的差異性也主要通過其同季度數據指標的變化顯示出來。將不同年份的相鄰點平均變化率按表1中的時間段進行統計的結果如圖3所示.

圖3 各年份變化率趨勢圖
可見不同年份夏季風功率數據相鄰點平均變化率最大且波動最小;春秋兩季存在不同程度的波動現象,但變化率均小于夏季;冬季波動最為劇烈,其變化率甚至出現超過夏季的情況。由此可見,夏季的同季規律性最強,冬季的同季規律性最差。為了最好地挖掘出相鄰日和同季節中數據的規律,本文將規律的尋找范圍設置為近幾年。合適的尋找范圍可以在學習近期規律的同時也充分考慮到同季節的規律性,從而進一步提高預測精度。
CNN網絡總結構如圖4所示,其中卷積層可以看成對輸入數據提取特征的過程,每次按式(1)計算出自身與感受野坐標值的加權和,生成一張特征圖。一般來說,卷積層需要多個卷積核共同作用于輸入數據,多角度提取輸入數據的特征,然后將所有特征圖作為下一層的輸入。

圖4 CNN結構圖

(1)
式中:Mj為第j個卷積核的感受野,xi為感受野中的坐標值,kij為xi對應卷積核上的權重,bj為卷積核的偏置,yi為特征圖上的輸出值。一般來說,卷積層需要多個卷積核共同作用于輸入數據,多角度提取輸入數據的特征,然后將所有特征圖作為下一層的輸入。
池化層即下采樣層,減小特征圖的大小,不改變特征圖的數量。經過多個卷積層和池化層的特征提取后,得到的特征圖大小逐漸減小,數量增多。這時就需要通過Flatten處理,將高維數據排列成一維數組,輸入進全連接層,最終輸出一個預測值。
CNN擅長處理矩陣型數據,廣泛應用于圖片分類和視頻識別等領域。有別于傳統的人工智能算法,CNN不將輸入看做一段前向序列,而是作為一個矩陣空間,不僅可以提取時間維度上的特征,還可以捕捉到空間維度上的特征。CNN橫縱雙方向捕捉規律的特點十分利于風功率預測問題,在應對陣風和非平穩風的問題上有獨特的效果。因此,本文選擇CNN作為風功率規律的學習算法。
但值得注意的是:輸入矩陣數據源的優劣對算法的精度影響較大;卷積層和池化層的網絡結構組合方式將直接影響預測效果。因此,本文在應用CNN時,重點考慮了數據的預處理和網絡結構的確定。
由于自然風具有波動性與間歇性的特點,多個風電場的總輸出曲線會在不同點處產生抵消或加重波動的現象,導致風功率曲線存在一定的干擾點。若未經過預處理過程,直接作為訓練集,會導致神經網絡訓練過程中出現學習效果差的現象。因此,需先對原始數據使用最小二乘法k階曲線擬合,平滑處理后才能作為CNN的輸入層的輸入數據。k值得選取對于數據的處理效果有著重要的影響。若k值取值過小,會導致擬合曲線與真實曲線間隔變大,提高系統誤差;反之,若k值取得過大,容易導致訓練過擬合現象,提高學習誤差。本文通過給定k的取值區間,利用誤差尋優的方法確定k值。
此外,在輸入之初還需要進行歸一化處理,歸一化不僅可以統一標量到(0,1)之間方便計算,還利于誤差在反向傳播時,通過梯度下降找到全局最優解。本文選用2015年由Google提出的批歸一化算法(Batch Normalization,BN),有別于傳統的最大最小歸一化和標準歸一化算法,BN算法在將輸入數據轉化為符合正太分布新數據的基礎上,增加了可學習的平移參數和縮放參數,避免強行限制數據的分布規律使得網絡的表達能力變弱。基本原理如下

(2)

預處理過程結束后,需要對數據集進行劃分。人工神經網絡的訓練、驗證和預測過程分別對應訓練集Tr、驗證集V和測試集Te,其中測試集不能和前兩者存在數據交叉。過大和過小的數據集分別會導致過擬合和學習不到規律的現象,所以數據集的合理劃分有利于提高訓練質量和預測精度。
例如對第x年春季進行預測,選取x-2全年和x-1年(除春季)作為訓練集,x-1年春季作為驗證集,第x年春季作為測試集,數據集的劃分結果如圖5所示。按上述方法進行數據集的劃分后,模型不僅可以學習到近期數據的規律,還可利用上一年同季節進行驗證過程,捕捉風功率數據的季節性特征。

圖5 數據集劃分示意圖
CNN網絡擁有眾多的模型參數,每一個參數都會對最終預測結果產生影響。首先是網絡拓撲結構的確定,由于風功率數據的波動性,本文采用雙卷積層和雙池化層的拓撲結構,經預處理的數據依次通過卷積層conv1、池化層pool1、卷積層conv2、池化層pool2、全連接FC層、最終輸出一個預測值。
接下來需要確定上述每層中的結構大小和運算方式,卷積層和池化層輸入選擇s×s正方形型矩陣;卷積核選擇c×c大小,池化單元在輸入數據不大的情況下,一般選擇2×2大小;全連接FC層選用單隱藏層結構,輸入節點數為池化層pool2的輸出大小,隱藏層節點數設置為h,輸出層節點數為1。運算方式包括步長的確定、padding邊緣補0的設置、激活函數的選取等。
上述結構均確定完成后,還需要設置模型訓練參數,才可將劃分好的數據放入網絡進行訓練過程。訓練參數包括迭代次數、誤差計算間隔、誤差函數選擇、優化器選擇等。
根據確定好的網絡結構,首先將訓練集輸入CNN模型進行訓練。訓練過程中將輸出值與真實值之間的誤差反向傳播,通過梯度下降的方法不斷修正模型中的權重和偏置。同時計算驗證集的均方根誤差,并保存均方根誤差最小的模型權重和參數,作為最優模型。最后將測試集數據作為最優模型的輸入,通過滾動預測的方法完成對未來超短期的預測,預測流程如圖6所示。

圖6 CNN預測流程圖
預測過程中采用滾動預測的目的,在于不引入真實值的條件下對未來一段時間內進行預測。滾動預測需將第一個預測值看做真實值放入輸入序列的最后,并去除掉第一個時間距離較遠的數據,然后再放入最優網絡中進行預測過程,不斷重復上述步驟既可得到多步預測結果。
預測結束后,需要建立符合風電預測的評價指標,本文在傳統均方根誤差、百分誤差的基礎上引入了合格率的概念,計算方法見式(3)

(3)
其中m和n均是可調節的參數,根據電網實際調度情況確定。一般地,m選擇范圍為10%~20%。由于在無風或微風情況下,風功率輸出接近于0,在一定的誤差范圍內不會對電網的運行造成影響,所以固定偏置n的存在十分必要。將所有預測值與真實值統計后,True所占比例即為合格率。
根據上一章建立的CNN模型,利用某地區風電場兆瓦級總輸出功率的十年歷史數據(15min/dot, 350592dot),對2018年風功率進行超短期預測(4個小時),從不同時間尺度上(典型日、不同季節、全年)對預測效果進行分析,并將預測結果與現有方法進行對比,分析模型算法的優越性。
本文選擇python中的Keras深度學習框架進行CNN模型的構建。首先對數據進行最小二乘法擬合,令k值在區間[10,20]變化,按誤差最小的方法尋找出最優k=15,曲線階數k取10、15和20的擬合效果如圖7所示。然后將最小二乘法擬合后的數據集進行BN歸一化處理。

圖7 最小二乘法擬合效果
預處理結束后,按照2.2節中的方法分別選出訓練集、驗證集和測試集,將劃分好的數據集reshape成為8×8矩陣形式作為模型的輸入,然后依次通過卷積層1、池化層1、卷積層2、池化層2、全連接層后輸出一個預測點。兩卷積層的卷積核大小和數量分別為(3×3,4)和(2×2,16);池化層的下采樣面積均為2×2;卷積層和池化層中步長取1,padding=’valid’,均使用relu作為激活函數;全連接層節點數依次為128/64/1,其中最后一個節點為輸出節點,實現64對1的預測結構,目標預測值為輸入數據下一個點的風電輸出值,將目標預測值與實際輸出的差值作為訓練誤差。
在訓練過程中迭代70輪之后,誤差逐漸趨于穩定,因此相關網絡訓練參數設置如下:迭代次數epoch=100,批處理參數batch_size=128;誤差函數選擇均方根誤差計算損失;優化器選擇adam,實現學習率的自動調節;節點丟棄率Dropout=0.05。此外,合格率評價指標中m和n分別取15%和350。
4.2.1 超短期預測的數值效果分析
按照3.1節中建立的CNN模型,對2018年12月6日0-4時的風電功率進行超短期預測。由于典型日處于冬季,因此將2016年12月1日至2017年11月30日和2018年3月1日至2018年12月5日的數據作為訓練集;將2017年12月1日至2018年2月28日作為驗證集;2018年12月6日0-4時作為測試集。典型日預測曲線如圖8所示。

圖8 2018年12月6日預測效果圖
由圖8可以看出:前8個點的預測精度很高,后8個點近預測精度雖有所下降,但較現有水平更貼近于真實曲線。通過分析表明CNN模型可以充分學習風功率數據中的規律,成功跟蹤上了風功率曲線波動下降的趨勢,然而在小的波峰波谷處跟蹤效果有待提升。為了更好顯示預測誤差,對絕對誤差進行分段統計,統計結果如圖9所示。

圖9 2018年0-4時誤差分布曲線
統計結果顯示,CNN模型60%的誤差均分布在400兆瓦以內,并誤差曲線下降較快;而現有水平誤差在400兆瓦內的只有不到50%,且誤差曲線下降緩慢。由此可見,CNN模型比現有水平預測效果更佳,同時驗證了方法的可行性和有效性。
4.2.2 超短期預測的統計規律分析
對典型日0-4時的數值進行分析后,為了更好地探究季節性規律,對2018年每天0-4時的風功率數據進行預測,并對預測數據進行統計分析。根據3.1節中建立的CNN模型對春季進行預測時,選擇2016年3月1日至2017年2月28日和2017年6月1日至2018年2月28日作為訓練集;選擇2017年3月1日至2017年5月31日作為驗證集;2018年3月1日至2018年5月31日作為測試集。其余三個季度的數據集依次按照春季預測的劃分結果向后移動一個季度。全年0-4時分季預測數據評價指標如表2所示。

表2 2018年0-4時分季預測數據評價指標
由表1和表2可以看出:合格率與數據本身的相鄰點平均變化率關系最為緊密,而數據本身的平均值和標準差影響較為次要。四季中夏季的平均變化率最大,但由于平均值和標準差低且同季規律性強的緣故,預測效果處于居中水平;與之相反,秋冬兩季雖然平均值和標準差較高且同季規律性差,但該年份平均變化率很低,導致預測效果良好。
綜上可見,近期的數據指標對預測效果起主導作用,其中相鄰點平均變化率關聯最大;同季規律性對預測效果起輔助作用,避免了較大相鄰點平均變化率對預測結果造成的影響。
4.2.3 全年預測效果分析
對2018年分季預測結果進行統計整合,得到2018全年的預測結果,與現有水平和統計方法(ARMA)的對比結果如表3所示。

表3 2018年0-4時不同模型預測數據評價指標對比
由表3可以看出:CNN模型各指標在現有水平上均有所提高,且比傳統統計方法提升較大,均方根誤差、百分誤差和合格率比現有水平分別提高了10.3%、16.4%和13.5%,比傳統統計方法(ARMA)分別提高了19.2%、31.7%和29.7%。
實驗結果表明,CNN模型應用于區域風功率預測領域上具有良好的效果,驗證了方法的優越性。
本文建立了區域風功率超短期預測的CNN模型,并利用某地區風電場的十年歷史數據進行實驗分析。實驗結果表明,在均方根誤差、百分誤差和合格率的評價指標中,CNN模型在比現有水平和傳統統計方法有著更好的預測精度,且具有以下特點:
1)通過設置特定的訓練集和驗證集,提高了模型對風功率數據本身季節性規律的捕捉能力,一定程度上消除了季節差異性造成的影響,對高平均變化率的季節也有很好的預測效果。
2)由于CNN網絡矩陣化輸入和雙維度提取特征的特點,加強了模型學習近期規律的能力,在應對陣風和非平穩風的問題上有一定效果,能及時跟蹤上風功率曲線的變化趨勢。
3)風功率曲線小波動處的預測效果有待提升。在模型結構和優化算法的選取上,仍有一定進步空間。