鄧序之,劉淇,葉傲霜,許佳時,楊王旺,王璽,應文韜,邵佳佳,李芝娟,陳小毅
(1. 國網(wǎng)上海浦東供電公司,上海 200120;2. 華中科技大學電氣與電子工程學院,武漢 430074)
隨著化石能源短缺危機以及氣候變暖帶來的生態(tài)問題日益嚴峻,能源產(chǎn)業(yè)大力推進能源低碳化轉型、電能替代等戰(zhàn)略手段[1-2],我國電力產(chǎn)業(yè)也迎來了加快構建適應新能源占比逐漸提高的新型電力系統(tǒng)的新一輪技術變革[3-5]。分布式太陽能光伏發(fā)電作為一種安裝靈活、產(chǎn)能豐富的清潔能源發(fā)電方式,在“3060”目標推動下具有良好的發(fā)展前景[6-9]。然而,光伏發(fā)電受到太陽輻照強度、降水量等氣象因素及晝夜出力周期性的影響,具有較強的隨機性、波動性等不穩(wěn)定特點,給負荷用電及電網(wǎng)的安全穩(wěn)定運行帶來了較大的挑戰(zhàn)[10-12]。因此,對用戶分布式光伏的精準預測具有重要意義[13-17]。
目前,已經(jīng)有很多學者對光伏預測展開了深入研究。文獻[18]提出一種交叉全局人工蜂群算法優(yōu)化Elman 神經(jīng)網(wǎng)絡的模型,解決了算法易收斂于局部極值的問題。文獻[19]搭建了基于優(yōu)化變分模態(tài)分解(optimal variational model decomposition,OVMD)-自適應t 分布麻雀搜索(adaptive t-distribution sparrow search algorithm,tSSA)-最小二乘向量機(least squares support vector machine,LSSVM)算法的光伏功率預測模型,對時間序列數(shù)據(jù)進行了分解處理。文獻[20]構建了一種基于自適應噪聲完全集成經(jīng)驗模態(tài)分解算法,結合黑猩猩優(yōu)化算法優(yōu)化極限學習機神經(jīng)網(wǎng)絡的光伏出力短期預測模型,降低了環(huán)境因素序列的非平穩(wěn)性。文獻[21]提出一種基于變分模態(tài)分解(variational model decomposition,VMD)- 長短期記憶(long short-term memory,LSTM)網(wǎng)絡與誤差補償?shù)某唐陬A測模型,通過誤差補償預測提高了預測精度。文獻[22]提出一種基于極端梯度提升(extreme gradient boosting,XGBoost)模型和長短期記憶(long short term memory, LSTM)網(wǎng)絡模型的短期光伏發(fā)電功率預測組合模型,并與隨機森林、梯度提升決策樹(gradient boosting decision tree, GBDT)模型等進行比較具有更好的預測精度。文獻[23]提出了一種基于多特征融合和XGBoost- LightGBM-ConvLSTM的短期光伏發(fā)電量預測模型,解決了傳統(tǒng)模型預測誤差大、特征數(shù)據(jù)少、深層神經(jīng)網(wǎng)絡模型出現(xiàn)梯度爆炸或消失的問題。文獻[24]提出一種針對分布式系統(tǒng)的時空相關性建模方法,并結合深度自注意力網(wǎng)絡實現(xiàn)出力預測,研究了分布式光伏的空間相關性。
盡管上述研究取得了一定的成果,但仍存在以下問題沒有解決:1) 樣本依賴性,盡管上述研究的預測精度較傳統(tǒng)預測方法有較大的提升,但對選用樣本的依賴性較大,換一組樣本預測精度不能保持穩(wěn)定;2) 局部最優(yōu)問題,單一模型或組合模型不可避免會在迭代過程中陷入局部最優(yōu),從而使得預測模型缺乏很好的泛化能力。
本文針對以上兩個問題提出了一種基于Bagging 思想改進的XGBoost 算法預測模型,在Bagging 的過程中引入了集成模型,降低了單一模型陷入局部最優(yōu)帶來的對預測精度與泛化能力的干擾影響,同時大幅降低了預測模型的樣本依賴性,提高了預測精度,具有良好的實際應用能力。
XGBoost 是一種基于GBDT 的高精度集成學習模型[25-26],其本質在于將多個弱分類器(決策樹1-t)集成到一個強分類器中,以提高預測精度。以回歸預測為例,XGBoost 的每棵樹(樹1 除外)都學習之前所有樹結果總和的殘差(負梯度),通過將殘差值與之前的預測值累加,可以不斷接近實際值,其結構如圖1所示。

