袁 暢,王 森,孫永輝,武云逸,謝東亮
(1.河海大學能源與電氣學院,江蘇省南京市 210098;
2.南瑞集團有限公司(國網(wǎng)電力科學研究院有限公司),江蘇省南京市 211106)
隨著環(huán)境問題日益凸顯和能源需求不斷增長,發(fā)展以風電為代表的新能源已成為全球趨勢。截至2022 年底,全球風電累計裝機容量為906 GW[1-3],同比增長9%。但風電出力具有隨機性和波動性,大量并入電網(wǎng)會導(dǎo)致發(fā)用電平衡難度加大[4-8]。因此,需要提高風電功率預(yù)測精度,建立可靠性高的風電功率預(yù)測模型[9]。
目前,風電預(yù)測精度的提高主要依靠特征工程和預(yù)測誤差分析[10-11]。特征工程是指從原始數(shù)據(jù)中提取并構(gòu)建有助于模型預(yù)測的特征的過程。文獻[12]利用K-均值算法將不同風電場的集群劃分為趨勢相近的子集群,可有效提升預(yù)測精度。文獻[13]利用模糊C均值聚類方法對功率輸出特性類似的風機進行分類,降低預(yù)測的復(fù)雜度。但當數(shù)據(jù)量較小時,聚類算法難以確定合適的聚類中心和邊界。也有學者提出基于數(shù)據(jù)降維、小波分解和粗糙集等數(shù)據(jù)分析算法進行特征處理[14-18],但當特征稀疏時,會過度優(yōu)化訓(xùn)練數(shù)據(jù),導(dǎo)致模型過擬合。近年來,風電及相關(guān)領(lǐng)域?qū)I(yè)知識的特征工程方法引起了廣泛關(guān)注。文獻[19]通過整合風電場的歷史功率、數(shù)值天氣預(yù)報和風電機組運行狀態(tài)等數(shù)據(jù)構(gòu)建風電功率預(yù)測模型,實現(xiàn)在不同時間尺度上的精準風電功率預(yù)測。文獻[20]將海上風電機組時空特性與波動過程關(guān)聯(lián),構(gòu)建精度更高的功率預(yù)測模型。但這些方法對數(shù)據(jù)依賴嚴重,面對數(shù)據(jù)種類少且特征稀疏的情況時,難以有效開展。
在風電功率預(yù)測誤差分析方面,目前研究集中在預(yù)測結(jié)果的置信區(qū)間和預(yù)測的不確定性量度,進而提高預(yù)測模型的魯棒性。文獻[7]根據(jù)風電功率預(yù)測誤差概率密度特性對誤差進行分層來減小預(yù)測誤差。文獻[21]通過設(shè)計相應(yīng)風電功率修正方法和預(yù)測誤差分布的估計方法來提高預(yù)測精度。但以上誤差分析算法都基于對誤差分布的假設(shè)和先驗,而對于未知的風電數(shù)據(jù),誤差分布的真實情況往往難以確定。文獻[22]將誤差以風速大小分類,并針對每類誤差分別訓(xùn)練誤差預(yù)測模型。但誤差分布與風速未有顯著的關(guān)聯(lián)性,預(yù)測的誤差精度較低。因此,需要開發(fā)一種誤差修正策略,不依賴于誤差的分布,直接從風電預(yù)測數(shù)據(jù)中挖掘誤差的潛在規(guī)律,提高誤差修正的魯棒性和適應(yīng)性。
按時間尺度,風電功率預(yù)測可分為超短期預(yù)測、短期預(yù)測和中長期預(yù)測。超短期預(yù)測的時間尺度為4 h,主要用于解決實時調(diào)度問題;短期預(yù)測的時間尺度為72 h,主要用于安排常規(guī)機組發(fā)電計劃;中長期風電功率預(yù)測時間尺度為數(shù)星期或數(shù)月,主要用于新風電項目的可行性研究。超短期預(yù)測是這3 種時間尺度中非常關(guān)鍵且應(yīng)用頻繁的,實現(xiàn)超短期尺度精確預(yù)測尤為關(guān)鍵。
數(shù)值天氣預(yù)報對于超短期預(yù)測非常重要,但目前一些風電場未配置高精度的數(shù)值天氣預(yù)報系統(tǒng),且缺乏自身歷史氣象情況的詳細數(shù)據(jù)。因此,迫切需要一種不依賴于數(shù)值天氣預(yù)報的風電功率預(yù)測方法。針對上述問題,本文提出基于混合特征雙重衍生和誤差修正的風電功率超短期預(yù)測方法。通過在原始特征中施加混沌噪聲,并基于改進免疫算法(immune algorithm,IA),實現(xiàn)大規(guī)模的特征衍生;設(shè)計誤差修正模塊并挖掘預(yù)測模型潛力,進而有效提升預(yù)測精度。
本文提出一種混合特征雙重衍生方法,旨在改善數(shù)據(jù)不充分和特征稀缺的訓(xùn)練環(huán)境。首先,通過對原始特征中施加混沌噪聲,得到基于混沌噪聲擾動的衍生特征集,使特征表示具有更高復(fù)雜度。然后,以S-expression 形式作為抗體編碼方案,并以IA作為特征尋優(yōu)策略,構(gòu)建基于IA 的特征衍生模型,實現(xiàn)大規(guī)模衍生特征,同時保證衍生特征的質(zhì)量。
設(shè)數(shù)據(jù)集中的特征X=[X1,X2,…,Xl],其中,l為特征的數(shù)量。原始特征中僅有一列時間特征T,即原始特征X=[T],T=[T1,T2,…,Tt,…,Tn],其中,Tt為時間特征在t時刻的數(shù)值,n為數(shù)據(jù)長度。數(shù)據(jù)集中的標簽y=[y1,y2,…,yt,…,yn]。原始預(yù)測標簽為風電功率輸出數(shù)值,即yt為t時刻的風電功率輸出數(shù)值。為方便表述算法過程,定義Xtrain為訓(xùn)練集特征,Xtest為測試集特征,ytrain為訓(xùn)練集標簽,ytest為測試集標簽,Dtrain為訓(xùn)練集,Dtest為測試集。
本文定義的訓(xùn)練集中包含了傳統(tǒng)意義上的訓(xùn)練集和驗證集,有效避免了數(shù)據(jù)泄露,即在訓(xùn)練模型時,會將訓(xùn)練集Dtrain拆分為訓(xùn)練集和驗證集,測試集不參與任何模型訓(xùn)練過程。
由于原始數(shù)據(jù)特征的稀缺,特征表示同質(zhì)化嚴重,導(dǎo)致預(yù)測模型無法完整地捕捉特征與預(yù)測標簽之間的復(fù)雜非線性關(guān)系。本文使用混沌噪聲擾動原有特征,將擾動后的數(shù)據(jù)生成新的特征,使特征的表示更加多樣化和復(fù)雜化,實現(xiàn)特征的衍生。
混沌噪聲是一種非線性、不可預(yù)測的隨機過程,通常具有分形特征和頻譜連續(xù)性。本文采用Lorenz混沌系統(tǒng)生成混沌噪聲,Lorenz 混沌系統(tǒng)的方程為:
式中:σ、ρ、β為超參數(shù);x、y、z為隨時間變化的狀態(tài)變量。
求解上述微分方程,并將狀態(tài)變量x作為生成的混沌噪聲信號。將生成的混沌噪聲信號擾動原始特征數(shù)據(jù)X,生成多組混雜了混沌噪聲的新特征X:
式中:h為衍生特征的數(shù)目。
基于混沌噪聲衍生后的特征集具有更高復(fù)雜度,能夠更好地反映和預(yù)測目標變量,從而有助于模型更準確地捕捉特征和目標變量之間的非線性關(guān)系。另一方面,加入混沌噪聲可以提高模型的泛化能力,使其能夠更好地適應(yīng)其他未知數(shù)據(jù),幫助減少模型的過擬合,使模型更具魯棒性和泛化能力。
傳統(tǒng)的特征衍生方法存在兩種不足:1)缺少先驗知識或經(jīng)驗規(guī)則時,難以有效地計算出大量新特征;2)新特征與預(yù)測目標的相關(guān)性不強,有效性待驗證。
針對上述問題,本文提出一種基于IA 的特征衍生方法,通過隨機化生成大量特征組合方式,增加優(yōu)質(zhì)特征的數(shù)量。通過定義相關(guān)性系數(shù)為目標函數(shù),采用IA 優(yōu)化出最佳的特征組合,保證構(gòu)造的新特征均與預(yù)測標簽高度相關(guān)?;贗A 實現(xiàn)特征衍生的相關(guān)流程概述如下。
步驟1:定義目標函數(shù)G為最大化Spearman 相關(guān)性系數(shù)的絕對值。
式中:X表示組合的第k條訓(xùn)練集特征的第i條數(shù)值表示組合的第k條訓(xùn)練集特征的平均值;為ytrain中的第i條數(shù) 值;yˉtrain為ytrain中所有數(shù)值的平均值。算法優(yōu)化的目標是構(gòu)造與預(yù)測標簽有強相關(guān)性的特征,且相關(guān)性越強越好。
步驟2:隨機生成維數(shù)為M的N個抗體,維數(shù)M與輸入特征的數(shù)量相同,N為超參數(shù),需要人為設(shè)置。
本文利用列表表達式,將帶符號的公式編碼成IA 中的抗體。每條抗體都表示用運算符和現(xiàn)有特征構(gòu)建的一種新特征的計算公式。
首先,將公式轉(zhuǎn)換成列表表達式中的Sexpression 形式[22]。使用S-expression 形式的編碼方式可避免運算符優(yōu)先級和結(jié)合性造成的誤差,也便于交叉、變異等結(jié)構(gòu)化操作。其次,將上述Sexpression 編碼為列表,代表一條抗體。例如,對于隨機生成的公式0.5(0.1x+y)+0.2,首先需要將其轉(zhuǎn) 化 為 S-expression 的 形 式 (+(×0.5(+(×0.1x)y))0.2),然后編碼為抗體{add,mul,0.5,add,mul,0.1,x,y,0.2}。
步驟3:計算激勵度。
IA 以激勵度函數(shù)作為選擇依據(jù),激勵度函數(shù)可視為親和度函數(shù)和濃度函數(shù)的結(jié)合。親和度函數(shù)aff(kp,kq)為:
式中:kp和kq分別表示種群中的第p條和第q條抗體;f(kp)和f(kq)分別為kp和kq的適應(yīng)度。
由于優(yōu)化目標為目標函數(shù)最大化,適應(yīng)度函數(shù)f和式(3)的目標函數(shù)相同,即此時式(3)中的X表示基于第k個抗體代表的公式所組合出的新特征的第i條數(shù)值,表示第k個抗體代表的公式所組合出的新特征平均值。
濃度函數(shù)den(kp)反映了一定區(qū)域內(nèi)包含的抗體數(shù)量,其表達式為:
式中:S(kp,kq)為kp和kq之間的相似度;δ為相似度閾值,用于比較兩個抗體相似度的數(shù)值。當兩個解決方案之間的相似度超過這個閾值時,其中一個會被刪除或減少,以保持整體解決方案集的多樣性。相似度閾值δ[23]一般設(shè)定為0.9。
抗體的激勵度sim(kp)是評估抗體的綜合指標,需給予親和度高且濃度低的抗體更多的激勵度,可表示為:
式中:a和b為權(quán)重參數(shù)。
步驟4:將種群中抗體按激勵度函數(shù)的大小排列,選擇一定數(shù)量的抗體進行克隆。在抗體進行克隆之后,將克隆體進行交叉變異。
步驟5:交叉變異的過程與遺傳算法中的交叉變異機制相似,但此時的抗體由S-expression 組成,無法用常規(guī)編碼(如二進制編碼等)的抗體直接進行加減乘除計算。交叉、變異過程如圖1 所示。
圖1 交叉、變異過程說明圖Fig.1 Diagram of crossover and mutation process
1)隨機挑選兩條抗體。從抗體集合A中隨機抽取兩條抗體,記為kp和kq。以抗體kp={add,mul,0.1,x,0.15} 與kq={add,mul,0.5,add,mul,0.1,x,y,0.2} 為例,分別對應(yīng)0.1x+0.5 與0.5(0.1x+y)+0.2。
2)隨機挑選kp和kq子集,交換子集得到新的抗體Kg。以kp的子集{mul,0.1,x}和kq的子集{0.1}為例,交換這兩個子集,得到新抗體kg={add,mul,0.5,add,0.1,y,0.2},對應(yīng)0.5+0.1y+0.2。
3)隨機選擇kg的一個節(jié)點,將其替換為一個隨機的運算符、特征或數(shù)值,得到新的抗體km。以kg中的add 為例,替換為變量v,則新抗體km={v,mul,0.5,add,0.1,y,0.2},對應(yīng)v(0.5+0.1y)。
步驟6:交叉變異后,從克隆抗體中選出最優(yōu)抗體,放入下一代種群。然后,隨機產(chǎn)生其余抗體,不斷迭代重復(fù),直至達到預(yù)設(shè)的迭代次數(shù),篩選出最佳的q條抗體,作為新的特征。記完成特征衍生后的訓(xùn)練特征為。
步驟7:將Xtest使用上述的q條最佳抗體所代表的公式進行相同的特征變換,記完成特征衍生后的測試特征為。通過IA 計算出的最佳特征變換公式是基于訓(xùn)練集數(shù)據(jù)的。因此,未出現(xiàn)數(shù)據(jù)泄露。
本文基于輕梯度提升機(LightGBM)[24]建立風電功率預(yù)測主模型。LightGBM 是一種經(jīng)典的梯度上升決策樹算法,與傳統(tǒng)梯度提升算法不同,LightGBM 采用leaf-wise 生長策略,每次迭代都選擇當前最大梯度的葉子進行分割。 因此,LightGBM 在相同復(fù)雜度下通常比傳統(tǒng)梯度提升算法更準確。另一方面,LightGBM 使用基于直方圖的方法來找到最佳的分割點。因此,LightGBM 具有非常優(yōu)異的訓(xùn)練速度。
由于單特征的輸入使LightGBM 模型無法充分捕捉目標變量的所有信息,本文通過構(gòu)造時滯特征來模擬時間窗,進一步提升LightGBM 模型預(yù)測性能。對于預(yù)測標簽y=[y1,y2,…,yt,…,yn],設(shè)定滯后周期τ,則可以構(gòu)造時滯特征F=[F1,F2,…,Fτ],且Fτ=[yt-1,yt-2,…,yt-τ+1,yt-τ]。通過合并原始特征,輸入特征更新為X=[T,F],即輸入特征包括原始的時間特征和構(gòu)造的時滯特征。
基于LightGBM 模型,訓(xùn)練主模型Regressor:
現(xiàn)有算法未充分挖掘機器學習模型的潛力,構(gòu)建的預(yù)測模型僅利用了模型的預(yù)測值,而未充分利用預(yù)測誤差。針對上述問題,本文提出基于誤差修正的改進風電功率預(yù)測模型,在訓(xùn)練風電功率預(yù)測主模型的基礎(chǔ)上,增加誤差預(yù)測模型,學習主模型的誤差。本文構(gòu)建的誤差預(yù)測模型不依賴于誤差分布的假設(shè)和先驗知識,可以直接挖掘風電功率預(yù)測主模型的預(yù)測功率與真實功率之間的潛在關(guān)系。本文所述誤差修正策略的算法流程如下。
2.2.1 構(gòu)建誤差預(yù)測模型
首先,基于Regressor 主模型計算訓(xùn)練集的功率預(yù)測值y?train,即
考慮實際工程中,風電功率預(yù)測誤差未知。因此,計算訓(xùn)練集預(yù)測值y?train相比訓(xùn)練集標簽ytrain的誤差etrain,可表示為:
其次,構(gòu)造誤差預(yù)測模型Corrector 預(yù)測主模型Regressor 的誤差,誤差預(yù)測模型Corrector 的訓(xùn)練過程為:
式 中:concat(?)表 示 將Xtrainnew和y?train橫 向 拼 接,作 為訓(xùn) 練 特 征 ;etrain作 為 預(yù) 測 標 簽 。 在中拆分訓(xùn)練集和驗證集,訓(xùn)練出誤差預(yù)測模型Corrector。
2.2.2 風電功率預(yù)測修正
基于誤差預(yù)測模塊Corrector 進行預(yù)測的誤差修正。首先,計算主模型Regressor 對測試集的功率預(yù)測值y?test:
最后,對y?test進行修正,得到修正值y?corr為:
本文所提模型結(jié)構(gòu)如附錄A 圖A1 所示。
算例基于比利時Elia Group 的實際數(shù)據(jù)進行測試,該風電場數(shù)據(jù)集中包含2022 年1 月1 日—12 月31 日的風電發(fā)電功率數(shù)據(jù),分辨率為15 min,本文預(yù)測時間尺度為超前15 min。選取測試集為12 月31 日。為避免偶然性,文中仿真數(shù)據(jù)均為3 次實驗平均值。
為客觀評價不同模型的預(yù)測結(jié)果,本文選取平均絕對百分比誤差(mean absolute percentage error,MAPE)IMAPE、均方根誤差(root mean square error,RMSE)IRMSE和擬合優(yōu)度系數(shù)R2作為評價指標。MAPE 和RMSE 主要用來衡量預(yù)測值與實際值之間的偏差,其值越小,表明模型預(yù)測的準確度越高。R2衡量自變量與因變量的關(guān)系,R2∈[0,1]越接近1,表明模型的回歸曲線擬合度越好。
式中:y為測試集標簽ytest中的第i條數(shù)值;為中 的 第i條 數(shù) 值。
本文設(shè)定滯后周期τ=6 個,按照2.1 節(jié)所述構(gòu)造6 條時滯特征,實現(xiàn)風電功率超前4 h 預(yù)測。LightGBM 模型的迭代次數(shù)設(shè)置為500,其余超參數(shù)均采用默認設(shè)置?;谠继卣骱蚅ightGBM 模型,訓(xùn)練基線模型LightGBM(下文簡稱LGB 模型),性能指標分別為:IMAPE=7.677%,IRMSE=109.383,R2=0.970 6。
3.2.1 混沌模型參數(shù)設(shè)置
由式(2)可知,狀態(tài)變量x對新特征至關(guān)重要。由于Lorenz 方程是一個非線性、耦合且具有混沌特性的系統(tǒng),對參數(shù)進行直接解析推斷,進而確定適用于當前數(shù)據(jù)的超參數(shù)是困難的。因此,本文采用Optuna 算法[25]對Lorenz 系統(tǒng)的參數(shù)進行優(yōu)化,自動計算出適應(yīng)于本數(shù)據(jù)集的Lorenz 方程超參數(shù)。Optuna 是一個優(yōu)秀的自動超參數(shù)優(yōu)化軟件框架,提供了多種優(yōu)化算法,例如,貝葉斯優(yōu)化、隨機搜索和網(wǎng)格搜索等,可實現(xiàn)高效的超參數(shù)空間搜索。
設(shè)置σ的優(yōu)化范圍是[1,15],ρ的優(yōu)化范圍為[1,40],β的優(yōu)化范圍為[1,10]。采用Odeint 求解器求解式(1),再通過式(2)構(gòu)造衍生特征集合Xfakeh。設(shè) 置h=20。 基 于 此 時 的 特 征 集 合X=[T,F,Xfakeh]訓(xùn)練LGB 模型,并計算當前模型的RMSE。設(shè)置Optuna 算法的優(yōu)化目標為最小化LGB 模型預(yù)測時的RMSE,迭代次數(shù)為100,仿真結(jié)果見圖2。
圖2 基于不同參數(shù)混沌擾動衍生特征的模型性能Fig.2 Model performance based on chaotic disturbance derivation features of different parameters
圖2 中紅色虛線表示LGB 模型的RMSE 為109.383。由圖可知,約有一半的數(shù)據(jù)在紅線之下,其模型性能超越了LGB 模型的RMSE,驗證了本文所提混沌擾動特征衍生策略的有效性和實驗結(jié)果的非偶然性。RMSE 在第82 次迭代時最小,為104.36。
3.2.2 混沌擾動衍生特征數(shù)分析
基于優(yōu)化出的最佳參數(shù),通過式(2)構(gòu)造衍生特征集合Xfakeh,訓(xùn)練基于不同h的X=[T,F,Xfakeh]所訓(xùn)練的LGB 模型,其性能變化見圖3。圖3(a)中水平虛線為LGB 模型的MAPE,圖3(b)中水平虛線 為LGB 模 型 的RMSE,圖3(c)中 水 平 虛 線 為LGB 模 型 的R2。
圖3 基于不同數(shù)目衍生特征的模型性能Fig.3 Model performance based on different numbers of derivation features
由圖3(a)可知,當衍生特征數(shù)量小于37 時,所訓(xùn)練出的大部分模型性能將超越基線模型性能。由圖3(b)可知,當衍生特征數(shù)量小于26 時,所訓(xùn)練出的模型性能均超越了基線模型性能。由圖3(c)可知,當衍生特征數(shù)量小于27 時,所訓(xùn)練出的模型性能均超越了基線模型性能。綜上,模型性能隨混沌擾動特征數(shù)量呈現(xiàn)振蕩的先增后減趨勢,當衍生特征數(shù)量為20 時,模型性能最好。
綜上,當構(gòu)造少量混沌擾動衍生特征時,將有助于提高模型性能,證明本文所提策略的有效性。但是,當構(gòu)造的混沌擾動衍生特征數(shù)量較多時,模型性能將逐步變差,甚至將低于基線模型性能。這是由于引入混沌噪聲的特征提升了數(shù)據(jù)的復(fù)雜度和隨機度,過多地生成噪聲特征會遮蔽數(shù)據(jù)原有的規(guī)律,進而削弱預(yù)測模型的性能。
3.2.3 基于混沌噪聲的特征衍生算例結(jié)果
基于上述算例分析,本文選擇構(gòu)造20 條混沌衍生特征,訓(xùn)練所得模型CN20-LGB(chaos noise 20-LightGBM),其性能達到了IMAPE=7.164%、IRMSE=104.36、R2=0.973 0。 相 較 于 基 線 模 型LGB,CN20-LGB 模型的MAPE 降低了6.68%,RMSE 降低了4.59%,R2提升了0.2%。
3.2.4 與其他類型噪聲的算例對比
為了驗證混沌噪聲的效果與其他噪聲的效果,本文將式(2)中的噪聲更換為高斯噪聲和白噪聲,計算基于不同噪聲擾動所得衍生特征的LGB 模型性能。
使用Optuna 算法優(yōu)化高斯噪聲的均值參數(shù)、標準差參數(shù)和方差參數(shù),優(yōu)化白噪聲的功率譜密度參數(shù)、均值參數(shù)、方差參數(shù)和持續(xù)時間參數(shù)。設(shè)置Optuna 算法的優(yōu)化目標為最小化LGB 模型預(yù)測時的RMSE,迭代次數(shù)為100。仿真結(jié)果見附錄A 圖A2。由仿真結(jié)果可知,在最佳參數(shù)時,基于高斯噪聲衍生特征結(jié)果的模型的RMSE 為106.51,基于白噪聲衍生特征結(jié)果的模型的RMSE 為105.26。
基于優(yōu)化出的最佳參數(shù),分別訓(xùn)練基于不同h的X=[T,F,Xfakeh]所訓(xùn)練的LGB 模型。選取最佳衍生數(shù)量的模型性能參數(shù),將其與LGB 模型和CN20-LGB 模型進行性能對比,仿真結(jié)果如附錄A表A1 所示。
由仿真結(jié)果可知,基于3 種不同噪聲擾動衍生特征的模型性能均超過了LGB 模型的性能,其中,基于混沌噪聲擾動衍生特征的模型性能最佳。由于風電功率輸出具有一定的周期性或季節(jié)性,而混沌系統(tǒng)具有自相似性,即在不同的尺度上,都能觀察到相似的結(jié)構(gòu)。因此,相比其他噪聲,混沌噪聲更適合于具有周期性的風電功率預(yù)測。
設(shè)置IA 的維數(shù)M=26,抗體數(shù)量N=1 000,相似度閾值δ=0.9,親和度權(quán)值a=0.8,濃度權(quán)值b=0.2,迭代次數(shù)為50 次,保留的衍生特征數(shù)量q=100?;贗A 的特征衍生策略,分別采用以下數(shù)據(jù)訓(xùn)練模型:
1)基于20 條混沌擾動特征和原始特征數(shù)據(jù)訓(xùn)練的模型CN20-IA-LGB。
2)基于原始特征數(shù)據(jù)訓(xùn)練的模型IA-LGB。
將上述兩個模型與未使用基于IA 的特征衍生策略前的LGB 模型、CN20-LGB 模型進行性能對比,詳細性能指標如表1 所示。
表1 特征工程性能指標對比Table 1 Comparison of performance indicators of engineering features
由表1 中的數(shù)據(jù)可知,采用基于IA 的特征衍生策略后,與基線模型LGB 相比,IA-LGB 模型的RMSE 降 低 了7.21%,MAPE 降 低 了7.28%,R2提升了0.41%。與CN20-LGB 模型相比,CN20-IALGB 模型的RMSE 降低了3.41%,MAPE 降低了2.97%,R2提升了0.31%。采用基于IA 的特征衍生策略后,模型均得到了性能提升,驗證了本文所提基于IA 實現(xiàn)特征衍生的有效性與可行性。
為驗證2.2 節(jié)所提誤差修正模型的可行性,將CN20-IA-LGB 模型作為主模型。根據(jù)式(10)計算該模型的預(yù)測誤差etrain。將etrain與Xtrain進行相關(guān)性分析,得到Pearson 相關(guān)性系數(shù)和Spearman 相關(guān)性系數(shù),如附錄A 圖A3 所示。由圖A3 可知,風電功率預(yù)測誤差與風電功率真實值的相關(guān)性極低,若采用傳統(tǒng)預(yù)測模型來預(yù)測誤差,則導(dǎo)致模型嚴重欠擬合,繼而導(dǎo)致誤差增大。解決該問題的思路在于模型集成和超參數(shù)自動調(diào)優(yōu),訓(xùn)練出優(yōu)秀、互補的預(yù)測模型。
本文采用了HyperGBM 模型[26]對誤差進行預(yù)測。HyperGBM 模型是一個結(jié)合了超參數(shù)優(yōu)化和梯度提升決策樹模型的集成學習框架。它的主要目標是自動化地尋找最優(yōu)的模型架構(gòu)和超參數(shù),以在給定任務(wù)上達到最高的性能。HyperGBM 模型通過自動化搜索算法(如隨機搜索、網(wǎng)格搜索或貝葉斯優(yōu)化等)來選擇超參數(shù),從而減少了手動調(diào)參的需求。設(shè)置HyperGBM 模型的超參數(shù)均為默認參數(shù),訓(xùn)練出的誤差預(yù)測模型Corrector 的性能指標分別為:IRMSE=27.711,R2=0.013。
分別在LGB 模型和CN20-IA-LGB 模型的基礎(chǔ)上,使用誤差修正策略,訓(xùn)練修正后的模型,記為LGB-Correct 和CN20-IA-LGB-Correct 模 型,并 將其與修正前的模型性能對比,性能指標見表2。
表2 誤差修正前后模型性能對比Table 2 Model performance comparison before and after error correction
根據(jù)表2 中的仿真數(shù)據(jù)可知,誤差修正后的模型比修正前的模型更加優(yōu)秀。因此,即便誤差預(yù)測模型Corrector 出現(xiàn)了欠擬合現(xiàn)象,增加了誤差預(yù)測模型Corrector 后,主模型的預(yù)測性能依然有所提升。
預(yù)測器的誤差與特征、預(yù)測值的相關(guān)性都極低,誤差預(yù)測的效果較差。然而,如果誤差預(yù)測模型是高性能的強學習器,它仍然有能力挖掘出預(yù)測誤差與特征、預(yù)測值之間的微弱聯(lián)系,并有效修正主模型的誤差。
值得注意的是,修正策略后的LGB-Correct 模型的性能相比基線模型LGB 提升較大,CN20-IALGB-Correct 模型相比CN20-IA-LGB 模型也有性能提升,但是性能提升并不大。這是由于CN20-IALGB 模型預(yù)測精度很高,在數(shù)據(jù)種類較低、特征量較少的情況下,CN20-IA-LGB 模型接近極限,提升的空間較小。但基于本文所提出的誤差修正模型,CN20-IA-LGB 模型依然有所提升。
此時,與原始的LGB 模型相比,CN20-IA-LGBCorrect 模型的RMSE 降低了8.62%,MAPE 降低了10.1%,R2提升了0.56%。
為進一步說明所提方案的有效性,本文將所提CN-IA-LGB-Correct 模型與當前主流機器學習模型進行對比,包括TabNet 模型、長短期記憶(LSTM)網(wǎng)絡(luò)模型、LightGBM-CatBoost-XGBoost-Stacking(LGB-CTB-XGB-Stacking)模型。
TabNet 模型[27]是一種用于表格數(shù)據(jù)的深度學習網(wǎng)絡(luò)結(jié)構(gòu),其性能已經(jīng)超越了目前所有單體模型。LSTM 網(wǎng)絡(luò)模型[20]是一種經(jīng)典的循環(huán)神經(jīng)網(wǎng)絡(luò)變體,其特點是可以解決長期依賴問題。LGBCTB-XGB-Stacking 模型是將目前流行的梯度提升樹 算 法LGB、CatBoost[28]和XGBoost[29]用Stacking算法集成后的模型。
TabNet 模 型、LSTM 網(wǎng) 絡(luò) 模 型、LGB-CTBXGB-Stacking 模型的訓(xùn)練數(shù)據(jù)均使用原始的單特征風電功率數(shù)據(jù),將訓(xùn)練后的模型性能與本文所提CN20-IA-LGB-Correct 模型性能進行對比,性能指標見表3,各模型的預(yù)測效果見附錄A 圖A4。
表3 不同模型性能指標Table 3 Performance indicators of different models
根據(jù)算例仿真可知,CN-IA-LGB-Correct 模型表現(xiàn)最佳,集成模型LGB-CTB-XGB-Stacking 和TabNet 模型表現(xiàn)次之,LSTM 網(wǎng)絡(luò)模型表現(xiàn)最差。TabNet 模型和LGB-CTB-XGB-Stacking 模型的性能均超過了本文算例中的LGB 模型。而應(yīng)用本文所述特征衍生策略和誤差修正策略的LGB 模型不僅超越了自身的基線模型性能,也超越了TabNet 模型和LGB-CTB-XGB 模型的性能,驗證了本文所提算法的有效性。
為了驗證所提特征衍生算法在不同模型上的通用性和有效性,本文進一步將該算法應(yīng)用于XGBoost 和TabNet 兩種不同的模型。與LGB 模型不同,XGBoost 和TabNet 模型各自具有獨特的模型結(jié)構(gòu)和優(yōu)化策略,這為本文所提算法提供了有力的測試場景。附錄A 表A2 所示為XGBoost 模型使用本文所述特征衍生及誤差修正算法后的仿真結(jié)果,附錄A 表A3 所示為TabNet 模型使用本文所述特征衍生及誤差修正算法后的仿真結(jié)果。由表A2 和表A3 可知,應(yīng)用特征衍生算法及誤差修正算法后,XGBoost 和TabNet 模型的性能均得到了提升,驗證了本文所述算法的通用性和有效性。
本文提出了基于混合特征雙重衍生和誤差修正的風電功率預(yù)測模型,以提高風電功率預(yù)測在數(shù)據(jù)種類不足及特征數(shù)量稀缺時的準確性。首先,提出混合特征雙重衍生方法:1)通過在原始特征中施加混沌噪聲,構(gòu)造多條混沌擾動特征;2)通過設(shè)計基于IA 的特征衍生方法,顯著增加了優(yōu)質(zhì)特征的數(shù)量。其次,構(gòu)造了誤差預(yù)測模型,通過預(yù)測風電功率預(yù)測誤差,實現(xiàn)對風電功率預(yù)測主模型的誤差修正,進一步提升了預(yù)測準確率。通過算例仿真與當前主流的LGB、TabNet、LSTM 網(wǎng)絡(luò)、LGB-CTB-XGBStacking 模型進行對比,驗證了本文所提模型的有效性和優(yōu)越性。需要指出的是,本文通過所提出的特征衍生算法和誤差修正模型,實現(xiàn)了在缺失天氣預(yù)報數(shù)據(jù)時的風電功率超短期精確預(yù)測。但是,本文所提算法依然有一定局限性:當預(yù)測尺度較長時,即便應(yīng)用本文所提特征衍生算法和誤差修正模型后,預(yù)測精度仍然會急劇下降,無法實現(xiàn)基于單特征數(shù)據(jù)的中長期尺度準確預(yù)測。后續(xù)研究的重點是進一步改進特征工程算法,實現(xiàn)多時間尺度下的精確預(yù)測。
本文研究得到南瑞集團有限公司項目“信息-物理-社會元素的交互及協(xié)調(diào)技術(shù)(GFGFWD-210338)”資助,特此感謝!
附錄見本刊網(wǎng)絡(luò)版(http://www.aeps-info.com/aeps/ch/index.aspx),掃英文摘要后二維碼可以閱讀網(wǎng)絡(luò)全文。