王愈軒, 梁沁雯, 章思遠, 劉爾佳, 黃永章
(華北電力大學電氣與電子工程學院, 北京 102206)
相較于其他可再生能源,風電的技術(shù)成熟度較高且適用于規(guī)?;瘧?yīng)用,風能近年來大力發(fā)展,截至2020年底中國風電發(fā)電量達到4 665億kW·h,由于風電出力的隨機波動性和間歇性[1],大規(guī)模風電并網(wǎng)給電網(wǎng)安全穩(wěn)定運行帶來了挑戰(zhàn),因此,有效挖掘影響風電采集數(shù)據(jù)特征信息,提高風電功率的預測精度對于電網(wǎng)安全穩(wěn)定運行具有重要的意義[2]。
針對風電功率預測問題,目前已有不少中外學者開展相關(guān)研究,按方法大致可以分為單一模型預測和組合模型預測。常見的單一模型方法有主要有支持向量機(support vector machine, SVM)[3],BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)[4]、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)[5]、長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)[6]、極限梯度提升 (extreme gradient boosting,XGboost)[7]等。單一模型由于預測誤差較大,在實際應(yīng)用中受限,組合模型通過融合其他算法在數(shù)據(jù)特征處理及預測性能上的優(yōu)勢,進一步提升是模型的預測精度,因而被廣泛應(yīng)用于各類時序預測問題當中。常見的組合預測方法有模態(tài)分解法、最優(yōu)加權(quán)組合法、誤差倒數(shù)法等[8-10]。文獻[11]基于互補集合經(jīng)驗模態(tài)分解法(complementary ensemble empirical mode decomposition, CEEMD),將風電功率進行分解,建立各分量差分自回歸滑動平均(auto-regressive moving average model,ARIMA)預測模型,構(gòu)建了CEEMD-ARIMA組合的預測模型。文獻[12]基于集成經(jīng)驗模態(tài)分解(EEMD)方法分解風電功率特征,然后使用自適應(yīng)布谷鳥算法(automatic cuckoo search,ACS)改進的最小二乘支持向量機(least squares support vector machines,LSSVM)模型進行預測,構(gòu)建了EEMD-ACS-LSSVM組合的短期預測模型。文獻[13]基于自適應(yīng)智能灰色系統(tǒng)(automatic adaptive intelligent gray system,SAIGM)和遺傳算法優(yōu)化核極限學習機(kernel based extreme learning machine,KELM)構(gòu)建了SAIGM-KELM組合的預測模型。文獻[14]采用CNN對風電數(shù)據(jù)進行特征提取,并將其作為梯度提升學習(light gradient boosting machine, lightGBM)模型的數(shù)據(jù)輸入,構(gòu)建了CNN-lightGBM組合的短期預測模型。文獻[15]通過注意力模型(attention models,AM)優(yōu)化LSTM網(wǎng)絡(luò)的權(quán)重, 構(gòu)建了AM-LSTM組合的超短期風電功率預測模型。文獻[16]分別建立LSTM和lightGBM預測模型,然后基于最優(yōu)加權(quán)組合方法構(gòu)建了組合預測模型。
綜上所述,組合模型因其精度高被廣泛應(yīng)用于風電功率預測問題當中,因此,探索其他形式的組合模型在風電功率中的預測仍需深入研究。
有鑒于此,現(xiàn)提出一種基于LSTM-XGboost組合的超短期風電功率預測方法。首先,基于風電場采集的氣象數(shù)據(jù),采用皮爾遜相關(guān)系數(shù)法篩選與風電功率強相關(guān)的氣象數(shù)據(jù),建立風電功率預測模型數(shù)據(jù)集;然后,將歸一化處理的數(shù)據(jù)集作為LSTM和XGboost的模型輸入,分別構(gòu)建LSTM和XGboost的超短期風電預測模型,在此基礎(chǔ)上,采用誤差倒數(shù)法對LSTM和XGboost的預測數(shù)據(jù)進行加權(quán)構(gòu)建組合預測模型;最后,以未來4 h風電功率變化為預測目標,結(jié)合張家口某示范工程風電場實際運行數(shù)據(jù)驗證組合模型的有效性,為超短期風電功率預測問題提供了一種新的預測方法。
氣象數(shù)據(jù)是影響風電功率變化的主要原因,分析氣象數(shù)據(jù)與風電功率的相關(guān)性有利于量化不同氣象數(shù)據(jù)對風電功率的影響程度。常見的氣象數(shù)據(jù)包括風速、風向、空氣密度、溫度、氣壓等。采用皮爾遜相關(guān)系數(shù)(Pearson product-moment correlation coefficient, PPMCC),其值介于-1~1,兩個樣本X、Y之間皮爾遜相關(guān)系數(shù)rXY計算公式為
(1)
式(1)中:rXY為皮爾遜相關(guān)系數(shù);n為樣本X、Y的長度;xi、yi分別指樣本X、Y的實際值。rXY值越接近-1表明樣本X、Y具有較強的負相關(guān),rXY數(shù)值越接近1表明樣本X、Y具有較強的正相關(guān)。
LSTM被廣泛應(yīng)用于預測問題當中,它是一種特殊的RNN,能夠在模型訓練中學習長期的數(shù)據(jù)變化規(guī)律。LSTM的預測模型通過遺忘門控制信息保留,輸入門控制信息輸入,輸出門控制信息輸出來完成預測任務(wù)[17],其原理結(jié)構(gòu)圖如圖1所示。
LSTM學習網(wǎng)絡(luò)訓練過程為
ft=ε(gf[ht-1,xt]+bf)
(2)
it=ε(gi[ht-1,xt]+bi)
(3)
ot=ε(gc[ht-1,xt]+bf)
(4)
ct=ftct-1+ittanh(go[ht-1,xt]+bc)
(5)
ht=ottanh(ct)
(6)
式中:ε、tanh為激活函數(shù);ft為遺忘門輸出;it為輸入門的輸出;ot為輸出門輸出;ct為當前時刻t神經(jīng)單元狀態(tài);ht為t時間步下的LSTM記憶單元的輸出;gf為遺忘門權(quán)重;gi、gc為隱藏輸入門權(quán)重;go為單元到輸出門權(quán)重;bi為輸入門參數(shù);xt為當前t時間步的輸入;bf為當前隱藏層遺忘門的偏差值;bi為當前隱藏層輸入門的偏差值;bc為當前隱藏層記憶單元的偏差值。
圖1 LSTM預測原理Fig.1 LSTM algorithm prediction principle
總的來說,LSTM模型控制每一個時間步下的記憶單元,決定當前時間步下保留多少上一個時間步的狀態(tài)信息,以及傳遞多少信息給下一個時間步,LSTM模型通過控制和保護信息流的狀態(tài),得到較為準確的預測結(jié)果。
XGboost在GBDT算法基礎(chǔ)上對boosting進行改進建立的集成模型,其內(nèi)部決策樹使用的是梯度提升樹。提升樹的分裂結(jié)點對于方差損失函數(shù),擬合的就是殘差;對于一般損失函數(shù)(梯度下降),擬合的就是殘差的近似值,分裂結(jié)點劃分時枚舉所有特征的值,預測結(jié)果是每棵樹的預測結(jié)果的累加和[18],假設(shè)存在M棵決策樹,其模型輸出的預測結(jié)果為
(7)
圖2 樹集成過程Fig.2 Tree integration process
定義XGboost的目標函數(shù)為
(8)
(9)
(10)
樹模型的復雜度Ω(ft)計算公式為
(11)
式(11)中:γ為控制葉片數(shù)量參數(shù);T為葉子節(jié)點數(shù);λ為正則項參數(shù);ωj為第j個葉子節(jié)點的權(quán)重。
(12)
通過對ωj求導等于0,可以得到ωj的表達式為
(13)
將ωj代入目標函數(shù)[式(12)]進行最后簡化,過程為
(14)
由式(11)~式(14)可以看出,預測模型在迭代過程中,通過不斷計算節(jié)點損失值,得到ωj和目標函數(shù)的最佳值,選擇增益損失最大的葉子節(jié)點,進而得到最優(yōu)預測模型。
(15)
(16)
式(16)中:pi為風電功率真實值;n為預測時間段內(nèi)的樣本數(shù)量。
由式(16)可知,組合方法是將較大權(quán)值賦給預測誤差小的模型,從而使得整體預測誤差變小,進而提升模型預測精度。
組合模型預測流程如圖3所示,主要包括數(shù)據(jù)預處理、數(shù)據(jù)相關(guān)性分析、數(shù)據(jù)集劃分、LSTM和XGboost 預測模型構(gòu)建及其參數(shù)調(diào)試、組合模型構(gòu)建、預測結(jié)果分析。其中,LSTM和XGboost預測模型構(gòu)建過程、組合模型構(gòu)建過程分別在2.1節(jié)、2.2節(jié)、2.3節(jié)做過相關(guān)敘述,在此不再贅述。
圖3 組合模型預測流程Fig.3 Combination model forecasting process
(1)數(shù)據(jù)相關(guān)性分析。采用皮爾遜相關(guān)系數(shù)法分析氣象數(shù)據(jù)與風電數(shù)據(jù)的相關(guān)性,從而更好判斷不同氣象數(shù)據(jù)對于風電功率預測的影響程度,通過數(shù)據(jù)特征相關(guān)性分析,篩選影響風電功率較大的數(shù)據(jù)特征,將其作為預測模型的數(shù)據(jù)輸入,簡化預測模型計算的工作量。
(2)數(shù)據(jù)預處理。預測數(shù)據(jù)集主要包括風電功率及其相關(guān)的氣象數(shù)據(jù),模型預測前需將數(shù)據(jù)集中的壞數(shù)據(jù)進行剔除。由于風電功率與氣象數(shù)據(jù)量綱不同、數(shù)值差異性較大,需對其進行標準化處理。
(3)數(shù)據(jù)集劃分。將風電功率和氣象數(shù)據(jù)按比例隨機劃為訓練集、測試集。訓練集的數(shù)據(jù)用于預測模型的訓練學習,然后把訓練之后的模型放到測試集的數(shù)據(jù)中進行測試。
(4)參數(shù)調(diào)試。不同參數(shù)對于模型預測誤差影響較大,因此需要通過調(diào)試得到最優(yōu)的模型參數(shù)。LSTM模型的參數(shù)主要有學習速率(learning_rate),LSTM的隱藏層數(shù)及其神經(jīng)元大小,批量大小(batch size),迭代次數(shù)等。XGboost模型的參數(shù)主要包括樹最大深度(max_depth)、學習率(learning_rate)、子模型的數(shù)量(n_estimators)、損失函數(shù)(objective)、模型求解方式(booster)、L1正則項權(quán)重(reg_alpha)、L2正則項權(quán)重(reg_lambda)等。
(6)預測結(jié)果分析。選取平均絕對百分誤差EMAPE、均方根誤差ERMSE和平均絕對誤差EMAE3種評價指標對模型的預測結(jié)果進行評估,其計算公式為
(17)
(18)
(19)
以張北某風電場2016全年實際運行數(shù)據(jù)為例,該項目總裝機容量49.5 MW,采樣周期為15 min,即每天96個采樣點。風場地形主要以剝蝕地形的基性熔巖臺地、殘丘、殘梁為主,山梁及丘陵頂部一般海拔標高在1 500~1 600 m,山梁、山丘呈渾圓狀或長垣狀,山間溝谷開闊寬緩,場區(qū)山梁、山丘多為荒坡地,低緩處為貧瘠的衣耕地。
計算平臺主要配置為win10系統(tǒng),Intel i7-10700@2.9 GHz,RAM 16 GB,LSTM和XGboost預測模型構(gòu)建及組合模型構(gòu)建工作均采用Python語言編程實現(xiàn)。
通過測試不同的LSTM網(wǎng)絡(luò)結(jié)構(gòu),當?shù)螖?shù)在55次,且第一層隱藏層128個神經(jīng)元、第二層64個神經(jīng)元模型時預測誤差最低,此時預測模型效果最佳。其他模型參數(shù)如表1所示。
同理,設(shè)置不同XGboost模型參數(shù),通過搜索尋優(yōu)觀察模型訓練、參數(shù)誤差值的變化得到最優(yōu)XGboost 預測模型參數(shù),結(jié)果如表2所示。
表1 LSTM預測模型參數(shù)
表2 XGboost預測模型參數(shù)
通過皮爾遜相關(guān)系數(shù)方法得到風電功率與各氣象數(shù)據(jù)的相關(guān)系數(shù),結(jié)果如表3所示。
從表3可知,風電功率與風速、空氣密度、風向呈較強的正相關(guān),其中與風速的相關(guān)性最高,相關(guān)系數(shù)高達0.853。風電功率與溫度存在較強的負相關(guān),因此,溫度較低的冬天是風力發(fā)電的高峰期。將上述5個強相關(guān)的氣象數(shù)據(jù)和風電功率作為后續(xù)預測模型的數(shù)據(jù)輸入。
表3 風電功率與氣象數(shù)據(jù)的相關(guān)系數(shù)
依據(jù)《風電功率預測功能規(guī)范》對超短期風電功率預測定義為未來0~4 h內(nèi)的風電功率變化[19],故選取未來4 h(16個預測點)的風電功率變化作為預測目標。風電功率變化特征復雜,大體可以分為上升、下降、低谷、高峰4個時期。為有效衡量模型在上述各個時期的預測效果,分別選取4月10日12:00—16:00(上升期)、7月10日00:00—4:00(下降期)、10月9日4:00—8:00(低谷期)、1月 10日00:00—4:00(下降期)來驗證各模型的預測效果,表4展示了各時期風電功率大小的基本參數(shù)。
首先構(gòu)建LSTM、XGboost、SVM、BPNN 4個單一預測模型,然后基于2.4節(jié)的方法構(gòu)建LSTM-XG-boost組合模型,將上述4個時期作為各模型的預測目標進行對比分析,不同模型在各時期的預測效果如圖4所示。由圖4可知,相較于其他4種單一模型,LSTM-XGboost組合模型預測曲線和真實值更為接近,組合模型預測誤差較小,具有更高的預測精度。組合模型能有效應(yīng)對不同時期的預測任務(wù)。
表4 風電功率大小的基本參數(shù)
圖4 風電功率預測曲線Fig.4 Wind power forecast curve for each period
表5為各模型在不同時期的預測誤差結(jié)果。從表5的3個評價指標可知,組合模型在各時期的預測誤差都是最小,其次是LSTM和XGboost模型,誤差較大的是SVM和BPNN模型。以平均絕對百分誤差EMAPE為例來說明組合模型在各時期與其他模型預測誤差的降低幅度,相較于LSTM、XGboost、SVM、BPNN模型,上升期組合模型平均絕對百分誤差EMAPE分別降低了13.73%、14.46%、48.19%、51.07%;下降期組合模型平均絕對百分誤差EMAPE分別降低了15.06%、16.32%、38.74%、45.46%;低谷期組合模型平均絕對百分誤差EMAPE分別降低了18.96%、21.40%、51.76%、43.03%;高峰期組合模型平均絕對百分誤差EMAPE分別降低了14.00%、19.39%、52.60%、55.15%。
表5 模型預測誤差對比
針對大規(guī)模風電功率預測問題,為提高風電功率預測精度,基于組合預測理論提出了LSTM-XGboost 組合超短期風電功率預測模型。以張家口某示范工程風電場實際運行數(shù)據(jù)驗證了模型的有效性,得出以下結(jié)論。
(1)相較于其他4種單一預測模型,LSTM-XGboost 組合預測模型具有更高的預測精度。
(2)LSTM-XGboost組合模型能夠有效應(yīng)對風電功率變化,組合模型在上升、下降、低谷、高峰4個變化時期均具有較好的跟隨性,預測曲線和真實值更為接近,因此能有效滿足不同的預測任務(wù)。
(3)采用誤差倒數(shù)法構(gòu)建的LSTM-XGboost組合模型,能夠有效發(fā)揮兩種單一模型的預測優(yōu)勢,進一步提高了模型的預測精度。
近年來,風電裝機規(guī)模持續(xù)增加,伴隨著數(shù)據(jù)采樣周期變短,風力發(fā)電采集數(shù)據(jù)呈現(xiàn)規(guī)?;鲩L趨勢,如何組合最新智能算法進一步提高風電功率預測精度是未來重點研究方向。