國電電力新疆新能源開發有限公司 徐榮鵬 馮文新 李 偉 蔣凌子
北方大賢風電科技(北京)有限公司 付 杰 常 謙
由于風電具有很強的地域性與隨機性,導致風電輸出不穩定,影響電力調度,風電功率預測的主要目的在于電力市場競價和風電場運行維護,如何提高預測準確率具有重大的研究意義。
風電預測可分為中長期、短期、超短期三種時間類型的預測,短期預測是當前研究的熱點問題;目前國內外針對短期預測的技術手段主要有支持向量機、隨機森林、BP神經網絡等方法,張啟龍等人提出對BP神經網絡的拓撲結構和網絡權值采用遺傳算法進行優化,并將其應用于風電場功率預測;宣暢等人采用鯨魚優化算法與多元宇宙優化算法結合內核極限學習機,構建預測模型進行風點功率預測;康文豪等人針對風電數據特征選擇問題,提出在使用kendall rank相關系數、灰色關聯度和隨機森林特征重要性三種方法選擇有效特征的基礎上,采用改進深度森林模型進行短期風電功率預測,進一步提高預測的準確性和擬合效果;王小娟等人提出采用布谷鳥搜索算法優化支持向量回歸機,進而得到CS-SVR模型實現短期風電功率預測。
遺傳算法是模擬自然進化過程搜索最優解的一種方法,主要包括選擇、交叉、變異三種算子:
定義初始種群大小為p、個體維度為D、終止條件為種群最大迭代次數為Iter,則算法個體以及初始種群定義如下:其中,Xti為第t次迭代種群中的第i個體,初始情況下t=0,i=1,2,…,p;rand()為[0,1]間的隨機數(服從均勻分布);XUi,d、XLi,d分別為個體在第d個維度上的上下界,d為當前個體維度,d=1,2,…,D。
適應度函數。定義適應度函數F=f(xi)。
選擇操作。目的在于直接將較優個體傳遞給下一代或通過配對交叉產生新的個體傳遞給下一代,一般常用的選擇方式為輪盤賭法,適應度越好的染色體被選中的概率越高,當前染色體(即種群個體)被選擇概率公式為:其中,f(xi)為當前染色體i的適應度,為所有染色體的適應度之和。
交叉操作。根據選擇操作獲取到父母染色體,隨機選擇交叉位置,定義交叉概率Pc(0<Pc≤1),進行指定位置交叉操作;變異操作。變異是根據閾值模擬改變個體上的某些基因座上的基因值,定義變異閾值為0.5,變異后產生的新個體為:

其中,Xti,d為第t次迭代時第i個染色體的d維度的值,xtmin、xtmax分別為染色體d維度上的基因的上下界。
梯度提升決策樹是基于Boosting的一種集成方法,其算法思想為采用損失函數的負梯度作為當前迭代時刻的損失近似值,通過在當前迭代時刻對前一迭代時刻的弱學習器的損失進行擬合,進而不斷更新訓練集的權重,最終將弱學習器組合為一個強學習器,減小樣本損失。GBDT算法過程[1]如下:
定義輸入的樣本數據D:D={(x1,y1),(x2,y2),…,(xi,yi),…,(xN,yN)}、x={x1,x2,…,xi,…,xN}、y={y1,y2,…,yi,…,yN},其中,i=1,2,…,N為樣本個數;初始化學習器:其中c為使損失函數極小化的常數。
定義損失函數L(y,f(x)),構建M棵樹:計算當前樹m對所有樣本數據i(i=1,2,…,N)的損失函數的負梯度值:-gm(xi)=-[?Ly,f(xi)/?f(xi)]f(x)=fm-1(x),其中m為當前樹個數、m=1,2,…,M;以負梯度作為預測值,即將(xi,-gm(xi))(i=1,2,…,N)為訓練數據,訓練一個回歸樹Tm(x,);更新樹模型:fm(x)=fm-1(x)+ρTm(x,),其中ρ為學習率。
經過M次迭代之后得到最終的樹模型為:fM(x)=
由于在實際的風電場運行場景中會出現幾種導致實際發電功率不準確情況,如不定時的風機進行檢修、限電等,即人工干預的原因導致的數據臟亂問題,且風電數據量過大、無法靠人工分析清洗數據;此外,考慮到實際風電功率也可能會具有一些時間特性,在相似的時間段可能會具有相似的特性,大量的數據在構建模型過程中可能會導致由于數據的異質性給預測結果帶來反面影響。
針對以上問題,在進行預測前對初始數據進行了聚類處理;首先將原始的特征數據的訓練集進行KMeans聚類;然后利用訓練集及其聚類結果訓練KMeans聚類模型,利用聚類模型對待預測的數據集進行分類;最后按照聚類個數k將訓練集與測試集劃分成k組,并對k組數據分別利用風電功率預測算法進行模型訓練并預測。本聚類操作的本質在于利用相似數據的相似信息,使得預測效果更好。
針對機器學習算法的參數調節目前還沒有比較完美的調優方法論,由于GBDT算法模型的模型參數較SVM等算法相比較多,手動調參具有不確定性且十分消耗時間,而參數是影響訓練精度和時間的重要因素,故本文采用遺傳算法在全局搜索與局部尋優方面的良好優勢對GBDT的boosting框架參數以及弱學習器參數進行優化,GBDT參數包括弱學習器的最大個數、學習率、劃分時考慮的特征數量、樹的深度、葉子節點最少的樣本數等。
本文針對GBDT模型主要參數進行優化,包括決策樹的深度、采樣比例及最大弱學習器個數與學習率;其中,樹的深度過大可能導致過擬合,過小可能會導致模型過于簡單,而采樣比例決定了選取多少比例的數據集取值范圍為[0,1],可有效防止過擬合,但也會增加樣本擬合偏差,弱學習器的個數可以和學習率一起考慮,兩者之間需要權衡;弱學習器個數太小或太大容易欠擬合或過擬合。將優化后得到參數組用于GBDT的訓練,獲取最終的GBDT網絡結構,構建新的預測模型GA-GBDT。GA-GBDT算法步驟如下:
種群個體初始化。采用實值編碼方式,將GBDT算法的樹的深度、采樣比例、弱學習器的最大個數、學習率根據公式(1)按照實值編碼方式作為GA算法的初始種群,定義種群大小為p,個體維度D為待優化參數的個數,終止條件為種群最大迭代次數為Iter;適應度函數。選擇使GA算法適應度函數最小的參數組,定義適應度函數為模型預測數值結果的絕對誤差:其中:yi與y'i分別為第i個測試樣本的功率實際值與預測值,n為預測樣本數。
選擇操作。根據公式(2)采用輪盤賭方式進行個體選擇,適應度函數越好,被選擇的可能性越大;交叉操作。針對選擇操作獲得的個體進行部分基因交叉互換,產生新個體,計算適應度函數,根據優勝劣汰原則進行個體的保留;變異操作。根據公式(3)對當前種群個體進行變異操作,獲得新個體,計算適應度函數,擇優選擇是否保留變異個體。
終止條件。判斷是否達到最大種群迭代次數,若滿足、算法結束,輸出最優GBDT參數組,否則返回適應度函數步驟繼續依次執行直至滿足終止條件。基于以上邏輯步驟,最終構建基于KMeans聚類的遺傳算法優化梯度提升樹的功率預測模型,簡稱KGA-GBDT(圖1)。

