王永生,關(guān)世杰,劉利民,高靜,許志偉,劉廣文
(1.內(nèi)蒙古工業(yè)大學(xué) 數(shù)據(jù)科學(xué)與應(yīng)用學(xué)院,內(nèi)蒙古自治區(qū) 呼和浩特 010080;2.內(nèi)蒙古自治區(qū)基于大數(shù)據(jù)的軟件服務(wù)工程技術(shù)研究中心,內(nèi)蒙古自治區(qū) 呼和浩特 010080;3.內(nèi)蒙古農(nóng)業(yè)大學(xué) 計算機(jī)與信息學(xué)院,內(nèi)蒙古自治區(qū) 呼和浩特 010018)
隨著世界經(jīng)濟(jì)的飛速發(fā)展,對于能源的需求也大幅提升,傳統(tǒng)化石能源面臨著枯竭的威脅.由于傳統(tǒng)化石能源的大規(guī)模消耗而引起的氣候變暖以及日益嚴(yán)重的環(huán)境污染問題,生態(tài)系統(tǒng)、社會經(jīng)濟(jì)以及人類健康均受到嚴(yán)重威脅[1],大力發(fā)展風(fēng)力發(fā)電、水力發(fā)電等可再生能源成為社會關(guān)注的重點.截至2021年底,我國風(fēng)電并網(wǎng)裝機(jī)容量突破3億kW大關(guān),相比于2016年底實現(xiàn)翻番,已經(jīng)連續(xù)12年穩(wěn)居全球第一.風(fēng)力發(fā)電量占全社會用電量比例約7.5%,相比于2020年底提升1.3個%,風(fēng)力發(fā)電對全國電力供應(yīng)的貢獻(xiàn)不斷提升[2].由于風(fēng)力、風(fēng)向等自然氣象條件的不確定性,使得風(fēng)力發(fā)電具有較強(qiáng)的隨機(jī)性與波動性,導(dǎo)致風(fēng)力發(fā)電功率的預(yù)測工作受到影響.目前大多數(shù)預(yù)測方法依賴氣象數(shù)據(jù)和專家經(jīng)驗,主要分為物理分析法、統(tǒng)計分析法以及二者相結(jié)合的方法[3].
物理分析法主要受數(shù)值天氣預(yù)報(numerical weather prediction,NWP)及專家經(jīng)驗的影響.基于該方法的風(fēng)力發(fā)電功率預(yù)測需要使用較多參數(shù),如風(fēng)速、風(fēng)向、氣壓數(shù)據(jù)、地理地貌信息等,再依據(jù)風(fēng)機(jī)功率特性曲線,計算輸出功率.該方法具有不依賴歷史數(shù)據(jù)的特點,但是模型復(fù)雜、計算量大、抗干擾能力弱,數(shù)值天氣預(yù)報的精度和更新頻率會影響預(yù)測精度和速度[4-6].Cheng等[7]提出將風(fēng)電場渦輪機(jī)的實測風(fēng)速同化到NWP數(shù)據(jù)中的預(yù)測方法,該方法提升了在孤立位置的風(fēng)機(jī)輸出功率預(yù)測準(zhǔn)確率,降低了預(yù)測模型對NWP數(shù)據(jù)的依賴.
隨著人工智能在各個領(lǐng)域的快速發(fā)展,基于人工智能的統(tǒng)計分析法被應(yīng)用于風(fēng)力發(fā)電功率預(yù)測領(lǐng)域.以機(jī)器學(xué)習(xí)或深度學(xué)習(xí)為基礎(chǔ)的統(tǒng)計分析模型,由于實現(xiàn)誤差反饋修正功能,使得功率預(yù)測模型具備容錯轉(zhuǎn)化能力,預(yù)測準(zhǔn)確率得到顯著提升[8].Ju等[9]將卷積神經(jīng)網(wǎng)絡(luò)與輕量梯度提升回歸樹算法(light gradient boosting machine, light-GBM)組合成一種新的預(yù)測模型,在中國西北部某風(fēng)電場的數(shù)據(jù)集上,該方法取得良好的表現(xiàn).Fu等[10]提出一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的新型多步超前風(fēng)力發(fā)電預(yù)測模型,該模型在所提供的數(shù)據(jù)集中也獲得良好的預(yù)測效果.
為了進(jìn)一步提高預(yù)測準(zhǔn)確率,近年出現(xiàn)統(tǒng)計分析法與物理分析法相結(jié)合的方法.Zhang等[11]將氣象數(shù)據(jù)與風(fēng)電場歷史數(shù)據(jù)作為模型的輸入,通過K-means進(jìn)行聚類,最后每個集群構(gòu)建帶有注意力機(jī)制的模型(seqnence to sequerce, seq2Seq),以進(jìn)行風(fēng)力發(fā)電功率預(yù)測.Sharifian等[12]提出一種基于 Type-2 模糊神經(jīng)網(wǎng)絡(luò)估計和基于種群的隨機(jī)優(yōu)化技術(shù)的新型智能方法以預(yù)測風(fēng)力發(fā)電功率.該方法可以處理來自數(shù)據(jù)采集與監(jiān)視控制系統(tǒng)(supervisory control and data acquisition, SCADA)數(shù)據(jù)、天氣預(yù)報和測量工具參數(shù)的不確定性以提升模型預(yù)測準(zhǔn)確率.實驗表明,物理分析與統(tǒng)計分析相結(jié)合的預(yù)測方法可以進(jìn)一步提升模型預(yù)測準(zhǔn)確率.
在時間序列預(yù)測中,有大量的預(yù)測模型涌現(xiàn).本研究根據(jù)現(xiàn)有的預(yù)測模型總結(jié)出2個問題:第1個問題是無論是15 min的超短期風(fēng)力發(fā)電功率預(yù)測或是48 h以上的中長期的風(fēng)力發(fā)電功率預(yù)測,模型訓(xùn)練需要2-3 h甚至更久,大多數(shù)模型難以在生產(chǎn)中實際應(yīng)用;第2個問題在于現(xiàn)有數(shù)據(jù)過于單一,歷史風(fēng)電功率和氣象數(shù)據(jù)難以表明時間序列的特征,一些不必要的氣象數(shù)據(jù)也增加模型計算的負(fù)擔(dān)和模型構(gòu)建的時間成本.大多數(shù)現(xiàn)有預(yù)測模型并不能很好的應(yīng)用于風(fēng)電場,模型訓(xùn)練需要較高算力的GPU支持,大幅增加了風(fēng)電場的營業(yè)成本.
Elsayed等[13]采用XGBoost算法,結(jié)合精心配置的數(shù)據(jù),構(gòu)造出媲美甚至超越深度學(xué)習(xí)的模型.XGBoost是由華盛頓大學(xué)的陳天奇博士提出的,該算法由梯度提升回歸樹(gradient boosting regression tree,GBRT)演化而來,最初驚艷于Kaggle競賽,隨后以出眾的效率和較高的準(zhǔn)確度得到廣泛的應(yīng)用.XGBoost算法是GBRT思想的實現(xiàn),最大的特點是能夠通過并行學(xué)習(xí)實現(xiàn)加速計算,同時在目標(biāo)函數(shù)上加以改進(jìn)來提高預(yù)測精度[14].神經(jīng)網(wǎng)絡(luò)在數(shù)據(jù)預(yù)測方面變得愈發(fā)流行, XGBoost算法在訓(xùn)練樣本及訓(xùn)練時間有限的條件下,可以獲得更好的預(yù)測效果.相比于深度神經(jīng)網(wǎng)絡(luò),XGBoost能夠更好的處理表格數(shù)據(jù),并具有更強(qiáng)的可解釋性.大量實驗表明,該模型能在提升預(yù)測準(zhǔn)確率的同時,使用最少的資源來解決問題[15].本研究擬通過使用XGBoost算法以解決第1個問題.通過對時間序列的觀察,金融時間序列和風(fēng)力發(fā)電時間序列具有一定相似性[16].在長達(dá)近150 a 的金融數(shù)據(jù)分析中,一些金融因子可以對金融趨勢起到預(yù)測作用.在多種金融因子的協(xié)同作用下,金融趨勢預(yù)測準(zhǔn)確率明顯提高.本研究擬通過將風(fēng)力發(fā)電功率時間序列中衍生出的金融因子與原有時間序列中的時間窗口插入到原始風(fēng)電功率數(shù)據(jù)集中,以解決第2個問題.
將風(fēng)力發(fā)電功率時間序列衍生出的金融因子進(jìn)行優(yōu)化后并結(jié)合時間窗口插入到原有時間序列中,開展進(jìn)一步數(shù)據(jù)分析.分析表明金融因子、時間窗口降低了對復(fù)雜神經(jīng)網(wǎng)絡(luò)以及氣象數(shù)據(jù)的依賴性,因此對基于XGBoost擴(kuò)展金融因子與時間窗口的超短期風(fēng)電功率預(yù)測方法展開深入的研究.
所提模型首先將二維時間序列數(shù)據(jù)轉(zhuǎn)換為一維時間向量以構(gòu)建時間窗口,根據(jù)一維時間向量繪制特有的風(fēng)電功率K線,通過K線數(shù)據(jù),計算出基于功率時序數(shù)據(jù)的隨機(jī)指標(biāo)(KDJ for power,KDJFP)與基于功率時序數(shù)據(jù)的移動異同平均數(shù)(MACD for power, MACDFP)的值并插入到原有數(shù)據(jù)集中,最后將改進(jìn)后的數(shù)據(jù)集傳入XGBoost中進(jìn)行模型構(gòu)建,并對風(fēng)力發(fā)電功率進(jìn)行預(yù)測,模型圖如圖1所示.

