陳海宏,易永利,黃珅,韓靜怡
(1.國網浙江省電力有限公司溫州供電公司,浙江 溫州 325000;2.億可能源科技(上海)有限公司,上海 200090)
目前,在“雙碳”背景下[1],我國正在全力推進光伏發電的大規模開發與高質量發展,光伏發電呈現出良好的發展前景[2-3]。隨著集中式光伏發電開發的有序推進,我國在大力推廣光伏產業的同時,也在開展光伏發電功率預測相關工作[4]。在電網調度過程中,如果在獲得精確的光伏發電功率預測結果的基礎上制定生產計劃,則能夠保障電力系統連續、可靠供電,有效降低發電成本。
但光伏發電功率數據的準確性問題加大了光伏發電功率預測的難度,增加了光伏發電功率預測的不確定性,當光伏電站并網運行時,電力系統的穩定性與經濟性會受到影響[5]。可靠的預測算法模型和精細的氣象預報數據是準確預測光伏發電功率的決定性因素,而多變的微氣象環境使功率預測變得更加復雜,傳統的預測方法在建模難度與預測精準度上受到諸多限制。因此,全面了解和掌握先進的光伏發電功率預測方法、利用人工智能算法實現更加精確的光伏發電功率預測,是提升電力系統可靠性與經濟性的有效解決方案[6]。
近年來,國內外學者通過不同算法建立模型,提出了多種光伏發電預測方法。劉家慶等[7]借助ARIMA(自回歸差分平均)方法和SVR(支持向量機)算法,通過考慮功率修正建立模型從而預測光伏發電功率。李秉晨等[8]基于Kmeans 和CEEMD(完備總體經驗模態分解)、PE(排列熵),與LSTM(長短期記憶)神經網絡結合建立了用于光伏發電功率預測的模型。劉國海等[9]提出了一種結合注意力機制與GRU(門控循環單元)的Attention-GRU 短期光伏發電功率預測模型。A.I.Salamanis 等[10]提出了一個綜合的基準框架,用于多步驟短期光伏發電預測的分析型、數據型和混合型模型。A.A.H.Lateko 等[11]提出了一種基于堆疊集成模型的提前一天到三天的光伏功率預測方法。C.C.Liu 等[12]根據預測過程、需求、時間和空間尺度對預測方法進行分類,羅列出了合適的評價指標。以上算法中,ARIMA等方法對于非線性時序的預測效果較差,而LSTM、GRU算法在模型訓練過程中有較多超參數需要考慮,都不能對文字標簽進行處理。
本文提出了一種基于CatBoost 算法的短期輸出功率預測模型,該方法對于類別型特征有較好的識別能力,且降低了對超參數的要求。結合時間特征、歷史光伏功率特征和氣象因素特征對未來的光伏發電功率進行預測,同時采用SHAP(SHaplay 加法解釋)方法對所構造的特征進行篩選,進一步提高了光伏發電功率預測精度。最后通過實例驗證了所提模型在光伏發電短期預測中的優越性和可靠性。
常用的短期預測方法大致可分為線性預測法、非線性預測法和綜合預測法[13]。
1)線性預測法通過結合歷史氣象數據與歷史輸出功率數據來預測光伏發電功率。目前大多采用ARMA(自回歸移動平均)、ARIMA、ARIMAX(擴展的自回歸移動平均)3種方法。
2)受氣象因素的影響,光伏發電功率不穩定,為提升預測的精度,可以采用非線性預測法。首先通過對外界影響因素與光伏發電功率的分析,建立非線性模型,進而進行光伏發電功率預測[14]。
3)綜合預測法是將非線性預測法與線性預測法相結合產生的預測方法。與單一預測方法相比更為復雜,但預測精度也隨之提升。
目前,為實現短期光伏發電的精確預測,提出了時間序列法、回歸分析法、SVR、模糊預測法、人工神經網絡等。諸多預測方法具有很好的預測精度,但因有過多的超參數調優,并且數據預處理過程中類別變量處理方式較為復雜,容易降低訓練速度,影響預測效果。
另外,考慮到氣象因素與突發事件對光伏功率預測精度的影響,本文在前期有針對性地收集了光伏電站附近的數值氣象預報數據、天氣實況數據、光伏電站機組特性數據、檢修計劃數據、光伏電站出力數據等多種類型數據,訓練AI(人工智能)預測模型,預測未來光伏發電出力[2]。由于光伏發電功率具有不平穩、非線性特征,且外圍數據中存在較多類別變量(如天氣類型等數據),因此本文嘗試采用CatBoost 算法建立光電預測模型[15]。
1.1.1 CatBoost算法
CatBoost 和XGBoost、LightGBM 是GBDT(梯度提升樹)的主要算法。相比于傳統的GBDT,XGBoost算法得到的模型更加簡單,LightGBM算法的訓練速度更快,而CatBoost 算法的準確率更高。
CatBoost 算法的機器學習參數少,支持類別變量且精度高,在處理類別數據方面具有顯著優勢,與其他算法相比,準確性更好并提高了泛化能力[16]。在光伏發電功率的預測過程中,可能會出現梯度偏差及預測偏移,從而導致過擬合問題,而CatBoost 恰好能夠有效解決該問題。此外,CatBoost算法減少了對廣泛的超參數調整的需求,具有很高的魯棒性。與XGBoost、LightGBM 相比,CatBoost具有以下特點:
1)插入了能夠自動將類別型特征處理為數值型特征的新算法。
2)通過組合類別特征處理不同特征的聯系,豐富了特征維度。
3)采用排序提升處理數據集的噪聲點,解決了預測偏移的問題。
4)采用完全對稱樹作為基模型,避免了過擬合問題,增加了可靠性,加快了預測進程。
1.1.2 CatBoost特征處理
GBDT 中存在離散的特征(類別型特征),此類特征在算法輸入時需要經過處理。最簡單的處理方法是Greedy TS,但Greedy TS采用類別特征對應標簽的平均值來替換離散特征,當訓練數據集與測試數據集的數據結構、數據分布不一致時,標簽所替代的離散特征丟失了信息,會導致條件偏移。由此提出采用CatBoost 算法對Greedy TS進行改進[17]。
通過添加先驗分布項,使得數據分布免受噪聲和低頻的影響,即打亂數據集D={(xi.yi)}i=1,…,n順序,打亂后的序列是σ=(σ1,…,σn),遍歷σ1到σn,用遍歷到的前p個記錄計算類別型特征的數值,具體公式如下:
式中:p為添加的先驗項;a為權重系數。
1.1.3 參數優化
在參數優化方面有多種選擇,最常用的是Grid Search和它的一些改進方法。
1)Grid Search
GSA(網格搜索算法)是一種窮舉搜索,它對輸入到搜索空間的每個超參數進行組合。將各個參數的可能取值進行排列組合,列出所有可能的組合“網格”。通過循環遍歷,嘗試每一種組合,最后選擇表現最好的參數組合為每個組合創建一個模型并進行比較。網格搜索是目前比較常見的超參數優化算法,其缺點也很明顯:確定最優超參數是一個NP-Hard 問題,因為需要處理的是超參數的組合,所以效率低下。
2)Optuna超參數優化算法
由于Grid Search 沒有包含任何結構化的方法來搜索最優超參數集,因此考慮采用新算法對其進行優化,以提高效率。Optuna 超參數調優算法是基于貝葉斯優化算法中的樹形帕曾優化器(Parzen)對模型參數進行優化的方法。
Optuna 可以通過不斷試錯的方法找到最好表現的最優超參數值,具有以下主要特征:可實現分布式并行優化;可修剪無希望調優的試驗;通用于多個機器學習框架。
Optuna 主要基于運行的歷史數據來確定接下來需要測試的超參數各值的組合?;谝延袛祿?,選擇一些超參數組合區域并在該區域中進行超參數搜索嘗試。隨著不斷獲取新的結果,它也將更新這一區域并繼續搜索。在不斷重復搜索、評價更新的過程中獲取表現更好的超參數。
Optuna 可以在很復雜的空間中實現超參數優化;可以通過預測終止可能性較小的參數區間,把更多的算力用于可能性更高的區域以提高搜索效率。整體而言,這是一種基于改進貝葉斯的試錯算法,當向某一區域嘗試得到的效果變差即損失不再減小時停止該區域的搜索,嘗試到錯誤即淘汰,最后選出最優的區域[18]。
通常來說,短期光伏預測需要考慮多種因素,根據這些因素提取相應的特征作為模型的輸入,從而提高模型的預測精度。但如果模型考慮了過多不必要的特征,反而容易陷入過擬合,降低模型的準確性;并且過多的特征也會導致模型變得更加復雜,在訓練和預測時增加計算耗時。因此,本文提出利用SHAP 方法對模型進行解釋,進而得到各個特征重要性,以便在進行特征選擇時剔除特征變量中不重要的特征。
1.2.1 SHAP
SHAP 以博弈論思想為基礎,用于解釋復雜算法中某一個樣本各個特征對預測結果產生的影響。SHAP 通過特征的歸因值來解釋其對模型預測的重要性。歸因值為正,代表該特征對模型預測體現正向作用;反之則為負向作用。模型的預測值由模型預測的平均值和特征的歸因值相加得到[19]。
如圖1所示,根據不同特征對光伏預測影響程度的重要性自上而下排序,紅色代表歸因值的正向作用,藍色代表歸因值的負向作用。分析可知,歷史同時刻負荷、氣象數據中的動量通量、長波輻射通量、短波輻射通量、感熱通量、云量、空氣密度、2 m相對濕度、溫度的部分統計量是影響光伏預測性能比較重要的變量。