圖1 KGA-GBDT模型的流程圖
利用國電電力新疆某風電場在2019年9月至2020年6月的歷史氣象數據進行風電功率預測建模,根據氣象數據所對應的實測功率數據訓練并驗證預測模型;數據采樣時間間隔為15min,輸入數據特征包括風速、風向、溫度、壓力等,輸出結果為預測發電功率(圖2)。

圖2 風電功率部分樣本序列圖
為進一步證明基于KMeans聚類的GA-GBDT模型(KGA-GBDT)在預測問題上的有效性,采用GA-GBDT、GA-SVM、BP等3種風電功率常用預測模型進行對比實驗;其中在KGA-GBDT、GAGBDT、GA-SVM模型中,GA種群個體數目設置為p=30,個體維度為優化參數個數,依次為D=4、D=4、D=2,終止條件Iter=80;BP算法的相關參數采用python的sklearn包默認設置;考慮到數據可能會具有時間特性,故隨機抽取5個月數據,每個月隨機抽取7天共35天的數據作為測試集,其余作為訓練集;模型評價指標采用絕對誤差、均方誤差,其計算公式如下:其中yi與y'i分別為第i個測試樣本的功率實際值與預測值,n為預測樣本數。
將KGA-GBDT預測數值結果的相對誤差與BP基本模型進行對比分析,根據圖3、圖4的預測結果及誤差圖上的3個模型的曲線趨勢可知:KGAGBDT模型的預測結果離群點少,相對誤差范圍小,整體的預測結果更貼近真實功率的數值結果;對比GA-GBDT與GA-SVM,GA-SVM的預測誤差更小一點,說明SVM預測效果比GBDT更好;根據圖上的KGA-GBDT與GA-GBDT曲線對比,可以發現KGA-GBDT的預測結果優于GAGBDT,故可以證明KMeans聚類操作的有效性。

圖3 各算法的部分功率預測結果圖

圖4 各算法的功率預測結果相對誤差圖
測試數據在MSE、MAE算法下得到的模型結果誤差評價指標結果分別為:BP398.55/15.99、GA-SVM467.76/16.59、GA-GBDT434.61/15.55、KGA-GBDT363.85/10.08。據此可以得出結論:KGA-GBDT模型的預測能力高于其余3個對比模型。KGA-GBDT預測模型得到的均方誤差、絕對誤差數值結果均為最小;其中,與BP基本預測模型對比,KGA-GBDT預測模型的MSE、MAE平均分別降低了32.80、5.91,相比于基于GA參數優化的GBDT與SVM預測模型,MSE、MAE 平均分別降低了大約87、6,說明KGA-GBDT預測模型的功率預測命中率最高。
測試數值顯示,GA-GBDT模型預測結果的MAE比BP的低,但MSE高于BP,結合圖3的第300多樣本位置為例,此時的GA-GBDT預測出結果偏差過大,說明GA-GBDT模型預測結果穩定性不強;此外在利用GA算法對GBDT、SVM算法進行參數優化時,實驗記錄了在相同的GA參數條件下的算法的計算時間,SVM算法在參數優化過程中消耗時間是GBDT的5倍多,故GA-GBDT模型在時間效率角度來講占據優勢;說明基于KMeans聚類的GA-GBDT算法能明顯提升模型性能。
綜上,預測模型的兩項誤差指標均小于GAGBDT、GA-SVM、BP預測模型的,說明本預測模型在風電功率預測方面的預測性能較好;KGAGBDT預測模型與GA-GBDT預測模型對比,其中MSE、RMSE分別降低了70.76、5.47,這說明KMeans聚類操作有效降低了數據異質性的影響,能明顯提升模型性能。