?

基于改進Stacking與誤差修正的短期太陽輻照度預測

2023-12-16 04:47王珊珊吳霓何嘉文朱威
南京信息工程大學學報 2023年6期
關鍵詞:輻照度精度誤差

王珊珊 吳霓 何嘉文 朱威

太陽輻照度;光伏發電;Stacking算法;回歸預測算法;交叉驗證

0 引言

太陽能因其典型的波動性與間歇性[1],造成光伏發電系統輸出功率的不穩定性,對光伏發電并網與電網的安全穩定運行構成巨大挑戰[2-3],同時也阻礙了大規模光伏發電并網.在光伏功率預測的眾多影響因素中,太陽輻照度的影響是最直接、最顯著的,因此準確的輻照度預測能夠提高光伏發電系統輸出功率的預測精度,有著重要的理論與應用價值[4].

近年來,隨著機器學習技術的興起,國內外許多學者將以SVR(Support Vector Regression)[5]、神經網絡和隨機森林為代表的機器學習算法用于輻照度預測問題中[6-8].文獻[9]通過對9項氣象參數的不同組合作為輸入,對模型的預測精度進行分析,提出一種基于非線性自回歸神經網絡的輻照度預測模型,有效提高了預測精度.文獻[10]利用EMD(Empirical Mode Decomposition,EMD)和LMD(Local Mean Decomposition)將原始數據分解為多個分量序列,然后對各分量分別進行LSSVM(Least Square Support Vector Machine)預測,最后將各分量的預測結果進行疊加得到最終預測值,相比LSSVM單獨預測,精度有了明顯提升.單一的預測模型都是對特定假設空間進行預測,所以用單一模型來預測輻照度不可避免會存在預測誤差.而集成模型相比單一模型能夠集成多個模型的不同特點,對各個模型取長補短,從而提高預測性能,Stacking模型便是目前最熱門的集成模型之一.文獻[11]通過構建一種基于同質SVM(Support Vector Machine)弱學習器的Stacking模型,得到了比單一模型更精確的預測效果.文獻[12]提出一種新的向量表示法來穩定模型數據維度,并根據預測精度來調整Stacking基模型賦權,減少了輸出的噪聲和時間開銷.目前大多研究專注于提升預測模型的精度來提高輻照度預測效果,卻忽略了模型的預測誤差中也存在非常多的有用信息,這導致現有研究難以進一步提升短期輻照度預測的準確度.

為了解決以上問題,本文提出一種基于改進Stacking集成學習與誤差修正的短期輻照度預測模型.在數據優化層面,利用梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)模型計算輻照度數據集各分量的重要度并排序,清除其中的冗余特征,提高預測精度和運算效率.在算法創新方面,預測模型采用Stacking集成模型將4種差異性較大的算法融合,通過異質集成得到優于個體學習器的預測精度和泛化能力.針對Stacking模型平均處理測試集預測結果而帶來的掩蓋學習器優劣的問題,提出對初級層的輸出根據各模型的預測精度進行加權處理.同時,將Box-Cox變換嵌入Stacking,此舉可有效提高數據的正態性、可加性和同方差性.在誤差修正層面,針對Stacking模型的預測誤差構建了基于隨機森林(Random Forest,RF)的輻照度誤差預測模型,并最終將改進Stacking模型的預測結果與輻照度誤差預測結果進行疊加以獲得最終預測結果.實驗結果表明,該集成模型具有優于單一模型和傳統Stacking模型的預測精度.

1 相關理論和方法

1.1 GBDT算法

GBDT是一種由多個弱學習器組成的迭代決策樹算法.該方法利用梯度增強算法來最小化損失函數,達到逼近真實值的目的,具有靈活性高、魯棒性強、預測精度高等特點.

將GBDT應用到特征重要度計算中,通過對決策樹中分裂節點增益進行計算并積累求和,從而對某個特征進行重要度評價.其中,特征j的全局重要性是以特征重要度平均值來度量的,其計算公式為