圖1 XGBoost算法結構圖Fig. 1 Structure diagram of XGBoost algorithm
XGBoost進行串行集成的具體數(shù)學原理如下。
對于已知數(shù)據(jù)集,樹的集成模型如式(1)所示。
式中:F={f(x) =ωq(x)}(q:Rm→T,ω∈RT)為樹的集合;K為樹的數(shù)量;xi為第i個數(shù)據(jù)點的特征向量;q為每一棵樹的結構映射到樣本所對應的葉子的索引;Rm為m維輸入的線性空間;T為樹上葉子的數(shù)量;每一棵樹fk對應一個獨立的樹結構q和葉子的權重ω。
其損失函數(shù)e包含兩部分,第一部分是預測值和實際值之間的殘差,第二部分為每棵樹的復雜度之和,用以限制模型過擬合,如式(2)所示。
式中:y?i為模型預測值;n為樣本點數(shù)量;l為預測值和真實值殘差;γ為葉子數(shù)量控制參數(shù);λ為正則化參數(shù);Wk為第k棵樹的最優(yōu)擬合值。
XGBoost 采用增量訓練方法,即訓練過程中保持原有模型,每次添加一個新的項(即一棵新的樹)到目標函數(shù)中,而每一輪加入的新樹都需要盡可能地減小目標函數(shù),訓練過程如式(3)所示。
式中為第i個樣本在第t輪的模型預測值,在保留上一輪的模型預測值后,加入新的函數(shù)ft(xi)。
綜上,XGBoost 在進行回歸預測方面具有以下優(yōu)點:1) XGBoost通過決策樹模型的串行集成提高了輸出的準確性,具有較強的學習能力;2)XGBoost 通過正則化控制模型的復雜性,有助于防止過度擬合,提高模型的泛化能力;3) XGBoost通過二階泰勒展開來擴展損失函數(shù),加快了優(yōu)化速度。
雖然XGBoost已經(jīng)是一種學習能力強、精度高的算法,具備一定的泛化能力和抗過擬合能力。但XGBoost 的串行迭代過程使得整個樹模型過度生長,樣本依賴程度較大,仍然存在過度擬合的風險,并且XGBoost算法缺乏隨機性,在更換數(shù)據(jù)源時可能存在高誤差的風險。通過在XGBoost算法中引入隨機訓練樣本構造,模型整體的方差還可以進一步降低。
Bagging 正是這樣一種引入隨機性的樣本構造與并行集成方法[27-28],Bagging 可分為隨機采樣與投票組合兩個過程,其原理如圖2 所示。Bagging通過隨機采樣方式(bootstrap)得到隨機樣本,若數(shù)據(jù)集中有m個化合物樣本,每次隨機有放回的抽取1 個樣本,重復m次,則可得到一個含有m個樣本的樣本子集。隨機有放回的抽樣操作使得每次收取時每個樣本都有可能被選中,因此樣本子集中可能會有重復的樣本。于是,經(jīng)過n輪隨機采樣法可得到n個樣本子集,每個樣本子集都含有m個樣本,然后基于這n個樣本子集訓練得到n個預測模型,最后通過投票結合策略(aggregation)將n個預測模型組合。