圖1 基于SHAP方法的特征重要性排序Fig.1 SHAP-based ranking of features by the dominance
1.2.2 時間特征
選擇合適的時間特征可提高預測的精度。由前文分析可知,光伏發電功率數據具有日、月、季節的周期特性。因此,本文創建了如表1所示的時間特征[20]。

表1 時間特征Table 1 Time characteristics
1.2.3 功率特征
短期光伏預測具有明顯的周期性規律,具體體現在:不同日相同采樣點間的相似性;不同日之間整體變化規律的相似性;不同周、月、季節的相似性。
同時,受溫度等氣象因素的影響,光伏具有明顯的時滯特性。因此,本文構建了如表2所示的光伏歷史數據相關特征。

表2 歷史發電功率特征Table 2 Historical generation power characteristics
1.2.4 氣象因素特征
利用氣象因素,采用更合理的數學模型與算法,可進一步提高光伏預測精度,減小誤差。因此,選擇的氣象數據特征見表3。

表3 氣象因素特征Table 3 Characteristics of meteorological factors
開展光伏發電功率預測,首先要通過對現有的光伏歷史數據進行數據預處理和相關分析,尋找其在時序上的結構性與規律性;同時分析外圍因素(如溫度、光照等天氣因素)對光伏發電功率預測的影響,利用特征工程建立相應模型。預測流程如圖2所示,具體步驟如下:

圖2 預測流程Fig.2 Prediction flow
1)數據預處理:數據預處理是建立光伏發電功率預測模型的首要步驟。針對光伏以及相關的外圍數據,本文考慮采用基于回歸的缺失值處理、異常檢測、魯棒統計方法等多種方法對歷史數據進行預處理,建立較為完整的預測訓練數據集,用于預測模型的訓練。
2)功率曲線聚類:功率曲線統計的是多個光伏電站發電功率的總和。通常的聚類方式是根據日期屬性(如月、季節等)對數據集進行劃分,即相似日方法。本文在實際數據預處理后,通過對數據特性的分析,結合額外因素進行更有針對性的聚類,并在此基礎上構造合適的統計特征。
3)歷史數據分析:歷史數據分析是建立光伏發電功率預測模型的必要條件。本文考慮采用時間序列分析、相關性分析等方法對光伏歷史數據及其外圍數據進行分析。
4)特征工程:特征工程包括特征選擇、特征轉化、特征提取等。本文結合分析結果,針對光伏發電功率以及相關數據,利用SHAP 分析方法進行特征篩選??紤]在獲得數據后進行詳細的探索性分析,進而建立針對本文的功率預測特征集。特征集考慮的數據包括預測區域光伏歷史數據和天氣預報等數據。
5)模型訓練:首先將數據分為訓練數據、測試數據,其次訓練數據細分為訓練集和驗證集,測試數據作為測試集。將所選擇的特征作為輸入,當日光伏發電功率作為輸出,利用訓練集訓練模型,同時利用Optuna 方法優化調整模型參數,構建最佳模型。
6)應用:根據選擇的多維特征和訓練好的模型對未來光伏發電功率進行預測。
為衡量預測模型的性能優劣,本文采用多種評判方式對模型預測精度進行評估,主要評價指標如式(2)—(5)所示[15,21-22]。
式中:yi為第i時刻的實際采集數據;為第i時刻的預測數據;n為預測值個數;SMAE、SMSE、SRMSE、SR2分別表示光伏樣本數據的MAE(平均絕對誤差)、MSE(均方誤差)、RMSE(均方根誤差)、決定系數。
本文采用某光伏電站2019-01-01 T 00:00 至2020-12-31 T 23:45 的光伏發電功率數據進行分析。該電站額定容量為2.41 MW,系統采樣頻率為每15 min一次,即一天96個點。選擇前80%數據為訓練數據,剩余20%數據為測試數據。
首先根據該光伏電站額定容量、擴容信息、限電信息對其歷史發電數據進行缺失值、異常值的數據預處理,依據該電站的額定容量、檢修信息、擴容信息進行標幺化處理,標幺化基值為可用功率,得到該電站的標幺值(即歷史光伏發電功率與可用功率之比),這樣可有效避免因訓練集時間跨度長而變電站部分檢修或擴容導致歷史光伏發電功率驟減、驟升,進而影響預測精度。
選取處理后的部分光伏數據示于圖3??梢钥闯?,光伏發電功率具有很明顯的日周期特性[23]。