圖1 基于XGBoost擴(kuò)展金融因子的風(fēng)電功率預(yù)測方法模型Fig.1 Model diagram of wind power prediction method based on XGBoost extended financial factor
XGBoost算法根據(jù)每個特征值劃分子葉并計算殘差,當(dāng)回歸樹達(dá)到最大深度或殘差為0時停止樹模型的構(gòu)建.當(dāng)預(yù)測時,最終根據(jù)每棵子樹的判斷加和得到結(jié)果.該方法中存在一個缺陷,即預(yù)測范圍內(nèi)的每個預(yù)測步驟都是獨立預(yù)測的,模型無法從潛在關(guān)系中受益.因此,本研究構(gòu)造了函數(shù)fdim,使得二維時間序列數(shù)據(jù)轉(zhuǎn)換為一維時間向量,將潛在關(guān)系轉(zhuǎn)化為時間窗口輸入到模型中,以便模型捕捉到時間序列數(shù)據(jù)中變量的自相關(guān)效應(yīng).
對于時間序列數(shù)據(jù)集A,取x時刻時序數(shù)據(jù)值tx、x-1時刻時序數(shù)據(jù)值tx-1、x時刻與x-1時刻數(shù)據(jù)差值 ? (tx-1-tx)構(gòu)成時間窗口.將時間窗口與x時刻的其余協(xié)變量ax、bx、cx組成新的時間序列數(shù)據(jù)集B,如式1所示.
式中:x+1為時刻數(shù)據(jù)值,tx+1為需要預(yù)測的數(shù)據(jù)值.
金融市場中K線圖的畫法包含4個數(shù)據(jù),即開盤價、最高價、最低價、收盤價,所有的K線都是圍繞這4個數(shù)據(jù)展開.如圖2所示,當(dāng)收盤價高于開盤價時,則開盤價在下收盤價在上,使用空心長方柱表示;當(dāng)收盤價低于開盤價時,則開盤價在上收盤價在下,使用實心長方柱表示.參照金融市場中的K線,根據(jù)風(fēng)力發(fā)電功率數(shù)據(jù)(每15 min采樣一次),繪制風(fēng)電K線圖,繪制方法共分2個步驟.
第1步,按照每15 min采樣一次數(shù)據(jù)的頻率,將5個相鄰采樣點整合為一條數(shù)據(jù); 第2步,將5個采樣點中最大值視為金融市場中的最高價,將5個采樣點中最小值視為金融市場中的最低價,將第一個采樣點的功率輸出值視為金融市場中的開盤價,將最后一個采樣點的功率輸出值視為金融市場中的收盤價.繪圖結(jié)果如圖2所示(圖中P為功率,單位為MW;t為采集時間,單位為h),同時風(fēng)力發(fā)電功率K線圖為24 h 制,即每天繪制24個長方柱(圖2中以5 h為例).通過風(fēng)力發(fā)電功率K線圖,可以得到有關(guān)風(fēng)力發(fā)電功率時間序列數(shù)據(jù)中的金融因子,以改進(jìn)風(fēng)力發(fā)電功率預(yù)測工作,進(jìn)一步提高預(yù)測準(zhǔn)確率.