(1)

(2)

1.2 RF隨機森林

隨機森林[13]是一種基于決策樹的集成式機器學習算法,它在每一棵回歸樹建立隨機采樣樣本空間與特征空間,隨機屬性的引入減少了回歸樹模型間的相關關系,通過結合大量回歸樹來提高模型泛化能力,從而使算法具有效率高、精度高的特點.

1.3 Box-Cox變換

Box-Cox變換是一種基于極大似然估計的數據變換技術,計算過程簡單且無需先驗信息,能夠有效提升觀測的同方差性、正態性和可加性[14].

Box-Cox變換一般形式如下:

(3)

式中,λ為變換參數,y為原始因變量,y(λ)為新變量,Box-Cox逆變換為

(4)

參數λ采用最大似然估計進行計算,構造似然函數L*(λ)如下:

(5)

式中,n表示采樣次數,e2表示y(λ)方差的極大似然估計值,通過式(5)求解出使得L*(λ)取最大值的最優λ,利用該參數進行Box-Cox變換可以很大程度上提升數據的正態性和數據間的相關性.

1.4 其他模型

1)K最鄰近算法(KNN)原理

K最鄰近算法(k-Nearest Neighbor,KNN)作為一種經典的機器學習算法在理論上十分完善,具有算法簡單、容易實現、訓練效率高、對異常值不敏感等特點.該算法核心思想是對不同特征值之間的距離進行度量,通常采用歐式距離和曼哈頓距離.

2)XGBoost算法

XGBoost(eXtreme Gradient Boosting)算法是基于GBDT算法改進而來的,它通過增加正則項控制模型計算復雜度,并利用二階泰勒展開式并行計算特征分裂增益以提高模型預測精度、減少計算時間.

3)支持向量回歸機(SVR)原理

支持向量機應用于回歸問題形成了SVR,輸入向量按照既定非線性映射映射至高維特征空間進行線性回歸以獲得空間內非線性回歸的效果.在回歸運算時,將不敏感損失函數引入到構造中,以搜索到最優的分類面使得訓練樣本和該分類面之間的綜合誤差達到最小值.支持向量回歸在小樣本、高維、復雜數據上進行非線性回歸預測時展現出了優異的性能.

4)嶺回歸原理

嶺回歸(Ridge Regression)是一種正則化方法,通過舍棄最小二乘的無偏性和部分精確度,獲得了效果更好且回歸系數更符合實際的回歸過程.嶺回歸通過對損失函數增加懲罰項以控制線性模型復雜程度,增強了模型的穩健性.

2 基于Box-Cox變換的改進Stacking短期輻照度預測方法

2.1 Stacking集成學習模型

Stacking算法是一種分層集成的方法.不同于Bagging和Boosting算法整合同類型模型,Stacking算法能夠集成異質模型[15].在 Stacking 集成模型(圖1)的訓練過程中,通常使用K折交叉驗證法來劃分數據集和進行模型訓練,以減少過擬合的風險.首先將原始數據集以8∶2的比例劃分為訓練集和測試集,接著將訓練集等分地劃分為k個子集,分別選擇其中k-1個子集的并集作為訓練集,余下的1個子集作為驗證集,由此可獲得k組訓練集和驗證集.對每個基模型都采用這k組訓練集和驗證集進行學習器的訓練和驗證,并將預測結果配合樣本真實值標簽構造為新的訓練集輸入第二層元學習器訓練,最終得到的預測結果即為Stacking模型的最終預測結果.Stacking算法最突出的優勢是集不同模型之長,能夠對原始數據進行多角度的分析,使得模型獲得相比基模型更好的預測性能.所以基學習器應選擇性能優越且原理各異的模型,元學習器則應選擇泛化能力強的算法,以融合各基學習器預測的優點,達到最優的預測效果.本文選擇 SVR、XGBoost、KNN、嶺回歸作為基學習器,元學習器則使用泛化能力較強的嶺回歸算法.