圖2 Bagging算法原理圖Fig. 2 Schematic diagram of Bagging algorithm
Bagging 算法每次抽取的輸入數(shù)據(jù)之間相互獨立,且構造的每個基模型的樣本數(shù)據(jù)分布相同,Bagging 在模型集成的過程中模擬了各種隨機情況,降低了出現(xiàn)高誤差的風險。在用戶分布式光伏出力預測方面Bagging 算法的引入能有效減少集成模型的輸出方差和降低模型過擬合程度,提高模型的泛化能力,避免預測模型在利用部分用戶進行訓練之后在新增用戶上的表現(xiàn)不佳。
預測模型本身具備一定的特征篩選能力,但隨著模型輸入的影響因素的增多,高緯度的輸入特征與冗雜的輸入數(shù)據(jù)仍將導致模型的學習和訓練效果變差,因此需要提取重要的輸入特征,協(xié)助模型取得最佳的訓練效果。對于分布式光伏系統(tǒng)氣象是影響程度很大且特征數(shù)較多的一類影響因素,其中也包含著一些與光伏出力無關和彼此耦合的數(shù)據(jù),因此需對輸入的氣象特征進行篩選。
由于實際測量得到的光伏出力數(shù)據(jù)與氣象數(shù)據(jù)均存在較強的波動性,并且從長時間尺度來看,兩者之間存在著一定的非線性相關性,這種情況下僅能衡量線性相關性的皮爾森相關系數(shù)不太準確,而互信息(mutual information,MI)可以解決非線性相關性的衡量問題[29]。MI 是信息論里一種有用信息的度量,可以看作一個隨機變量中包含的關于另一個隨機變量的信息量,可用于衡量兩個隨機變量之間的相互依賴性。除了能夠反映兩個變量之間的非線性關系之外,MI 還能考慮在給定另一個特征的情況下一個特證能提供的信息量的多少。
分別設分布式光伏出力和某個氣象影響因素為隨機變量X和Y,由于光伏出力和氣象因素都是離散隨機變量,其MI定義如式(4)所示。
式中:p(x,y)為X和Y的聯(lián)合概率密度函數(shù);p(x)和p(y)分別為X和Y的邊緣概率密度函數(shù)。
MI 的大小受隨機變量的概率分布影響很大,一般不直接比較大小,而是要先進行標準化,使得互信息量的大小得到統(tǒng)一,取值范圍變?yōu)?—1。根據(jù)圖3 所示韋恩圖,可以定義標準化互信息(normalized mutual information, NMI)的表達式如式(5)所示。

圖3 互信息與信息熵的韋恩圖Fig. 3 Wayne diagram of mutual information and information entropy
式中H(X)為隨機變量X的信息熵,其表達式如式(6)所示。
根據(jù)NMI的值的大小可篩選出對光伏出力影響大的氣象因素。
通過MI 篩選氣象因素后,所選氣象特征內部可能存在耦合。為了進一步降低數(shù)據(jù)維數(shù),避免數(shù)據(jù)冗余,提高計算速度,可以使用主成分分析法(principal component analysis,PCA)找出幾個獨立的綜合特征變量來代替原始變量。PCA 的要求是:通過對原始變量進行相關性分析與協(xié)方差計算得到原始數(shù)據(jù)的最佳線性組合方式,用盡可能少的綜合變量來包含盡可能多的原始變量信息。
PCA 的流程圖如圖4 所示。在最終獲取的所有主成分綜合變量中,第一主成分的方差最大,包含原始變量的相關信息量越豐富,其余主成分的方差依次減小,以至于包含的總信息量達到原始信息量的85%。另外,各個主成分變量之間的協(xié)方差為0,滿足互不相關原則。

圖4 PCA計算流程圖Fig. 4 Flowchart of PCA calculation
基于MI 和PCA 可以獲得多個氣象綜合變量,而不是原始的多維氣象耦合特征數(shù)據(jù)。氣象綜合變量和氣象類型數(shù)據(jù)將作為外部影響因素輸入負荷預測模型。
通過Bagging 算法對XGBoost 預測模型進行改進,得到本文所提出的集成預測模型的框架如圖5所示,其流程如下。