圖3 光伏發電功率時序圖Fig.3 Sequence diagram of PV generation power
太陽輻照度是影響光伏電站發電功率的主要因素,具有以年、月、日為周期變化的特性,因此會對光伏發電功率帶來相應的周期性變化。因此,本文根據月屬性對光伏歷史發電功率數據集進行聚合分析,聚合結果如圖4所示。

圖4 光伏數據按月屬性聚合圖Fig.4 Diagram of monthly PV data aggregation
圖4 的x軸表示采樣點,即00:00—24:00 每15 min 采樣一次,共96 個采樣點。12 條曲線分別是1—12月的月均值曲線。從圖4可以看出,光伏發電功率具有明顯的日周期特性,出力大致集中在一天中的8:00—16:00,并在12:00—14:00 達到頂峰,太陽落山后光伏出力值為0;從每條曲線非0值寬度可以看出,光伏日發電時長明顯隨著日照時間長短而改變,冬天最短,夏天最長;從每條曲線高度可以看出,光伏發電功率大小明顯隨著月份、季節變化,冬天較低,夏天較高。因此光伏發電功率具有明顯的日、月、季節周期性特征。
根據1.2 節所選擇的特征得到如圖5 所示預測模型。通過監測歷史光伏發電功率、天氣數據、時間特征,結合當天天氣數據、時間特征以及月度、年度光伏發電功率特征數據,利用CatBoost算法預測當日光伏發電功率。

