曹渝昆, 朱 萌
(上海電力學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
可再生能源風(fēng)能發(fā)電并網(wǎng)的發(fā)展,給電力系統(tǒng)的安全穩(wěn)定運(yùn)行帶來(lái)了嚴(yán)峻的挑戰(zhàn)。風(fēng)力發(fā)電場(chǎng)發(fā)電功率的預(yù)測(cè)越精確,越有利于電力系統(tǒng)的穩(wěn)定運(yùn)行及優(yōu)化調(diào)度。風(fēng)電功率預(yù)測(cè)分為短期預(yù)測(cè)和超短期預(yù)測(cè),其中超短期預(yù)測(cè)是對(duì)風(fēng)電場(chǎng)未來(lái)數(shù)小時(shí)內(nèi)的出力進(jìn)行預(yù)測(cè),時(shí)間分辨率不小于15 min,并且每15 min自動(dòng)執(zhí)行一次,主要用于單日內(nèi)的計(jì)劃滾動(dòng)。超短期預(yù)測(cè)能夠動(dòng)態(tài)調(diào)節(jié)短期的預(yù)測(cè)誤差而引起的功率波動(dòng),有助于緩解系統(tǒng)調(diào)峰、調(diào)頻壓力,對(duì)電網(wǎng)安全運(yùn)行有著重要的影響[1]。
隨著風(fēng)電場(chǎng)監(jiān)測(cè)數(shù)據(jù)精度的增加,風(fēng)電場(chǎng)發(fā)電功率的超短期預(yù)測(cè)愈加火熱?,F(xiàn)有關(guān)于風(fēng)電場(chǎng)發(fā)電功率超短期預(yù)測(cè)的方法大致可分為物理方法和統(tǒng)計(jì)方法兩類。物理方法主要是依據(jù)風(fēng)電場(chǎng)周邊的地貌信息,建立合理的熱力學(xué)及流體力學(xué)模型,通過求解非線性方程組得到風(fēng)速風(fēng)向等信息,再根據(jù)風(fēng)機(jī)功率曲線得到輸出功率來(lái)實(shí)現(xiàn)預(yù)測(cè)。這類方法本質(zhì)上是描述大氣運(yùn)動(dòng),不依托歷史數(shù)據(jù),適合在建的風(fēng)電場(chǎng)功率預(yù)測(cè)。由于物理方法不太容易對(duì)特殊的地理環(huán)境以及自然現(xiàn)象精確描述,且對(duì)模型和參數(shù)選擇的依賴性強(qiáng),所以沒有廣泛用于風(fēng)電場(chǎng)的超短期功率預(yù)測(cè)[2]。統(tǒng)計(jì)方法主要是依據(jù)風(fēng)電場(chǎng)歷史數(shù)據(jù)的統(tǒng)計(jì)規(guī)律,建立歷史樣本之間的非映射關(guān)系,其中最常見的方法就是人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等人工智能預(yù)測(cè)方法[3],比較適合風(fēng)電功率的超短期預(yù)測(cè)。因此,為提高風(fēng)電場(chǎng)發(fā)電功率超短期預(yù)測(cè)的準(zhǔn)確率,本文提出一種基于主成分分析(Principal Component Analysis,PCA)和輕量梯度提升樹(Light Gradient Boosting Maching,LightGBM)的風(fēng)電場(chǎng)發(fā)電功率超短期預(yù)測(cè)方法。
圖1是基于LightGBM的風(fēng)電場(chǎng)發(fā)電功率超短期預(yù)測(cè)建模流程圖。由圖1可以看出,要想實(shí)現(xiàn)風(fēng)電場(chǎng)發(fā)電功率的超短期預(yù)測(cè),首先要做風(fēng)機(jī)數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(Supervisory Control And Data Acquisition,SCADA)數(shù)據(jù)的特征工程,將對(duì)風(fēng)機(jī)中的SCADA檢測(cè)系統(tǒng)數(shù)據(jù)提取后進(jìn)行數(shù)據(jù)清洗,將故障時(shí)間內(nèi)的數(shù)據(jù)剔除,清洗后將數(shù)據(jù)標(biāo)準(zhǔn)化到固定區(qū)間以保證結(jié)果的可靠性。由于工業(yè)數(shù)據(jù)維度較高,故采用PCA實(shí)現(xiàn)降維,將數(shù)據(jù)集精簡(jiǎn)到最適合模型訓(xùn)練的狀態(tài)。隨后將降維度后的數(shù)據(jù)進(jìn)行分組,分為訓(xùn)練樣本和測(cè)試樣本。訓(xùn)練樣本代入LightGBM模型中訓(xùn)練,并采用網(wǎng)格搜索的方法進(jìn)行調(diào)參,直到整個(gè)模型訓(xùn)練到最佳,最終將測(cè)試樣本代入到訓(xùn)練好的超短期預(yù)測(cè)模型中實(shí)現(xiàn)功率預(yù)測(cè)。
圖1 基于LightGBM的風(fēng)電場(chǎng)發(fā)電功率超短期預(yù)測(cè)建模流程
風(fēng)電機(jī)組SCADA系統(tǒng)的監(jiān)控?cái)?shù)據(jù)是每隔7.5 s記錄一次的風(fēng)機(jī)重要部件傳感器的監(jiān)測(cè)參數(shù),包括發(fā)電機(jī)轉(zhuǎn)速、網(wǎng)側(cè)有功功率、機(jī)艙溫度等28個(gè)維度。由于工業(yè)數(shù)據(jù)維度較高,且影響功率的因素主要集中在溫度、風(fēng)向、風(fēng)力等上,所以常采用PCA實(shí)現(xiàn)降維,一方面在一定程度上去噪,另一方面將數(shù)據(jù)精簡(jiǎn)到最適合模型學(xué)習(xí)的狀態(tài)[4]。
PCA是比較常用的一種降維方法。作為一種統(tǒng)計(jì)方法,該方法通過正交變換將一組可能存在相關(guān)性的變量轉(zhuǎn)換為一組線性不相關(guān)的變量,轉(zhuǎn)換后的這組變量稱為主成分。PCA的原理是線性映射,即將高維空間數(shù)據(jù)投影到低維空間上;在數(shù)據(jù)分析上,將數(shù)據(jù)的主成分(包含信息量大的維度)保留下來(lái),將數(shù)據(jù)描述不重要的成分予以忽略。即將主成分維度組成的向量空間作為低維空間,將高維數(shù)據(jù)投影到該空間而實(shí)現(xiàn)降維。算法的主要思想是選取數(shù)據(jù)差異最大的方向作為第一個(gè)主成分,第二個(gè)主成分選擇方差次大的方向,并且與第一個(gè)主成分正交,不斷重復(fù)這個(gè)過程直到找到n個(gè)主成分。在風(fēng)機(jī)SCADA監(jiān)測(cè)數(shù)據(jù)26個(gè)維度的基礎(chǔ)上,經(jīng)過清洗,將工況參數(shù)等維度剔除后再進(jìn)行主成分分析,將數(shù)據(jù)降維至K維。
GBM的全稱是Gradient Boosting Machine,一般叫做梯度提升樹,屬于Boosting算法的一種[5]。Boosting算法是一類將弱學(xué)習(xí)器提升為強(qiáng)學(xué)習(xí)器的集成學(xué)習(xí)算法,主要是通過改變訓(xùn)練樣本的權(quán)值,學(xué)習(xí)多個(gè)分類器,并將這些分類器進(jìn)行線性組合,提高泛化性能。如果一個(gè)分類存在一個(gè)多項(xiàng)式能夠?qū)W習(xí)且有較高的準(zhǔn)確率,那么這個(gè)算法就叫做強(qiáng)學(xué)習(xí)器;反之,若準(zhǔn)確率只稍稍大于50%,那么這個(gè)算法就叫做弱學(xué)習(xí)器。Boosting就是從更容易得到的弱學(xué)習(xí)器出發(fā),經(jīng)反復(fù)訓(xùn)練得到一系列弱學(xué)習(xí)器,再組合這些弱學(xué)習(xí)器,從而構(gòu)成一個(gè)強(qiáng)學(xué)習(xí)器。大多數(shù)Boosting算法會(huì)改變數(shù)據(jù)的概率分布(數(shù)據(jù)權(quán)值),即通過提高前一輪訓(xùn)練中被錯(cuò)分類的數(shù)據(jù)的權(quán)值,降低正確分類數(shù)據(jù)的權(quán)值,使得被錯(cuò)誤分類的數(shù)據(jù)在下一輪的訓(xùn)練中更受關(guān)注,再將這些學(xué)習(xí)器線性組合。具體方法是增大誤差率小的學(xué)習(xí)器的權(quán)值,減小誤差率大的學(xué)習(xí)器的權(quán)值。Boosting算法可以看作一個(gè)加法模型,其公式為
(1)
式中:αm——基學(xué)習(xí)器權(quán)系數(shù);
M——學(xué)習(xí)器的個(gè)數(shù);
m——第m個(gè)學(xué)習(xí)器;
θm——學(xué)習(xí)器分類的參數(shù),即分類樹或者回歸樹模型參數(shù);
T(x,θm)——學(xué)習(xí)得到的第m個(gè)基學(xué)習(xí)器。
在給定訓(xùn)練數(shù)據(jù)和損失函數(shù)形式后,Boosting學(xué)習(xí)模型可以定義為一個(gè)損失函數(shù)極小化的問題,優(yōu)化的目標(biāo)函數(shù)為
(2)
式中:N——樣本個(gè)數(shù);
L——損失函數(shù);
yi——實(shí)際函數(shù)值。
GBM為基于梯度下降算法得到的提升樹模型,具體步驟如下:
(1) 輸入訓(xùn)練數(shù)據(jù)(xi,yi);
(2) 構(gòu)建提升樹模型fm(x);
從m=1到M的迭代中:
(1) 計(jì)算損失函數(shù)的負(fù)梯度在當(dāng)前模型的值,將它作為殘差的估計(jì),即
i=1,2,3,…,N
(3)
(2) 估計(jì)回歸樹葉節(jié)點(diǎn)區(qū)域,以擬合殘差的近似值;
(3) 利用線性搜索估計(jì)葉節(jié)點(diǎn)區(qū)域的值,使損失函數(shù)極小化[6],即
(4)
(4) 更新回歸樹[6],即
(5)
由此得到最終的模型f(x)。
基于梯度下降算法去更新殘差方式,隨著迭代次數(shù)的增加,使之可以擬合比較復(fù)雜的非線性關(guān)系。在這種情況下,通過訓(xùn)練好的GBM模型去實(shí)現(xiàn)超短期功率預(yù)測(cè)的準(zhǔn)確率也愈來(lái)愈高。通過GBM算法的演變,XGBoost算法應(yīng)運(yùn)而生。不同于GBM的是,XGBoost算法對(duì)于模型的目標(biāo)函數(shù)的處理方式為:XGBoost將目標(biāo)函數(shù)作二階泰勒展開,從中得出下一次迭代需要預(yù)測(cè)的目標(biāo)葉節(jié)點(diǎn)權(quán)重,并根據(jù)損失函數(shù)計(jì)算分裂后的節(jié)點(diǎn)損失,最后依據(jù)節(jié)點(diǎn)損失篩選適當(dāng)?shù)奶卣鬟M(jìn)行下一步迭代。作為針對(duì)XGBoost的一些缺點(diǎn)而改進(jìn)和演變的LightGBM是速度快、性能高的梯度提升算法。其具體的優(yōu)化如下:在數(shù)據(jù)結(jié)構(gòu)方面,LightGBM采取了histogram算法,這類算法相較于XGBoost的Pre-sorted算法更有優(yōu)勢(shì);由于histogram算法對(duì)稀疏數(shù)據(jù)的處理時(shí)間及復(fù)雜度沒有pre-sorted好,因此LightGBM采用特征捆綁(Exclusive Feature Bunding,EFB)的方式來(lái)處理稀疏數(shù)據(jù)。LightGBM則利用了基于梯度的單邊采樣(Gradient-based One-Side Sampling,GOSS)作為采樣算法。
EFB和GOSS這兩個(gè)創(chuàng)新點(diǎn)正是LightGBM的可貴之處。EFB降低了數(shù)據(jù)特征規(guī)模,提高了模型的訓(xùn)練速度。GOSS巧妙地在保證信息增益的同時(shí)減小訓(xùn)練量,提高了模型的泛化能力。從實(shí)驗(yàn)的效果來(lái)看,LightGBM在速度和精度上都要優(yōu)于XGBoost。
本文采用的數(shù)據(jù)集來(lái)自國(guó)內(nèi)某風(fēng)電機(jī)組15#單機(jī)正常運(yùn)行狀態(tài)下SCADA的部分?jǐn)?shù)據(jù)。15#單機(jī)數(shù)據(jù)采集的時(shí)間為2015年11月1日 20:20至2016年1月1日21:38,采樣頻率為7.5 s/次,共計(jì)373 196×29組數(shù)據(jù)。在對(duì)比實(shí)驗(yàn)中引入21#單機(jī)正常運(yùn)行狀態(tài)下的數(shù)據(jù),采集時(shí)間相同,采樣頻率為7.5 s/次,共計(jì)179 646×29組數(shù)據(jù)。其中有28個(gè)連續(xù)數(shù)值型變量,涵蓋風(fēng)點(diǎn)機(jī)組的工況參數(shù)、環(huán)境參數(shù)和狀態(tài)參數(shù)等多個(gè)維度。由于實(shí)驗(yàn)驗(yàn)證與功率預(yù)測(cè)相關(guān),其中的工況參數(shù)以及部分狀態(tài)參數(shù)對(duì)功率的預(yù)測(cè)影響不大,所以人工剔除其中的維度,保留表1中的維度。
表1 風(fēng)電機(jī)組SCADA數(shù)據(jù)集維度說(shuō)明
處理后數(shù)據(jù)集的維度定格在12維。由于15#單機(jī)的數(shù)量達(dá)到30多萬(wàn)條,所以整個(gè)數(shù)據(jù)集的量算較多,故采取PCA降維方式將原始數(shù)據(jù)維度降到K維,在保證模型訓(xùn)練效果不變的情況下提升預(yù)測(cè)速度,達(dá)到超短期功率預(yù)測(cè)的目的。“time”時(shí)間戳維度屬于非連續(xù)的數(shù)值型變量,在輸入模型訓(xùn)練的過程中會(huì)大大增加模型的復(fù)雜度,所以在訓(xùn)練模型中依照索引的方式描述時(shí)間序列。從序列1到序列2剛好一個(gè)采樣頻率7.5 s。K值的選取問題屬于一個(gè)數(shù)據(jù)壓縮的問題,即在保留95%~99%信息的基礎(chǔ)上的K值,在調(diào)用sklearn封裝的PCA方法時(shí),其中的n_components參數(shù),如果設(shè)置為整數(shù),則n_components=k。如果將其設(shè)置為小數(shù),則說(shuō)明降維后的數(shù)據(jù)可以保留信息。在具體的實(shí)驗(yàn)中,將n_components參數(shù)設(shè)置為float數(shù)據(jù),從而間接解決K值選取的問題。
在經(jīng)過數(shù)據(jù)人工降維及PCA降維后,數(shù)據(jù)集已經(jīng)具有一定的完整性。隨后將處理后的15#機(jī)組數(shù)據(jù)集按照90%訓(xùn)練集以及10%測(cè)試集劃分。在LightGBM模型訓(xùn)練的輸入和輸出上,將處理后的90%訓(xùn)練集作為模型的輸入來(lái)訓(xùn)練模型,模型訓(xùn)練的輸出目標(biāo)是標(biāo)簽“power”字段,即網(wǎng)側(cè)有功功率。LightGBM模型訓(xùn)練完成后,以同樣方式處理10%測(cè)試集,并代入訓(xùn)練好的模型,得到預(yù)測(cè)的“predict”結(jié)果,再根據(jù)原始的正確“power”數(shù)值與預(yù)測(cè)的“predict”結(jié)果的誤差去評(píng)估模型的效果。其具體的流程如圖2所示。
圖2 LightGBM模型訓(xùn)練的流程
在將處理后的15#機(jī)組數(shù)據(jù)的90%訓(xùn)練集訓(xùn)練LightGBM模型完成后,需要去檢驗(yàn)?zāi)P陀?xùn)練的效果。將處理后的10%測(cè)試集同樣作為可以輸出理論的功率預(yù)測(cè)結(jié)果,再將其與實(shí)際的功率真實(shí)值比較,得出模型訓(xùn)練的優(yōu)劣?;貧w模型采用均方誤差(Mean Squared Error,MSE)、均方根誤差(Root Mean Squared Error,RMSE)及平均絕對(duì)誤差(Meqan Absolute Error,MAE)進(jìn)行評(píng)價(jià)。MSE,RMSE,MAE的計(jì)算公式為
(6)
(7)
(8)
式中:ot——真實(shí)值;
pt——估計(jì)值;
fi——預(yù)測(cè)值;
yt——真實(shí)值。
將15#機(jī)組原始數(shù)據(jù)經(jīng)過人工降維并經(jīng)PCA降維后,將90%訓(xùn)練集和10%測(cè)試集代入LightGBM模型訓(xùn)練,根據(jù)回歸模型誤差分析的評(píng)價(jià)標(biāo)準(zhǔn),得到的預(yù)測(cè)結(jié)果如表2所示。
表2 基于PCA和LightGBM的風(fēng)電超短期功率預(yù)測(cè)
由表2可知,基于PCA和LightGBM的風(fēng)電超短期功率預(yù)測(cè)訓(xùn)練效果優(yōu)異。
分別采用傳統(tǒng)的Logistic回歸、隨機(jī)森林算法和XGBoost算法作對(duì)比實(shí)驗(yàn),得到4種算法的實(shí)驗(yàn)效果如表3所示。
表3 15#機(jī)組4種算法不同數(shù)據(jù)集規(guī)模實(shí)驗(yàn)效果對(duì)比
由表3可以看出,LightGBM模型提升的訓(xùn)練效果顯著,在速度和誤差上都有本質(zhì)的提升,XGBoost模型的訓(xùn)練效果也比較理想,但LightGBM在速度和誤差上均有提升。LightGBM在數(shù)據(jù)集成倍增長(zhǎng)的情況下,實(shí)驗(yàn)耗時(shí)增長(zhǎng)不多,但精度確有提高??梢?LightGBM模型在數(shù)據(jù)集量大的情況下,精度和速度的優(yōu)勢(shì)能展現(xiàn)出來(lái)。
本文針對(duì)風(fēng)電場(chǎng)規(guī)模不斷擴(kuò)大,風(fēng)機(jī)SCADA實(shí)時(shí)監(jiān)測(cè)系統(tǒng)短周期采樣數(shù)據(jù)的充分利用的問題,提出了基于PCA降維以及LightGBM的風(fēng)電功率超短期預(yù)測(cè)方法。通過4種不同算法及不同數(shù)據(jù)集規(guī)模的實(shí)驗(yàn)效果對(duì)比可以看出,在數(shù)據(jù)集數(shù)量和維度都比較大的情況下,采用LightGBM模型可以在保證精度的情況下,實(shí)現(xiàn)風(fēng)電功率的超短期預(yù)測(cè)。這對(duì)風(fēng)電場(chǎng)的穩(wěn)定運(yùn)行及調(diào)度優(yōu)化具有一定的現(xiàn)實(shí)意義。