圖1 Stacking模型結構Fig.1 Stacking model structure

2.2 改進Stacking

2.2.1 基于GBDT算法的特征篩選

利用GBDT對輻照度數據進行特征選擇,對各個特征進行重要度排序.各特征與實際輻照度之間的相關系數如表1所示.由表1的相關系數數據,剔除掉風向、氣壓2個相關性弱的特征,最終選擇溫度、時刻、風速、濕度作為模型輸入,降低計算復雜度,提升模型訓練效率.

表1 相關系數

2.2.2 基模型賦權與Box-Cox變換

Stacking算法中元學習器輸入向量來自基學習器的輸出,使得訓練數據被各層學習器重復學習,造成模型的嚴重過擬合.因而需要在模型建立前對數據進行交叉驗證劃分,提升模型的泛化能力[16].如果訓練得到的基學習器模型預測效果比較好,那么該模型的預測結果也會更接近真實值.但傳統的Stacking模型初級層對測試集預測結果的處理方式為直接平均處理,使得優秀模型的優越性被其他模型掩蓋.同理,效果較差的模型也會因與其他模型平均而掩蓋其預測性能的不足.因此,本文針對同一基學習器在每折上訓練得到的不同預測模型,依據其驗證集預測值和真實值之間的誤差求得權值,再給測試集對同一種基模型的不同預測結果賦權.設學習器所訓練出的模型預測誤差為eit(i=1,…,k),以此誤差在e1t,e2t,…,ekt精度總和中所占比例來分別確定權值ρ1,ρ2,…,ρk,然后對測試集的輸出結果賦權,可以使精度更高的預測模型發揮其優越性,增大其對最終結果的影響,并降低精度較低的模型對最終輸出的影響.

針對數據特征與輻照度數值相關程度不高的問題,本文對第一層輸入第二層的訓練集進行Box-Cox變換處理,此舉可提高訓練集的正態性和可預測性,提升各個特征與輻照度數據的內在聯系,進一步減小預測誤差.經過Box-Cox變換后的訓練集輸入元學習器,訓練完成后用此學習器輸入經加權處理后的測試集進行預測,得到預測結果.精度加權改進和Box-Cox預處理流程如圖2所示.

圖2 精度加權改進和Box-Cox預處理Fig.2 Accuracy-weighted improvement and Box-Cox preprocessing

精度加權和Box-Cox改進后的Stacking預測模型的流程如算法1所示.

2.2.3 基于RF模型的誤差修正方法

通過RF模型來尋找輻照度預測系統誤差的變化規律,有助于發現提高模型效果的有益規律,達到提升預測精度的目的.

輻照度預測誤差:

e=p′-p,

(6)

式中,e表示輻照度預測誤差,p′表示輻照度預測值,p表示輻照度真實值.

算法1:基于Box-Cox的改進Stacking模型Input:訓練集 D={(x1,y1),(x2,y2),…,(xk,yk)}1for t=1,2,…,T do2for i=1,2,…,k do3第零層第t個同質基學習器k次訓練學習:{Zit=ht(xm,ym),i=1,…,k,t=1,…,T}→{Z1t,Z2t,…,Zkt}4第零層第T個異質基學習器學習訓練并構成新的數據樣本:{Zit=ht(xm,ym),i=1,…,k,t=1,…,T}→{(Z11,Zk1),…,(Z1Tt,…,ZkT)}5構成新的數據據樣本:Dnew={((Z11,…,Zk1),…,(Z1T,…,ZkT),ym)}6對新數據樣本作Box-Cox變換處理后輸入第一層7第一層預測算法δ訓練得到模型:H=δ((Z11,…,Zk1),…,(Z1T,…,ZkT))8計算第零層同質基學習器的誤差:{[(y1,y2,…,yk),…,(y1,y2,…,yk)]-[(Z11,Z21,…,Zk1),…,(Z1T,Z2T,…,ZkT)]}=9{[(e11,e21,…,ek1),…,(e1T,e2T,…,ekT)]}10權重計算:ρ11=(e21+…+ek1)/(e11+e21+…+ek1)?ρk1=(e11+…+ek-1,1)/(e11+e21+…+ek1)?ρkT=(e1T+…+ek-1,T)/(e1T+e2T+…+ekT)11對第零層測試集數據輸出進行權重分配:(ρ11g11,ρ21g21,…,ρk1gk1)(ρ12g12,ρ22g22,…,ρk2gk2)?(ρ1Tg1T,ρ2Tg2T,…,ρkTgkT)12end13end