圖2 風(fēng)力發(fā)電功率K線圖Fig.2 K-line diagram of wind power generation power
隨機(jī)指標(biāo)最早起源于期貨市場,由于該指標(biāo)由3種子指標(biāo)構(gòu)成,在金融市場中又被稱為KDJ指標(biāo).KDJ指標(biāo)最早是以KD指標(biāo)的形式出現(xiàn),而KD指標(biāo)是在威廉指標(biāo)的基礎(chǔ)上發(fā)展起來的[17].本研究提出用于風(fēng)力發(fā)電功率的KDJ方法,融合移動平均線的觀念,形成比較準(zhǔn)確的功率增降依據(jù).KDJFP指標(biāo)在設(shè)計過程中主要是研究功率輸出最高值、最低值和采樣結(jié)束值之間的關(guān)系,同時融合動量觀念、強(qiáng)弱指標(biāo)和移動平均線的一些優(yōu)點.因此,可以比較迅速、直觀的判斷風(fēng)力發(fā)電功率變化趨勢.基于超短期的風(fēng)力發(fā)電功率預(yù)測, 周期選擇為3 h,相關(guān)算法1如下所示.
算法1基于風(fēng)電時序數(shù)據(jù)的金融因子KDJFP算法輸入:風(fēng)力發(fā)電采樣數(shù)據(jù),其中將3 h結(jié)束時的功率值記為C3, 在3 h內(nèi)最高功率值記為H3,在3 h內(nèi)最低功率值記 為L3.
步驟:
1) RSV為未成熟隨機(jī)值,第xh的RSV值為 R SVx.k為KDJ指標(biāo)中的快速確認(rèn)指標(biāo),第xh的k值為kx.d為KDJ指標(biāo)中的慢速確認(rèn)指標(biāo),第xh的d值為dx.j為KDJ指標(biāo)中的趨勢方向指標(biāo),第xh的j值為jx;
3)設(shè)kx-3為前3 h的k值,若不存在,使用50代替.使用步驟2所求的RSV,根據(jù),計算出k值,k值的變化區(qū)間為0~100;
4)設(shè)dx-3為前3 h的d值,若不存在,使用50代替.使用步驟3所求的k,根據(jù)計算出d值,d值的變化區(qū)間為0~100;
5)使用步驟3所求k、步驟4所求d,根據(jù)jx=3kx-2dx,計算出j值;
end;輸出:風(fēng)電時序數(shù)據(jù)衍生出的金融因子KDJFP中的k值、d值、j值.
通過上述算法,在風(fēng)力發(fā)電功率時間序列數(shù)據(jù)中,可以進(jìn)一步提煉到更有價值的數(shù)據(jù),以減少對自然氣象數(shù)據(jù)的依賴.在實驗部分,將展示KDJFP對預(yù)測準(zhǔn)確度帶來的積極影響.
MACD(moving average convergence /divergence)是Geral Appel于1979年提出的,利用金融市場的短期指數(shù)移動平均線與長期指數(shù)移動平均線之間的聚合與分離狀況,對金融趨勢做出判斷的技術(shù)指標(biāo)[18].本研究提出用于風(fēng)力發(fā)電功率的MACD方法,由快、慢均線的離散、聚合來表征當(dāng)前的風(fēng)力發(fā)電功率可能的發(fā)展變化趨勢.MACDFP指標(biāo)在設(shè)計過程中主要研究快速移動平均線與慢速移動平均線之間的關(guān)系,計算快速移動平均線與慢速移動平均線之間的離差值.通過對MACDFP和KDJFP的組合判斷,可以進(jìn)一步提升功率預(yù)測準(zhǔn)確率.基于超短期的風(fēng)力發(fā)電功率預(yù)測,快速移動平均線周期選擇為3 h,慢速移動平均線周期選擇 為5 h,相關(guān)算法2如下所示.
算法2基于風(fēng)電時序數(shù)據(jù)的金融因子MACDFP算法輸入:風(fēng)力發(fā)電采樣數(shù)據(jù),其中將xh結(jié)束時的功率值記為Cx;
步驟:
3)設(shè) D IFx為 第xh的差離值,使用步驟1中所求的 EMAfast與步驟2)中所求的 E MAslow,根 據(jù)DIFx=計 算 出D IFx值;
4)設(shè)DEAx為第xh的平滑移動平均值,使用步驟1中所求的 EMAfast與 步 驟2)中所求的EMAslow、根據(jù)計算出DEAx值;
end;輸出: 風(fēng)電時序數(shù)據(jù)衍生出的金融因子MACDFP中的DIF值、DEA值、MACD值.
通過本節(jié)與1.3節(jié)所提供的3種金融因子,可以得到一個更加豐富的數(shù)據(jù)集.在實驗部分,將展示來自真實風(fēng)電場的功率預(yù)測效果,以及功率變化趨勢預(yù)測情況.
XGBoost是由多棵CART(classification and regression tree)組成,通過Gradient Tree Boosting實現(xiàn)多棵CART樹的集成學(xué)習(xí).在訓(xùn)練階段中,每一棵決策樹學(xué)習(xí)的是目標(biāo)值與之前所有樹預(yù)測值之和的殘差.決策樹構(gòu)建過程會根據(jù)最優(yōu)特征選擇最優(yōu)切分點,類似于平衡二叉樹, 最終多棵決策樹共同決策,將所有樹的結(jié)果累加起來作為最終預(yù)測結(jié)果.
如圖3所示,將數(shù)據(jù)傳入模型中,模型根據(jù)訓(xùn)練集得到所需的若干棵CART樹;將測試集的數(shù)據(jù)輸入到所得的模型中,根據(jù)所有CART樹的數(shù)據(jù)累加結(jié)果確定最終預(yù)測結(jié)果,其中t0為時間序列.假設(shè)輸入數(shù)據(jù)(k=25,d=45,j=18,DIF=35, ···),那么預(yù)測結(jié)果為1.582+0.566=2.148 MW.