圖5 光伏預測模型結構Fig.5 PV prediction model structure
2.3.1 基于CatBoost算法的預測模型優勢
圖6是2021年6月某日光伏預測曲線,其中曲線分別是原始光伏曲線和基于DTR(決策樹回歸)、KNN(K 最鄰近)、GBDT、LightGBM、CatBoost 算法的預測結果,均是利用Optuna 方法進行超參數調優后的結果。從圖6可以看出,所有模型的預測曲線與原始時序曲線變化趨勢均保持一致,但基于CatBoost 算法的模型預測結果更貼近真實曲線。

圖6 光伏發電功率預測曲線Fig.6 Diagram of prediction curves of PV generation power
表4為光伏預測評價指標。可以看出,本文所提出的基于CatBoost 算法的光伏預測模型的SRMSE分別比DTR、KNN、GBDT、LightGBM 下降了26.66%、7.5%、22.14%、20%,說明在不同的評價指標下,基于CatBoost 算法的模型預測精度優于其他模型,CatBoost 用于光伏發電功率預測具有很高的精度,適用于真實數據預測。

表4 不同算法的光伏預測誤差評價指標對比Table 4 Comparison of PV prediction error evaluation indicators of different algorithms
2.3.2 基于CatBoost算法的模型預測性能
為了驗證本文所構建的特征的優異性和有效性,選取以下5種光伏模型進行驗證:模型1,考慮近2 天光伏歷史數據的CatBoost 算法模型;模型2,考慮近7天光伏歷史數據的CatBoost算法模型;模型3,在模型2基礎上增加相關時間特性及光伏統計特性的CatBoost 模型;模型4,在模型3上增加天氣特征的算法CatBoost模型;模型5,對模型4中特征先根據SHAP值篩選再利用CatBoost預測的模型。
圖7為采用5種模型得到的2021年6月某日光伏預測曲線與原始光伏曲線的對比??梢钥闯?,所有模型的預測曲線與原始時序曲線變化趨勢保持一致,但模型5的結果更貼近真實曲線。

圖7 光伏發電功率預測曲線Fig.7 Prediction curves of PV generation power
表5 列出了不同類型的光伏預測誤差評價指標,可以看出,模型5 的SRMSE比模型1—4 分別降低了38.11%、32.15%、19.86%、19.00%,說明本文提出的模型誤差評價指標更優,所采用的CatBoost 算法具有很好的預測性能,且提出的先根據SHAP 值特征篩選再利用CatBoost 預測的方法有效提高了預測精度,適用于真實數據預測。

表5 不同類型的光伏預測誤差評價指標對比Table 5 Comparison of different evaluation indicators for PV prediction errors
經對比分析,本文提出的基于CatBoost算法、融合多維特征的模型具有很好的預測性能,預測精度較高。本文提出的光伏預測模型SRMSE為157.45 MW,結合案例中光伏額定容量2.41 MW分析知,SRMSE控制在額定容量6.5%左右,而前期調研時了解到國內外同類光伏預測項目的SRMSE與額定容量的比值約為10%,從而說明本文所提光伏預測模型的優越性。
在目前構造以新能源為主體的新型電力系統的大背景下,更加準確的光伏發電功率預測技術成為電網規劃和電力調度不可或缺的一部分,本文提出了一種基于CatBoost 算法、融合多維特征的預測模型。
1)該模型通過特征之間的聯系,使用組合類別特征,豐富了特征維度。CatBoost 還解決了梯度偏差以及預測偏移的問題。
2)利用SHAP 方法進行特征分析篩選,論證了結合光伏發電原理與發電功率特征分析結果的特征篩選對預測精度提升的重要性。
3)通過在同樣特征上基于不同的機器學習算法模型的預測精度的對比,證實了基于CatBoost算法的模型具有很好的預測性能。
在進一步提升光伏功率預測精準度的探索中,有兩個方向值得重點關注:一是考慮到光伏出力本身的波動性與不確定性,加入實時校正模塊,使得在歷史數據中訓練的模型可以在線自我調節,更適合當前的氣象情況;二是可嘗試多種模型的組合,使得功率預測能兼顧到各個模型在不同時間段、不同特征上的局部優勢,最終得到整體最優的模型和最精準的預測結果。