圖5 改進的XGBoost算法集成預測模型Fig. 5 Improved XGBoost algorithm integrated prediction model
1) 數(shù)據(jù)預處理:根據(jù)有效數(shù)據(jù)占比對用戶分布式光伏出力數(shù)據(jù)進行篩選,對得到的原始數(shù)據(jù)中的異常值進行剔除,對剔除值與缺失值進行3 次樣條插值。
2) 特征相關性分析與篩選:分析多維氣象因素與分布式光伏出力總量之間的相關性,剔除相關性低的氣象因素。
3) 數(shù)據(jù)降維:提取所選氣象因素的主成分,以主成分變量代替原數(shù)據(jù)。
4) 樣本集生成:對訓練集進行隨機有放回抽樣,生成10個訓練子集。
5) XGBoost預測基模型建立:每個預測模型對應一個訓練子集,建立并訓練XGBoost 預測模型,輸出每個基模型的未來光伏出力。
6) 輸出最終預測結果與評價:取10 個基模型的平均值與真實值對比并評估預測精度。
在傳統(tǒng)的電力系統(tǒng)負荷預測領域平均絕對百分比誤差(mean absolute percentage error,MAPE)通常被選作預測精度的評價指標,其優(yōu)勢在于能直觀反映預測誤差相對大小。但對于分布式光伏出力預測,由于在夜晚期間光伏出力為0,MAPE 的直接除法運算在遇見分母(實際值)為0 或接近0 的值時沒有意義,因此無法準確評估模型的預測精度。
為解決MAPE 使用范圍受限的問題,可以在MAPE 的基礎上引入反正切變換,得到平均反正切絕對百分比誤差(mean arctangent absolute percentage error,MAAPE)。MAAPE 不僅保留了MAPE便于在不同模型和數(shù)據(jù)之間比較的優(yōu)點,而且其取值范圍始終在閉合區(qū)間以內,不會出現(xiàn)過大的異常值,具有更好的魯棒性。MAAPE 的原始取值范圍為0到π/2,為了使MAAPE 具有和MAPE 一樣的直觀數(shù)值體現(xiàn),需要對MAAPE 的值進行調整。當MAPE為50%時,MAAPE的原始值為π/6,以這兩個值相等且均為50%為基準進行調整,平均反正切絕對百分比誤差值EMAAPE計算公式如式(7)所示。
式中:xt為實際值;et為絕對誤差(即實際值與預測值之差的絕對值);θt為相對誤差(et/xt)的反正切變換。
平均絕對誤差(mean absolute error,MAE)可以直接反映模型的誤差值,通過綜合MAE和MAAPE兩個評價指標,可以更好地反映模型的預測精度,并用于不同模型之間的精度比較。
本文選取美國Pecan Street 能源項目數(shù)據(jù)庫中的一個居民小區(qū)的39 個光伏系統(tǒng)總負荷作為研究對象,這些用戶分布式光伏系統(tǒng)的具體地點為美國德克薩斯州首府奧斯汀市的MUELLER 綠色能源社區(qū),光伏出力數(shù)據(jù)的時間范圍為2014 年1 月1 日至2015年3月30日。奧斯汀市位于美國德克薩斯州中部,地處北緯30 °左右,氣候與我國杭州、寧波等城市類似,本文從美國國家海洋和大氣管理局(National Oceanic and Atmospheric Administration,NOAA)下載了該市這段時間內的詳細氣象數(shù)據(jù),包括12維每小時氣象數(shù)據(jù)以及每日的天氣類型。
由于每個光伏系統(tǒng)對應的氣象數(shù)據(jù)相同,為避免單個光伏系統(tǒng)出力隨機性的影響,首先將39 個光伏系統(tǒng)的出力求和作為一個整體。另外,考慮到光伏系統(tǒng)在夜間出力為0,分兩種情況分別剔除夜間數(shù)據(jù)和不剔除,計算各維氣象因素與總光伏出力之間的NMI,結果如表1所示。

表1 多維氣象因素與光伏出力NMI計算結果Tab. 1 Multidimensional meteorological factors and photovoltaic output NMI calculation results
在剔除了夜間數(shù)據(jù)的情形下,除輻照度外(輻照度夜間也為0)其余氣象因素的NMI 值均有一定程度的增大,因此以剔除夜間數(shù)據(jù)的NMI 值為準,篩選出NMI 值大于0.1 的氣象變量作為后續(xù)耦合特征降維的對象,分別為:氣溫、結露溫度、濕度、能見度、體感溫度、云遮擋量及輻照度。另外,計算上述特征與光伏出力間的皮爾森相關系數(shù),以更好地顯示其正負相關關系,如圖6所示。

圖6 多維氣象因素與光伏出力皮爾森相關系數(shù)Fig. 6 Pearson correlation coefficient between multidimensional meteorological factors and photovoltaic output
注意到氣溫、結露溫度、體感溫度的單位相同,輻照度和云遮擋量之間可能也存在相關關系,采用主成分分析法消除特征間的相關性,進一步降低氣象因素的維度,各主成分的貢獻率如圖7所示。

圖7 主成分變量貢獻率示意圖Fig. 7 Schematic diagram of major constituent variable contribution rate
通過NMI 和PCA 的特征選擇和降維,得到三維天氣綜合變量來代替原始的12 維天氣數(shù)據(jù),其中第一主成分主要包含氣溫、體感溫度及結露溫度信息,第二主成分主要包含濕度和云遮擋量信息,第三主成分主要包含輻照度與能見度信息,各主成分相互獨立,減少了雜糅數(shù)據(jù)的干擾,有利于光伏出力預測模型的建立。
基于改進XGBoost 算法對39 個用戶的分布式光伏出力進行預測,設置原始XGBoost模型的超參數(shù)如表2 所示,并依據(jù)本文的集成方法對10 個XGBoost 模型進行Bagging 組合,另外采用傳統(tǒng)BP神經(jīng)網(wǎng)絡和隨機森林(random forest, RF)模型作為對比,其超參數(shù)設置如表3—4所示。