圖3 XGBoost算法針對風(fēng)電功率預(yù)測圖Fig.3 XGBoost for wind power prediction diagram
綜上所述并結(jié)合參考文獻(xiàn)XGBoost模型定義[19-21]:
式中:目標(biāo)函數(shù)Obj由2項組成,第1項為損失函數(shù),用于評估模型預(yù)測值與真實值之間的誤差.其中,l為模型損失函數(shù),n為數(shù)據(jù)總數(shù),i為數(shù)據(jù)序數(shù),yi為第i條數(shù)據(jù)真實值,y?i為 第i條數(shù)據(jù)預(yù)測值;第2項為正則化項,用來控制模型復(fù)雜度,避免過擬合.其中,r為樹的總數(shù),j為樹的序數(shù),fj為第j棵樹,Ω為模型的正則化函數(shù).在一般情況下,將損失函數(shù)的泰勒級數(shù)計算至二階,并移除常數(shù)項,則有m棵CART樹時,目標(biāo)函數(shù)為
式中:gi與hi分別為一階與二階導(dǎo)數(shù).
目標(biāo)函數(shù)中的正則項定義為
式中:wj為樹f中第j個子葉節(jié)點的分?jǐn)?shù);T為樹f中葉子節(jié)點的總數(shù)目;γ 與λ為XGBoost的自定義參數(shù),γ為L1正則的懲罰項,λ為L2正則的懲罰項.
第1項 γT通過葉子節(jié)點數(shù)及系數(shù)控制樹的復(fù)雜度,從而抑制模型的復(fù)雜程度;第2項用于控制葉子節(jié)點的權(quán)重分?jǐn)?shù),以避免過擬合.此時目標(biāo)函數(shù)為
式中:fm(xi)為 樹模型,wj為葉子節(jié)點的權(quán)重,將二者統(tǒng)一,目標(biāo)函數(shù)改寫為
式中:Ij為葉子節(jié)點j的樣本集,即落在葉子節(jié)點上的所有樣本.fm(xi)將樣本劃分到葉子節(jié)點,計算得到該葉子節(jié)點的分?jǐn)?shù)w,因此當(dāng)i∈Ij時,可用wj替代fm(xi).
將式(6)視為一個自變量為wj,因變量為Obj的一元二次函數(shù),根據(jù)最值公式,對于固定樹結(jié)構(gòu),葉子節(jié)點j的最優(yōu)為
因此,最優(yōu)目標(biāo)函數(shù)為
式中:Gj為葉子節(jié)點j樣本集的一階梯度統(tǒng)計,Gj=為葉子節(jié)點j樣本集的二階梯度統(tǒng)計,
使用XGBoost框架與Sklearn結(jié)合,通過numpy庫、matplotlib庫與pandas庫實現(xiàn)風(fēng)力發(fā)電功率K線繪制與KDJFP、MACDFP計算.預(yù)測結(jié)果準(zhǔn)確性使用了平均絕對誤差MAE、均方誤差MSE、均方根誤差RMSE、R2score等多種評判指標(biāo).在中國內(nèi)蒙古某風(fēng)電場的數(shù)據(jù)集中,采取消融實驗以體現(xiàn)金融因子帶來的積極影響,并在相同數(shù)據(jù)集的對比下,深度學(xué)習(xí)的預(yù)測結(jié)果表明XGBoost框架具有更高的準(zhǔn)確率和更快的預(yù)測速度.在德國電力公司Tennet 2015—2020年風(fēng)電功率數(shù)據(jù)集中,證實本研究所提模型具有較高的準(zhǔn)確率和可移植性.
本研究通過中國內(nèi)蒙古某風(fēng)電場的數(shù)據(jù)進(jìn)行訓(xùn)練和測試.其中原始數(shù)據(jù)包含2個部分:數(shù)值天氣預(yù)報數(shù)據(jù)(numerical weather prediction,NWP)數(shù)據(jù)和風(fēng)電場的功率數(shù)據(jù).NWP數(shù)據(jù)由風(fēng)電場于2019-1-1—2019-5-22以15 min的頻率收集,并根據(jù)歷史天氣預(yù)報進(jìn)行校正,NWP數(shù)據(jù)中有13493個條目.每個條目包括9個字段,日期和時間占據(jù)2個字段,氣象特征(例如風(fēng)速、風(fēng)向、空氣密度和大氣壓力)占據(jù)其他7個字段[22].
初步觀測表明,數(shù)值天氣預(yù)報數(shù)據(jù)質(zhì)量較高,沒有任何缺失值或異常值,這是因為這些數(shù)據(jù)收集于多個來源,并且經(jīng)過了交叉檢查.在功率數(shù)據(jù)中最重要的一列提供了實際的輸出功率.在功率數(shù)據(jù)中,有68個時間點發(fā)現(xiàn)了空元素,562個時間點發(fā)現(xiàn)零元素,343個時間點發(fā)現(xiàn)異常元素(此處的異常是指氣象條件正常,但輸出功率遠(yuǎn)低于正常輸出功率).這可能是SCADA故障或傳輸故障造成的[22],因此在數(shù)據(jù)處理時,對缺失值與異常值采取刪除措施.通過上述分析,將天氣預(yù)報數(shù)據(jù)與功率數(shù)據(jù)進(jìn)行拼接.在拼接后,時間和日期字段被轉(zhuǎn)換為索引,不用于機(jī)器學(xué)習(xí), 其他特征進(jìn)行主成分分析.對輸出功率影響不大的特征(例如海拔高度)進(jìn)行刪除,在12520個有效并且連續(xù)的條目中留下6個特征(風(fēng)速、風(fēng)向、溫度、濕度、大氣壓力和空氣密度).最后,獲得了12520個有效條目,并轉(zhuǎn)化為初始數(shù)據(jù)集.
3.1.1 評價標(biāo)準(zhǔn) 1)均方誤差(mean square error,MSE)是模型在測試集中預(yù)測的值與真實值之間的平方誤差平均值.對于同一數(shù)據(jù)集,MSE與預(yù)測效果呈負(fù)相關(guān),計算公式為
式中:n為樣本 數(shù) 量,yv與y?v為樣 本 的真實值與 預(yù)測值,v為樣本序號.均方根誤差(root mean square error,RMSE)是MSE的平方根,這2個指標(biāo)含義相近.因為可以降低誤差維數(shù),RMSE更適合于計算與比較.MSE與RMSE均隨樣本數(shù)增加而增大,因此如果數(shù)據(jù)集不同,就不存在比較的意義.
2)平均絕對誤差(mean absolute error,MAE)是測試集中預(yù)測值與真實值之間的平均絕對誤差.MAE與預(yù)測效果呈負(fù)相關(guān),該指標(biāo)能準(zhǔn)確反映實際預(yù)測誤差,計算公式為
3)R2score MSE與RMSE在同一數(shù)據(jù)集下表現(xiàn)優(yōu)異,使用多元化的指標(biāo)從不同角度評價該模型的預(yù)測結(jié)果,因此引入了R2score衡量指標(biāo)(R2):
式中:為平均值.如果R2score<0,則預(yù)測誤差大于平均值的誤差,代表當(dāng)前模型毫無意義;如果R2=0,則預(yù)測值等于平均值,代表模型仍毫無意義;如果R2=1,則預(yù)測值等于真實值,代碼模型可以進(jìn)行無誤差預(yù)測.因此,R2越接近1,預(yù)測模型越好.
4)準(zhǔn)確率(accuracy rate,AR) 本研究擬定一個新指標(biāo)以量化預(yù)測準(zhǔn)確率:
3.1.2 實驗設(shè)計 為了使XGBoost捕捉到數(shù)據(jù)中的潛在關(guān)系與自相關(guān)效應(yīng),模型將數(shù)據(jù)集中每個時間采集點的輸出功率轉(zhuǎn)化為窗口形式,取當(dāng)前時間點前15 min的功率數(shù)據(jù),當(dāng)前時間點的功率數(shù)據(jù)構(gòu)建時間窗口,并計算2個時間采集點之間的差值作為變化量.將這3類數(shù)據(jù)作為特征插入到原始數(shù)據(jù)集中,數(shù)據(jù)集特征數(shù)量增加至9個(15 min前功率值、當(dāng)前功率值、變化量、風(fēng)速、風(fēng)向、溫度、濕度、大氣壓力和空氣密度),數(shù)量為12519個有效條目.
為了進(jìn)一步觀察數(shù)據(jù)趨勢,根據(jù)1.2節(jié)中的方法,最終獲得了12515條K線.根據(jù)1.3、1.4節(jié)所提到方法,模型計算出KDJFP與MACDFP,并插入到數(shù)據(jù)集中.由于數(shù)據(jù)中的缺失值會使用定值代替,為了避免該代替方式給預(yù)測效果帶來影響,在計算出KDJFP與MACDFP后,模型刪除了前15條數(shù)據(jù).數(shù)據(jù)集構(gòu)建共有12500條數(shù)據(jù),每條數(shù)據(jù)具有15個特征,分別是算法1中計算出的k、d、j,算法2中計算出的DIF、DEA、MACD值、15 min前功率、當(dāng)前功率、變化量、風(fēng)速、風(fēng)向、濕度、溫度、氣壓、空氣密度.預(yù)測目標(biāo)為當(dāng)前時間點后15 min的輸出功率,單位為MW.
將新數(shù)據(jù)集傳入到XGBoost框架中,根據(jù)數(shù)據(jù)輸入特征的不同,將實驗分為7組進(jìn)行.每組經(jīng)過300輪次的訓(xùn)練后,對測試集中的數(shù)據(jù)進(jìn)行測試,然后使用所提的5種評價指標(biāo)和模型運行時間來判斷模型優(yōu)劣,最終取每組實驗運行10次的平均值為最終結(jié)果.
3.1.3 實驗結(jié)果 為了驗證時間窗口和金融因子帶來的積極影響進(jìn)行多組實驗,同時在相同數(shù)據(jù)集下對比本研究所提預(yù)測模型與深度學(xué)習(xí)預(yù)測模型的預(yù)測結(jié)果.在所有實驗中,訓(xùn)練集占數(shù)據(jù)集80%,測試集占數(shù)據(jù)集20%.其中,氣象條件指風(fēng)速、風(fēng)向、濕度、溫度、氣壓、空氣密度;時間窗口指15 min前功率、當(dāng)前功率、變化量;金融因子指k、d、j、DIF、DEA、MACD.
第1組實驗的輸入數(shù)據(jù)特征為氣象條件,共6個特征;第2組實驗輸入的數(shù)據(jù)特征為時間窗口,共3個特征;第3組實驗輸入的數(shù)據(jù)特征為金融因子,共6個特征; 第4組實驗輸入的數(shù)據(jù)特征為氣象條件、時間窗口,共9個特征;第5組實驗輸入的數(shù)據(jù)特征為氣象條件、金融因子,共12個特征;第6組實驗輸入的數(shù)據(jù)特征為氣象條件、時間窗口、金融因子,共15個特征;第7組實驗輸入的數(shù)據(jù)特征為時間窗口、金融因子,共9個特征;第8組實驗是本數(shù)據(jù)集在TSW-LSTM模型上進(jìn)行的預(yù)測實驗,它是由時間滑動窗口和長短期記憶網(wǎng)絡(luò)所構(gòu)成的深度學(xué)習(xí)模型[22].該模型是多個來源的風(fēng)電數(shù)據(jù)進(jìn)行融合,通過降維和標(biāo)準(zhǔn)化等操作進(jìn)行清理,提取實際輸出功率的循環(huán)特征,并通過時間滑動窗口算法(TSW)構(gòu)建輸入數(shù)據(jù)集.模型中所提的時間滑動窗口算法與本研究所提的時間窗口算法近似.在此基礎(chǔ)上,建立TSW-LSTM預(yù)測模型,對風(fēng)電場的超短期輸出功率進(jìn)行預(yù)測.
接下來將通過表1、2和圖4來展示預(yù)測結(jié)果.表1中t1為訓(xùn)練時間,表2中特征重要性評分是該特征在所有梯度提升回歸樹中被作為分裂節(jié)點的次數(shù);表中加粗的分?jǐn)?shù)所對應(yīng)的特征為當(dāng)前組中最優(yōu)特征,加下劃線的分?jǐn)?shù)所對應(yīng)的特征為當(dāng)前組中次優(yōu)特征.在表2中,風(fēng)速為V,風(fēng)向為WDIR,濕度為HUM, 溫度為T,氣壓為pa,密度為ρ,15min前功率為Po,當(dāng)前功率為Pn,功率變化量為Pc.
在表1中,以組別1為基準(zhǔn)實驗,對比組別2與3,時間窗口與金融因子的加入使得MSE分別降低了55.88%與71.29%,同時準(zhǔn)確率分別提升了5.61%與6.74%.在圖4(圖中P為功率,單位為MW;t為采集時間,單位為h)的(a)、(b)、(c)中可以看到,組別1的預(yù)測曲線與實際曲線吻合情況較差,組別2和3的預(yù)測曲線與實際曲線吻合情況明顯提升.金融因子與時間窗口的加入,明顯提升了風(fēng)力發(fā)電功率預(yù)測的準(zhǔn)確率.
在表1中,對比組別4和5可以發(fā)現(xiàn),時間窗口和氣象數(shù)據(jù)的混合模型預(yù)測準(zhǔn)確率略高于金融因子和氣象數(shù)據(jù)的混合模型,在圖4 (d)、(e)中可以看到,2種模型的預(yù)測曲線與實際曲線吻合情況較好.組別6為金融因子、時間窗口、氣象數(shù)據(jù)的混合模型,所有評價指標(biāo)在7組組別中都是最高的,在圖4的(f)中可以看到該模型預(yù)測曲線和實際曲線吻合良好,反映出組別6所構(gòu)建的模型具有較高的預(yù)測精度.因此,認(rèn)定組別6的模型是最佳模型.結(jié)合表1與圖4的(f)、(g),對比組別6、7可以發(fā)現(xiàn),氣象數(shù)據(jù)對于預(yù)測模型已經(jīng)沒有顯著影響,可以將氣象數(shù)據(jù)視為不必要的輔助信息刪去以減少系統(tǒng)開銷和模型訓(xùn)練時間.結(jié)合各評價指標(biāo)判斷,組別7的模型為高性價比模型.