計算輻照度初步預測值p′與實際值p誤差e,將其作為校正因子,將輻照度校正的補償值e添加到預測值p′中,獲得校正后的輻照度預測值.

2.2.4 改進Stacking模型總體流程

基于上述的GBDT算法、基模型賦權與Box-Cox變換、RF誤差修正,本文搭建了短期輻照度預測模型,如圖3所示.

圖3 基于改進Stacking與誤差修正預測模型流程Fig.3 Prediction process based on improved Stacking with error correction

具體思路如下:

1)利用GBDT算法對輻照度原始數據進行特征篩選,去除掉相關程度較低的冗余特征后,其余數據輸入改進Stacking模型.

2)采用XGboost、SVR、嶺回歸、KNN作為Stacking的基學習器,嶺回歸作為元學習器.對于同一基學習器用不同樣本進行訓練,基學習器訓練出的模型對驗證集的預測誤差為eit(i=1,…,k),以此誤差在e1t,e2t,…,ekt精度總和之中所占比值來確定權值ρ1,ρ2,…,ρk,然后對第一層輸入第二層測試集的輸出結果進行賦權.

3)對第一層輸入第二層的訓練集進行Box-Cox變換來提高訓練集的正態性和可預測性.

4)經過Box-Cox變換處理的訓練集輸入元學習器,訓練完畢之后,用此學習器對加權過后的測試集進行預測,得到預測結果.

5)采用上述模型進行初步預測后,將初步預測的誤差數據輸入RF模型中訓練,由此獲得誤差分布模型.將初步預測結果與誤差預測值進行疊加得到最終預測結果.RF誤差修正模型可以有效彌補初步預測模型本身存在的誤差,進一步提高預測的準確度.

3 算例分析

3.1 數據選取

為驗證本文模型對于短期輻照度預測的有效性,將中國北方某光伏電站作為具體研究對象.選取2017年2月1日至2018年1月31日的輻照度數據作為原始數據集,共2 920個樣本數據.輻照度數值采用太陽總輻射量,采樣間隔為3 h,每日采樣8個點,包括地表太陽輻照度和風速、風向、溫度、濕度、氣壓共5項觀測指標.將數據集按8∶2劃分,前80%的數據作為訓練集,后20%數據作為測試集,進行回歸預測.

3.2 模型評價指標

本文選取均方根誤差(ERMSE)、平均絕對誤差(EMAE)和決定系數(R2)作為輻照度預測模型的效果評價指標,其中:R2用來檢驗模型的擬合度,R2越大表明模型擬合程度越好;MAE、RMSE則用來檢驗預測模型的精度,它們值越小說明精度越高.具體的計算公式如下:

(7)

(8)

(9)

3.3 仿真實驗及結果分析

首先,設計第一組實驗,對比Stacking模型與其各個基模型在輻照度短期預測上的性能,各模型預測值與輻照度實際值的橫向對比結果如圖4所示,各模型的絕對誤差如圖5所示,各模型的評價指標值如表2所示.

表2 不同模型的評價指標

圖4 不同模型預測結果對比Fig.4 Prediction result comparison between Stacking method and traditional models

