閱讀文章前,辛苦您點下右上角的“關注”,友善您讨論分享,持續關注每日優質内容~
随着化石能源短缺危機以及氣候變暖帶來的生态問題日益嚴峻,能源産業大力推進能源低碳化轉型、電能替代等戰略手段,大陸電力産業也迎來了加快建構适應新能源占比逐漸提高的新型電力系統的新一輪技術變革。
分布式太陽能光伏發電作為一種安裝靈活、産能豐富的清潔能源發電方式,在“3060”目标推動下具有良好的發展前景。
然而,光伏發電受到太陽輻照強度、降水量等氣象因素及晝夜出力周期性的影響下,具有較強的随機性、波動性等不穩定特點,對負荷用電及電網的安全穩定運作帶來了較大的挑戰。
是以,對使用者分布式光伏的精準預測具有重要意義。
目前,已經有很多學者對光伏預測展開了深入研究。
文獻提出一種交叉全局人工蜂群算法優化Elman神經網絡的模型,解決了算法易收斂于局部極值的問題;文獻搭建了基于OVMD- tSSA-LSSVM 算法的光伏功率預測模型,對時間序列資料進行了分解處理;文獻建構了一種基于自适應噪聲完全內建經驗模态分解算法,結合黑猩猩優化算法優化極限學習機神經網絡的光伏出力短期預測模型,降低環境因素序列的非平穩性。
文獻提出一種基于VMD-LSTM與誤差補償的超短期預測模型,通過誤差補償預測提高了預測精度;文獻提出一種基于極端梯度提升(XGBoost)模型和長短期記憶網絡(LSTM)模型的短期光伏發電功率預測組合模型,并與随機森林、GBDT模型等進行比較具有更好的預測精度。
文獻提出了一種基于多特征融合和XGBoost- LightGBM-ConvLSTM的短期光伏發電量預測模型,解決了傳統模型預測誤差大、特征資料少、深層神經網絡模型出現梯度爆炸或消失的問題;文獻[20]提出一種針對分布式系統的時空相關性模組化方法,并結合深度自注意力網絡實作出力預測,研究了分布式光伏的空間相關性。
盡管上述研究取得了一定的成果,但仍存在以下問題沒有被解決:(1)樣本依賴性。
盡管上述研究的預測精度較傳統預測方法有較大的提升,但對選用樣本的依賴性較大,換一組樣本預測精度不能保持穩定;(2)局部最優問題。
單一模型或組合模型不可避免會在疊代過程中陷入局部最優,進而使得預測模型不具有很好的泛化能力。
本文針對解決以上兩個問題,提出了一種基于Bagging思想改進的XGBoost算法預測模型,并在Bagging的過程中引入了內建模型,降低了單一模型陷入局部最優帶來的預測精度與泛化能力幹擾影響,同時大幅降低了預測模型的樣本依賴性,提高了預測精度,具有良好的實際應用能力。
模型預測算法簡介
XGBoost算法
XGBoost是一種基于梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)的高精度內建學習模型,其本質在于将多個弱分類器(決策樹1-t)內建到一個強分類器中,以提高預測精度。
以回歸預測為例,XGBoost的每棵樹(樹1除外)都學習之前所有樹結果總和的殘差(負梯度)。
通過将殘內插補點與之前的預測值累加,可以不斷接近實際值。
XGBoost算法結構圖
XGBoost進行串行內建的具體數學原理如下:
對于已知資料集 ,樹的內建模型由式(1)表示。
yˆi=∑k=1Kfk(xi),fk∈F(1)
式中F={f(x)=ωg(x)}(q:Rm→T,ω∈RT)為樹的集合;xi為第i個資料點的特征向量;q為每一棵樹的結構映射到樣本所對應的葉子的索引;T為樹上葉子的數量,每一棵樹fk對應一個獨立的樹結構q和葉子的權重w。
其損失函數包含兩部分, 第一部分是預測值和實際值之間的殘差,第二部分為每棵樹的複雜度之和,用以限制模型過拟合,如式(2)。
LOSS=∑i=1nl(yi,yˆi)+∑k=1K(γT+12λ∥Wk∥2)(2)
式中yˆi為模型預測。
XGBoost采用增量訓練方法,即訓練過程中保持原有模型,每次添加一個新的項(即一棵新的樹)到目标函數中,而每一輪加入的新樹都需要盡可能地減小目标函數,訓練過程如式(3)。
yˆ(0)i=0yˆ(1)i=f1(xi)=yˆ(0)i+f1(xi)yˆ(2)i=f1(xi)+f2(xi)=yˆ(1)i+f2(xi)…yˆ(t)i=∑k=1tfk(xi)=yˆ(t−1)i+ft(xi)(3)
式中:yˆ(t)i是第i個樣本在第t輪的模型預測值,yˆ(t)i在保留上一輪的模型預測值yˆ(t−1)i後,加入新的函數ft(xi)。
綜上,XGBoost在進行回歸預測方面具有以下優點:1)XGBoost通過決策樹模型的串行內建提高了輸出的準确性,具有較強的學習能力。
2)XGBoost通過正則化控制模型的複雜性,有助于防止過度拟合,提高模型的泛化能力。
3)XGBoost通過二階泰勒展開來擴充損失函數,加快了優化速度。
Bagging算法
雖然XGBoost已經是一種學習能力強、精度高的算法,具備一定的泛化能力和抗過拟合能力。
但XGBoost的串行疊代過程使得整個模型的結構很深,仍然存在過度拟合的風險,并且XGBoost算法缺乏随機性,在更換資料源時可能存在高誤差的風險。
通過在XGBoost算法中引入随機訓練樣本構造,模型整體的方差還可以進一步降低。
Bagging正是這樣一種引入随機性的樣本構造與并行內建方法,Bagging可分為随機采樣與投票組合兩個過程。
Bagging通過随機采樣方式(即Bootstrap)得到随機樣本,若資料集中有m個化合物樣本,每次随機有放回的抽取1個樣本,重複m次,則可得到一個含有m個樣本的樣本子集。
随機有放回的抽樣操作使得每次收取時每個樣本都有可能被選中,是以樣本子集中可能會有重複的樣本。
于是,經過n輪随機采樣法可得到n個樣本子集,每個樣本子集都含有m個樣本,然後基于這n個樣本子集訓練得到n個預測模型,最後通過投票結合政策(即Aggregation)将n個預測模型組合。
Bagging算法原理圖
Bagging算法每次抽取的輸入資料之間互相獨立,且構造的每個基模型的樣本資料分布相同,Bagging在模型內建的過程中模拟了各種随機情況,降低了出現高誤差的風險。
在使用者分布式光伏出力預測方面,Bagging算法的引入能有效減少內建模型的輸出方差和降低模型過拟合程度,提高模型的泛化能力,避免預測模型在利用部分使用者進行訓練之後,在新增使用者上的表現很差。
多元氣象耦合特征分析與內建預測模型
氣象-光伏互資訊與特征篩選
預測模型本身具備一定的特征篩選能力,但随着模型輸入的影響因素的增多,高緯度的輸入特征與冗雜的輸入資料仍将導緻模型的學習和訓練效果變差,是以需要提取重要的輸入特征,協助模型取得最佳的訓練效果。
對于分布式光伏系統,氣象是影響程度很大且特征數較多的一類影響因素,其中也包含着一些與光伏出力無關和彼此耦合的資料,是以需對輸入的氣象特征進行篩選。
由于實際測量得到的光伏出力資料與氣象資料均存在較強的波動性,并且從長時間尺度來看,兩者之間存在着一定的非線性相關性,這種情況下僅能衡量線性相關性的皮爾森相關系數不太準确,而互資訊(MI)可以解決非線性相關性的衡量問題。
互資訊(MI)可用于衡量兩個随機變量之間的互相依賴性。
除了能夠反映兩個變量之間的非線性關系之外,MI還能考慮在給定另一個特征的情況下一個特性能提供的資訊量的多少。
分别設分布式光伏出力和某個氣象影響因素為随機變量X和Y,由于光伏出力和氣象因素都是離散随機變量,其MI可以定義如式(4)。
I(X;Y)=∑y∈Y∑x∈Xp(x,y)log(p(x,y)p(x)p(y))(4)
式中,p(x,y)是X和Y的聯合機率密度函數,p(x)和p(y)分别是X和Y的邊緣機率密度函數。
MI的大小受随機變量的機率分布影響很大,一般不直接比較大小,而是要先進行标準化,使得互資訊量的大小得到統一,取值範圍變為0-1。
根據文中所示韋恩圖,可以定義标準化互資訊(NMI)的表達式如式(5)所示。
NMI(X;Y)=I(X;Y)H(X)⋅H(Y)√(5)
式中,H(X)為随機變量X的資訊熵,其表達式如式(6)所示。
H(X)=∑x∈Xp(x)log(1p(x))(6)
互資訊與資訊熵的韋恩圖
根據NMI的值的大小可篩選出對光伏出力影響大的氣象因素。
氣象耦合特征降維與主成分提取
通過MI篩選氣象因素後,所選氣象特征内部可能存在耦合。
為了進一步降低資料維數,避免資料備援,提高計算速度,可以使用主成分分析法(Principal Component Analysis,PCA)找出幾個獨立的綜合特征變量來代替原始變量。
PCA的要求是:通過對原始變量進行相關性分析與協方差計算,得到原始資料的最佳線性組合方式,用盡可能少的綜合變量來包含盡可能多的原始變量資訊。
在最終擷取的所有主成分綜合變量中,第一主成分的方差最大,包含原始變量的相關資訊量越豐富,其餘主成分的方差依次減小,以至于包含的總資訊量達到原始資訊量的85%。
另外,各個主成分變量之間的協方差為0,滿足互不相關原則。
基于MI和PCA,可以獲得多個氣象綜合變量,而不是原始的多元氣象耦合特征資料。
氣象綜合變量和氣象類型資料将作為外部影響因素輸入負荷預測模型。
內建預測模型流程
通過Bagging算法對XGBoost預測模型進行改進,得到本文所提出的內建預測模型的架構,其流程如下。
1) 資料預處理:根據有效資料占比對使用者分布式光伏出力資料進行篩選,對得到的原始資料中的異常值進行剔除,剔除值與缺失值進行三次樣條插值。
2) 特征相關性分析與篩選:分析多元氣象因素與分布式光伏出力總量之間的相關性,剔除相關性低的氣象因素。
3) 資料降維:提取所選氣象因素的主成分,以主成分變量代替原資料。
4) 樣本集生成:對訓練集進行随機有放回抽樣,生成10個訓練子集。
5) XGBoost預測基模型建立:每個預測模型對應一個訓練子集,建立并訓練XGBoost預測模型,輸出每個基模型的未來光伏出力。
6) 輸出最終預測結果與評價:取十個基模型的平均值,與真實值對比并評估預測精度。
改進的XGBoost算法內建預測模型
評價名額選取
在傳統的電力系統負荷預測領域,平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)通常被選作預測精度的評價名額,其優勢在于能直覺反映預測誤差相對大小。
但對于分布式光伏出力預測,由于在夜晚期間光伏出力為0,MAPE的直接除法運算在遇見分母(實際值)為0或接近0時的值沒有意義,是以無法準确評估模型的預測精度。
為解決MAPE使用範圍受限的問題,可以在MAPE的基礎上引入反正切變換,得到平均反正切絕對百分比誤差(Mean Arctangent Absolute Percentage Error,MAAPE)。
MAAPE不僅保留了MAPE便于在不同模型和資料之間比較的優點,而且其取值範圍始終在閉合區間以内,不會出現過大的異常值,具有更好的魯棒性。
MAAPE的原始取值範圍為0到π/2,為了使MAAPE具有和MAPE一樣的直覺數值展現,需要對MAAPE的值進行調整。
當MAPE為50%時,MAAPE的原始值為π/6,以這兩個值相等且均為50%為基準進行調整,MAAPE%的計算公式如式7所示。
MAAPE%=3π×1n∑t=1nθt=3π×1n∑t=1narctan(et/xt)×100%(7)
其中,xt為實際值,et為絕對誤差(即實際值與預測值之差的絕對值),θt為相對誤差(et/xt)的反正切變換。
平均絕對誤差(Mean Absolute Error,MAE)可以直接反映模型的誤內插補點,通過綜合MAE和MAAPE%兩個評價名額,可以更好地反映模型的預測精度,并用于不同模型之間的精度比較。
算例分析
氣象耦合特征分析
本文選取美國Pecan Street能源項目資料庫中的一個居民小區的39個光伏系統總負荷作為研究對象,這些使用者分布式光伏系統的具體地點為美國德克薩斯州首府奧斯汀市的MUELLER綠色能源社群,光伏出力資料的時間範圍為2014年1月1日至2015年3月30日。
奧斯汀市位于美國德克薩斯州中部,地處北緯30°左右,氣候與大陸杭州、甯波等城市類似,本文從美國國家海洋和大氣管理局(NOAA)下載下傳了該市這段時間内的詳細氣象資料,包括12維每小時氣象資料以及每日的天氣類型。
由于每個光伏系統對應的氣象資料相同,為避免單個光伏系統出力随機性的影響,首先将39個光伏系統的出力求和作為一個整體。
另外,考慮到光伏系統在夜間出力為0,分兩種情況分别剔除夜間資料和不剔除,計算各維氣象因素與總光伏出力之間的NMI。
表1 多元氣象因素與光伏出力NMI計算結果
氣象因素 | NMI(剔除夜間) | NMI(不剔除) | 氣象因素 | NMI(剔除夜間) | NMI(不剔除) |
氣溫 | 0.1819 | 0.1442 | 風速 | 0.0785 | 0.0687 |
結露溫度 | 0.1014 | 0.0688 | 雲遮擋量 | 0.1928 | 0.1351 |
濕度 | 0.2682 | 0.2059 | 輻照度 | 0.8942 | 0.9104 |
能見度 | 0.1287 | 0.0809 | 降水量 | 0.0236 | 0.0112 |
體感溫度 | 0.1748 | 0.1477 | 降水機率 | 0.0589 | 0.0390 |
氣壓 | 0.0644 | 0.0526 | 降水類型 | 0.0436 | 0.0244 |
在剔除了夜間資料的情形下,除輻照度外(輻照度夜間也為0)其餘氣象因素的NMI值均有一定程度的增大,是以以剔除夜間資料的NMI值為準,篩選出NMI值大于0.1的氣象變量作為後續耦合特征降維的對象,分别為:氣溫、結露溫度、濕度、能見度、體感溫度、雲遮擋量及輻照度。
另外,計算上述特征與光伏出力間的皮爾森相關系數,以更好得顯示其正負相關關系。
多元氣象因素與光伏出力皮爾森相關系數
注意到氣溫、結露溫度、體感溫度的機關相同,輻照度和雲遮擋量之間可能也存在相關關系,采用主成分分析法消除特征間的相關性,進一步降低氣象因素的次元。
主成分變量貢獻率示意圖
通過NMI和PCA的特征選擇和降維,得到三維天氣綜合變量來代替原始的12維天氣資料,其中第一主成分主要包含氣溫、體感溫度及結露溫度資訊,第二主成分主要包含濕度和雲遮擋量資訊,第三主成分蛀牙包含輻照度與能見度資訊,各主成分互相獨立,減少了雜糅資料的幹擾,有利于光伏出力預測模型的建立。
分布式光伏出力預測
基于改進XGBoost算法對39個使用者的分布式光伏出力進行預測,設定原始XGBoost模型的超參數,并依據本文的內建方法對10個XGBoost模型進行Bagging組合,另外采用傳統BP神經網絡和随機森林(RF)模型作為對比,。
XG預測模型參數表
模型 | 超參數 | 取值 |
XG | 訓練集天數 | 100 |
內建模型組數 | 10 | |
樹最大深度 | 6 | |
疊代次數 | 200 | |
學習率 | 0.01(前100次) | |
0.001(後100次) | ||
基模型數量 | 200 | |
目标函數 | reg:gamma | |
其他參數 | 預設值 |
BP預測模型參數表
模型 | 超參數 | 取值 |
BP | 訓練集天數 | 100 |
隐含層層數 | 2 | |
隐含層拟合函數 | trainlm | |
隐含層激活函數 | tansig | |
輸出層激活函數 | logsig | |
學習率 | 0.01 | |
最大疊代次數 | 10000 | |
目标誤差 | 0.005 |
RF預測模型參數表
模型 | 超參數 | 取值 |
RF | 訓練集天數 | 100 |
決策樹數量 | 200 | |
樹最大深度 | 6 | |
最大特征數目 | 4 | |
其他參數 | 預設值 |
日前預測時,預測日前一日的光伏出力資料已知,模型的輸入輸出資料結構如下面。
日前預測模型輸入輸出資料結構
不考慮夜間光伏出力為0的情況,對兩個典型日下的光伏出力總功率進行預測。
連續晴朗日下光伏出力總功率預測結果及輻照度曲線
突然陰雨日下光伏出力總功率預測結果及輻照度曲線
在兩個典型日下,本文提出的XG模型的預測精度均高于傳統BP模型和随機森林模型。
另外通過對比兩典型日下的MAPE、MAAPE及MAE名額,雖然XG模型的MAE差距很小(即預測功率的絕對數值誤差較小),但MAPE的數值差距很大,甚至在BP模型中達到了144.35%,這對模型評價是非常不利的。
而采用MAAPE替代MAPE名額後,在低誤差情形下的數值差距不大,高誤差或低基準值情形下MAAPE的數值相對較低但仍不能準确反映模型實際精度,是以将MAAPE和MAE名額結合進行模型評估的方式更為合理。進一步選取XG模型對連續50天的光伏出力總負荷進行預測。
XG模型預測結果評價名額示意圖
50天預測結果的MAE平均值為6.934kW,MAAPE平均值為16.73%,當MAE大于8kW且MAAPE大于25%時,可認定為該日預測誤差偏大,總計9日。
當MAE小于6kW或MAAPE小于10%時,可認定該日預測誤差較小,總計28日。
使用者側分布式光伏數量的逐漸增加,為了協助使用者消納分布式光伏發電、提高使用者用電品質和提高使用者儲能的使用率,本文提出了基于氣象耦合特征分析及改進XGBoost算法的使用者分布式光伏短期出力預測模型。
該模型一方面針對單一預測算法容易出現過拟合及存在樣本依賴等問題,引入了Bagging思想對XGBoost預測模型進行了改進,提高了模型的整體預測精度和泛化能力,另一方面針對多元氣象因素彼此耦合且存在與光伏出力無關資料幹擾的缺陷,提出利用互資訊與主成分分析挖掘相關性和去除資料内部耦合的方法,進一步提高了模型對氣象資料的跟蹤能力。
相比于傳統BP神經網絡模型和随機森林模型,本文所提出模型無論在相對名額(MAAPE)還是絕對名額(MAE)上的整體預測精度均較高,在50天預測結果中MAE平均值為6.934kW,MAAPE平均值為16.73%,超過半數情形下的相對誤差小于10%,具有良好的實際應用能力。
總體來看,本文所提出的模型整體預測精度較高且穩定性較強,其中預測誤差偏大的情形均出現在天氣變化劇烈的時候,後續還能進一步區分天氣變化的劇烈程度進行相似樣本選取,進而進一步改善模型的預測性能。
Guermoui M , Melgani F , Gairaa K , et al. A comprehensive review of hybrid models for solar radiation forecasting[J]. Journal of Cleaner Production, 2020, 258(5):120357.
Zhang X , Fang F , Liu J . Weather-classification-mars-based photovoltaic power forecasting for energy imbalance market[J]. IEEE Transactions on Industrial Electronics, 2019:8692-8702.
G. G. Kim et al. Prediction model for PV performance with correlation analysis of environmental variables[J]. IEEE Journal of Photovoltaics,2019,9(3): 832-841.