圖4 基于XGBoost拓展金融因子的風(fēng)電功率預(yù)測方法在中國內(nèi)蒙古某風(fēng)電場數(shù)據(jù)集上的預(yù)測效果Fig.4 Prediction effect of wind power prediction method based on XGBoost extended financial factor on wind farm data set in Inner Mongolia,China

表1 基于XGBoost拓展金融因子的風(fēng)電功率預(yù)測方法在中國內(nèi)蒙古某風(fēng)電場數(shù)據(jù)集上的實驗結(jié)果Tab.1 Experimental results of wind power prediction method based on XGBoost extended financial factor on wind farm data set in Inner Mongolia, China
以組別1為基準(zhǔn)實驗,本研究所提最優(yōu)模型提升約8.69%的準(zhǔn)確率,MAE降低約61%,MSE降低約74.9%,RMSE降低約49.9%,R2提升約14.7%.對比組別8,本研究所提最優(yōu)模型MAE降低約32.9%,MSE降低約55.9%,RMSE降低約33.2%,R2提升約3.1%,所以復(fù)雜的深度學(xué)習(xí)模型在相同數(shù)據(jù)集上的預(yù)測結(jié)果未能超過本研究所提的新模型.由此可見,基于XGBoost算法拓展金融因子的預(yù)測模型擁有著極高的訓(xùn)練精度,極短的訓(xùn)練時間,是一個可以媲美甚至超過深度學(xué)習(xí)的機(jī)器學(xué)習(xí)模型.
3.1.4 金融因子帶來的積極影響 通過表2中組別4與5的特征重要性評分可知本研究所提的新模型中,時間窗口和金融因子的重要性遠(yuǎn)高于氣象數(shù)據(jù).組別5中氣象數(shù)據(jù)重要性評分不及金融因子重要性評分的一半.組別6中總覽所有特征,金融因子k位列第一名,其余金融因子的重要性均位居前列.接下來將展示另一個維度的評價標(biāo)準(zhǔn),以進(jìn)一步揭示金融因子帶來的積極影響.