圖5 不同模型的預測誤差對比Fig.5 Prediction error comparison between Stacking method and traditional models

由圖4、5和表2分析可知:Stacking模型相較于其基模型中的單一模型KNN、SVR和嶺回歸,R2分別提升0.118、0.424和0.504,與深度學習模型LSTM相比,R2指標提升0.101;將EMD和LMD分解與集成模型XGBoost結合后,R2分別達到0.923和0.934,與XGBoost直接預測相比分別提升0.042和0.053,但仍低于Stacking的0.969.因此,相較于其他傳統機器學習、深度學習方法和集成學習模型XGBoost,Stacking模型在太陽輻照度的短期預測上有著更高的精度,擬合能力更強.

為了顯示本文模型的優越性和各改進點的有效性,搭建了以下4種Stacking對比模型:

1)模型1:經典Stacking模型(Stacking).

2)模型2:對傳統Stacking模型進行GBDT特征篩選的模型(GBDT-Stacking).

3)模型3:對傳統Stacking模型預測結果使用RF算法進行誤差修正(Stacking-RF).

4)模型4:對傳統Stacking模型進行權重分配與Box-Cox處理的模型(賦權Stacking).

由此設計了消融實驗來分析各個改進點對Stacking模型預測性能的影響,并將各模型的預測結果與輻照度實際值進行橫向對比,結果如圖6所示,各消融實驗模型的絕對誤差如圖7所示,消融實驗模型的評價指標值如表3所示.

表3 不同模型的評價指標

圖6 對比模型與本文所提模型的預測結果Fig.6 Prediction result comparison between the proposed method and classic or modified Stacking models

圖7 對比模型與本文所提模型預測誤差Fig.7 Prediction error comparison between the proposed method and classic or modified Stacking models

由表3可知:本文模型相較于Stacking、GBDT-Stacking、Stacking-RF及賦權Stacking模型,R2分別提升0.024、0.014、0.011和0.006,MAE分別降低65.3%、61.3%、44.7%和37.1%.另外還可以看出:模型4相較于擁有相同學習器的模型1預測效果提升明顯且誤差波動較小;模型2和模型3也可顯著提升Stacking集成模型的預測精度,其MAE分別降低10.4%和37.3%.因此,本文模型能準確預估不同時期的輻照度變化趨勢,預測準確度較Stacking模型有較大提升.

4 結語

本文將基于Box-Cox變換和權值分配的改進Stacking模型應用于短期輻照度預測領域,使用4種相互異質的算法作為學習器,充分利用各算法在數據特征結構與特征空間上的不同視角,從而使Stacking集成模型的優越性得以充分發揮.同時,采用GBDT算法進行特征選取和RF算法對誤差進行修正,達到了簡化計算復雜度和提升輻照度預測精度的目的.實驗結果表明:

1)通過對數據進行特征重要度分析,篩選掉相關度較弱的特征,達到了過濾冗余特征,構造出效率精度更高、復雜度更低的獨立預測模型的目的.

2)引入誤差修正算法計算擬合Stacking集成模型預測結果的動態誤差,獲得余項預測值,通過加法模型融合預測值與余項得到最終輻照度預測值.結果表明,通過將余項融合進預測結果能降低預測誤差.

3)通過與單一預測模型以及傳統Stacking模型相比,表明本文所提出的改進Stacking模型具有良好的穩定性和較高的預測精度.

猜你喜歡
輻照度精度誤差
角接觸球軸承接觸角誤差控制
Beidou, le système de navigation par satellite compatible et interopérable
壓力容器制造誤差探究
基于DSPIC33F微處理器的采集精度的提高
中國典型地區水平總輻射輻照度頻次特征*
GPS/GLONASS/BDS組合PPP精度分析
九十億分之一的“生死”誤差
太陽模擬器輻照度修正方法的研究
太陽光輻照度概率分布參數對電網可靠性的影響
改進的Goldschmidt雙精度浮點除法器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合