表2 XG預測模型參數(shù)表Tab. 2 Parameter table of XG forecast model

表3 BP預測模型參數(shù)表Tab. 3 Parameter table of BP forecast model

表4 RF預測模型參數(shù)表Tab. 4 Parameter table of RF forecast model
日前預測時,預測日前一日的光伏出力數(shù)據(jù)已知,模型的輸入輸出數(shù)據(jù)結構如圖8所示。

圖8 日前預測模型輸入輸出數(shù)據(jù)結構Fig. 8 Input and output data structure of day ahead forecast model
不考慮夜間光伏出力為0 的情況,對兩個典型日下的光伏出力總功率進行預測,結果如圖9—10所示。

圖9 連續(xù)晴朗日下光伏出力總功率預測結果及輻照度曲線Fig. 9 Forecast results of total PV output powers and irradiance curves in continuous sunny days

圖10 突然陰雨日下光伏出力總功率預測結果及輻照度曲線Fig. 10 Forecast results and irradiance curves of total PV output power under sudden rainy days
在兩個典型日下本文提出的XG 模型的預測精度均高于傳統(tǒng)BP 模型和隨機森林模型。另外通過對比兩典型日下的MAPE、MAAPE 及MAE 指標,雖然XG 模型的MAE 差距很小(即預測功率的絕對數(shù)值誤差較小),但MAPE 的數(shù)值差距很大,甚至在BP 模型中達到了144.35%,這對模型評價是非常不利的。而采用MAAPE 替代MAPE 指標后,在低誤差情形下的數(shù)值差距不大,高誤差或低基準值情形下MAAPE 的數(shù)值相對較低但仍不能準確反映模型實際精度,因此將MAAPE 和MAE 指標結合進行模型評估的方式更為合理。
進一步選取XG 模型對連續(xù)50 d 的光伏出力總負荷進行預測,每天預測結果的MAAPE 及MAE如圖11所示。

圖11 XG模型預測結果評價指標示意圖Fig. 11 Sketch diagram of XG model prediction results evaluation indicators
50 d 預測結果的MAE 平均值為6.934 kW,MAAPE 平均值為16.73%,當MAE 大于8 kW 且MAAPE 大于25%時,可認定為該日預測誤差偏大,總計9 d。當MAE 小于6 kW 或MAAPE 小于10%時,可認定該日預測誤差較小,總計28 d。
用戶側分布式光伏數(shù)量的逐步增加,為了協(xié)助用戶消納分布式光伏發(fā)電、提高用戶用電質量和提高用戶儲能的利用率,本文提出了基于氣象耦合特征分析及改進XGBoost算法的用戶分布式光伏短期出力預測模型。該模型一方面針對單一預測算法容易出現(xiàn)過擬合及存在樣本依賴等問題引入了Bagging 思想對XGBoost 預測模型進行了改進,提高了模型的整體預測精度和泛化能力,另一方面針對多維氣象因素彼此耦合且存在與光伏出力無關數(shù)據(jù)干擾的缺陷,提出利用互信息與主成分分析挖掘相關性和去除數(shù)據(jù)內部耦合的方法,進一步提高了模型對氣象數(shù)據(jù)的跟蹤能力。
相比于傳統(tǒng)BP 神經(jīng)網(wǎng)絡模型和隨機森林模型,本文所提出模型無論在相對指標(MAAPE)還是絕對指標(MAE)上的整體預測精度均較高,在50d 預測結果中MAE 平均值為6.934 kW,MAAPE平均值為16.73%,超過半數(shù)情形下的相對誤差小于10%,具有良好的實際應用能力。總體來看,本文所提出的模型整體預測精度較高且穩(wěn)定性較強,其中預測誤差偏大的情形均出現(xiàn)在天氣變化劇烈的時候,后續(xù)還能進一步區(qū)分天氣變化的劇烈程度進行相似樣本選取,從而進一步改善模型的預測性能。