表2 中國內(nèi)蒙古某風(fēng)電場數(shù)據(jù)集中特征的重要性評分Tab.2 Importance scoring of features in data set of wind farm in Inner Mongolia, China
如圖5所示,圖中繪制K線的頻次為每h一次,每天將繪制24個長方柱.當(dāng)風(fēng)電功率未出現(xiàn)明顯下降趨勢時,圖5(b)中的金融因子j在第2條虛線處和第4條虛線處已經(jīng)有明顯下降趨勢;圖5(c)中的MACD_BAR值明顯從正值變負(fù)值(空心柱體轉(zhuǎn)換為實心柱體),DIF與DEA已經(jīng)呈現(xiàn)“死叉”現(xiàn)象(“死叉”為金融指標(biāo)DIF下穿DEA的現(xiàn)象,一般出現(xiàn)此現(xiàn)象時,代表金融市場即將出現(xiàn)下降趨勢).由此可以判斷,風(fēng)電功率即將進(jìn)入下降趨勢.后續(xù)數(shù)據(jù)顯示,風(fēng)力發(fā)電輸出功率降幅達(dá)25%是在第2條虛線與第4條虛線之后,因此金融因子對于風(fēng)力發(fā)電功率預(yù)測有明顯作用.當(dāng)圖5(b)中的金融因子j風(fēng)電功率未出現(xiàn)明顯上升時,在第1條虛線處和第3條虛線處出現(xiàn)急升趨勢;在圖5(c)中,MACD_BAR值明顯由負(fù)值變正值(實心柱體轉(zhuǎn)換為空心柱體),DIF與DEA已經(jīng)呈現(xiàn)“金叉”現(xiàn)象(“金叉”為金融指標(biāo)DIF上穿DEA的現(xiàn)象,一般出現(xiàn)此現(xiàn)象時,代表金融市場即將出現(xiàn)上升趨勢).由此可以判斷,風(fēng)電功率即將出現(xiàn)上升趨勢.后續(xù)數(shù)據(jù)顯示,在第1條虛線后,風(fēng)力發(fā)電輸出功率增幅達(dá)25%;在第3條虛線后,風(fēng)力發(fā)電輸出功率增幅超過100%.綜上所述,金融因子對于風(fēng)力發(fā)電功率的預(yù)測起到至關(guān)重要的作用.

圖5 風(fēng)力發(fā)電功率綜合K線圖Fig.5 Wind power integrated K-line diagram
Tennet是歐洲領(lǐng)先的電力傳輸系統(tǒng)運營商(TSO),主要業(yè)務(wù)在荷蘭和德國.通過ENTSO-E獲取德國境內(nèi)Tennet公司2015—2020年短期風(fēng)力發(fā)電功率數(shù)據(jù),其中包括陸地風(fēng)力發(fā)電功率數(shù)據(jù)集以及海洋風(fēng)力發(fā)電功率數(shù)據(jù)集.本實驗在2個數(shù)據(jù)集上進(jìn)行模型的構(gòu)建與未來功率預(yù)測.
3.2.1 數(shù)據(jù)處理方案 由于陸地風(fēng)力發(fā)電功率數(shù)據(jù)集和海洋風(fēng)力發(fā)電功率數(shù)據(jù)集大小和維度一致,因此以下處理方案在2個數(shù)據(jù)集中均適用.ENTSO-E披露自2015-1-100:00—2020-9-3023:45的風(fēng)力發(fā)電情況,原始數(shù)據(jù)中共包含201600條數(shù)據(jù),不包括氣象數(shù)據(jù)及其它因素,僅含有每15 min的功率值.功率數(shù)據(jù)是該公司在德國所有風(fēng)電設(shè)備輸出功率總和,因此不存在空值及異常值問題,無需進(jìn)行特殊處理.
按照1.1、1.2、1.3、1.4所提的處理方法,模型重新構(gòu)建數(shù)據(jù)集,最終該數(shù)據(jù)集包含200000條數(shù)據(jù),每條數(shù)據(jù)含有9個特征:k、d、j、DIF、DEA、MACD、前15 min數(shù)據(jù)、當(dāng)前數(shù)據(jù)、變化量.預(yù)測目標(biāo)為當(dāng)前時間點后15 min的輸出功率,單位為102MW.
3.2.2 實驗設(shè)計 由于數(shù)據(jù)集包含20余萬條數(shù)據(jù),模型部分參數(shù)進(jìn)行小幅調(diào)整,將訓(xùn)練輪次降低為150輪.評價指標(biāo)同3.1.1中所設(shè)計的評價指標(biāo),其余實驗設(shè)置及方法同3.1.2中所提到的方法.最終取每組實驗運行10次的平均值為最終結(jié)果.
3.2.3 實驗結(jié)果 為了驗證所提模型具有較好的可移植性進(jìn)行2組實驗,分別是陸地風(fēng)力發(fā)電功率預(yù)測實驗和海洋風(fēng)力發(fā)電功率預(yù)測實驗.訓(xùn)練集占數(shù)據(jù)集中的80%,測試集占數(shù)據(jù)集中的20%.第1組實驗的輸入數(shù)據(jù)為陸地風(fēng)力發(fā)電數(shù)據(jù),包含全部特征; 第2組實驗的輸入數(shù)據(jù)為海洋風(fēng)力發(fā)電數(shù)據(jù),包含全部特征.
通過表3和圖6(縱軸功率p的單位為102MW),時間窗口與金融因子對預(yù)測所帶來的積極影響進(jìn)一步被證實.數(shù)據(jù)集是Tennet公司在德國全境的風(fēng)力發(fā)電數(shù)據(jù),所以不存在缺失值與異常值,受風(fēng)機(jī)故障或局部地區(qū)環(huán)境影響的可能性大幅降低,本研究在大型數(shù)據(jù)集上擁有更高的預(yù)測準(zhǔn)確率.

表3 基于XGBoost拓展金融因子的風(fēng)電功率預(yù)測方法在德國Tennet公司風(fēng)電數(shù)據(jù)集上的實驗結(jié)果Tab.3 Experimental results of wind power prediction method based on XGBoost extended financial factor on German Tennet wind power data set

圖6 基于XGBoost拓展金融因子的風(fēng)電功率預(yù)測方法在德國Tennet公司風(fēng)電數(shù)據(jù)集上的預(yù)測效果Fig.6 Prediction effect of wind power prediction method based on XGBoost extended financial factor on German Tennet wind power data set
本研究提出一種基于XGBoost擴(kuò)展金融因子的風(fēng)力發(fā)電功率預(yù)測方法,分別使用中國內(nèi)蒙古某風(fēng)電場數(shù)據(jù)集和德國電力公司Tennet風(fēng)力發(fā)電功率數(shù)據(jù)集進(jìn)行模型訓(xùn)練和數(shù)據(jù)預(yù)測.主要結(jié)論如下.
1) 本研究所提的數(shù)據(jù)處理方式可以增加數(shù)據(jù)維度,在風(fēng)力發(fā)電功率預(yù)測中可以降低對氣象數(shù)據(jù)和高精度模型的依賴.
2) 在時間序列數(shù)據(jù)中加入時間窗口和金融因子能夠大幅提升未來數(shù)據(jù)預(yù)測準(zhǔn)確率.
3) 基于XGBoost擴(kuò)展金融因子的風(fēng)電功率預(yù)測方法的準(zhǔn)確率可以媲美甚至超過深度學(xué)習(xí)模型,同時得益于它較快訓(xùn)練速度,可以將模型部署至生產(chǎn)環(huán)境中使用.
4) 數(shù)據(jù)集中的缺失值和異常值會對金融因子的計算產(chǎn)生一定誤差,從而無法得到理想的預(yù)測結(jié)果.一個地域或一個集群所產(chǎn)生的數(shù)據(jù)中,缺失值和異常值所帶來的影響會大大降低.在大規(guī)模的數(shù)據(jù)集中本研究所提出的預(yù)測模型擁有更高的預(yù)測準(zhǔn)確率.
本研究對于缺失數(shù)據(jù)的處理仍有不足,計劃在下一步研究計劃中,對缺失值、異常值進(jìn)行誤差修正研究,進(jìn)一步提升預(yù)測效果,使模型趨于完善,推動其更好地應(yīng)用于風(fēng)電場.