楊凌升,李 偉
(南京信息工程大學 電子與信息工程學院,江蘇 南京 210044)
當可再生能源并入電網(wǎng)時,受太陽輻射及其他多種氣象要素變化的影響,光伏發(fā)電的輸出是間歇性和不可分割的,具有高度的不確定性,這可能導(dǎo)致功率不平衡和電力調(diào)度困難[1],[2]。因此,能夠有效地預(yù)測光伏系統(tǒng)發(fā)電功率是非常重要的。
光伏發(fā)電輸出功率數(shù)據(jù)可以看作是一個帶有噪聲的非線性非平穩(wěn)信號序列。在發(fā)電功率預(yù)測中,噪聲會對非線性變化分析產(chǎn)生不利影響。信號與噪聲的有效分離是研究非線性變化的前提。目前常用的非線性信號去噪方法包括小波變換[3]、經(jīng)驗?zāi)B(tài)分解 (EMD)[4]、擴展經(jīng)驗?zāi)B(tài)分解(EEMD)[5]等。其 中,EMD缺 乏 嚴 格 的 數(shù) 學 基 礎(chǔ),存在模態(tài)混疊和端點效應(yīng)[6],與EEMD一樣可能會引入固有模態(tài)分量(IMF)中的殘留噪聲和雜散模式[7]。變分模態(tài)分解(VMD)是一種自適應(yīng)的非遞歸信號分解方法,旨在克服小波變換需要預(yù)先定義,且具有非自適應(yīng)性質(zhì)[8]。VMD自提出以來已被廣泛應(yīng)用于非線性信號降噪[9]。近年來,許多學者將VMD應(yīng)用于光伏發(fā)電功率的預(yù)測。文獻[10]提出了基于VMD、信息論和多層感知器神經(jīng)網(wǎng)絡(luò)的預(yù)測模型。文獻[11]應(yīng)用VMD將光伏功率分解為不同的波動分量,并采用置信網(wǎng)絡(luò)和自回歸移動平均法對波動分量進行預(yù)測。VMD通過經(jīng)驗決策設(shè)置模態(tài)數(shù)和懲罰因子的參數(shù),如果二者設(shè)置不當,將會極大地影響模型預(yù)測精度[12]。而優(yōu)化后的變分模態(tài)分解(OVMD)技術(shù)則可以很好地解決這一 難 題[13]。
最小二乘法向量機 (LSSVM)是支持向量機(SVM)的一種變體,與人工神經(jīng)網(wǎng)絡(luò)相比,LSSVM不會出現(xiàn)過擬合或陷入局部極小值的傾向[14],近年來多應(yīng)用于對非線性時間序列的預(yù)測。在LSSVM中,懲罰系數(shù)和核函數(shù)參數(shù)的選擇對算法的穩(wěn)定性和精度有很大的影響[15],可通過優(yōu)化算法,例如麻雀搜索算法(SSA)、粒子群優(yōu)化算法、bat算法、灰狼優(yōu)化算法、蜻蜓算法、鯨魚優(yōu)化算法、蝗蟲優(yōu)化算法等對目標參數(shù)進行優(yōu)化,提高預(yù)測精度。SSA的性能在各方面都遠遠優(yōu)于其他基于生物的群體優(yōu)化算法,具有很大的應(yīng)用潛力[16]。SSA雖然能夠快速確定模型的關(guān)鍵參數(shù),但存在后期種群多樣性減少等問題,這將會影響模型的預(yù)測性能,而改進后的SSA則能利用t分布很好地解決這一問題[17]。
為了提高光伏輸出功率的預(yù)測精度,本文提出了一種基于OVMD-tSSA-LSSVM算法的光伏功率預(yù)測模型。以我國東南沿海某城市3a的原始光伏輸出功率數(shù)據(jù)以及主成分分析(Principal Component Analysis,PCA)降維后的數(shù)據(jù)集為例,對所提出的方法進行了驗證。結(jié)果表明,OVMDtSSA-LSSVM模型在預(yù)測精度和時間復(fù)雜度方面均優(yōu)于其他傳統(tǒng)模型。
SSA起源于麻雀的覓食行為和反捕食行為理論,該算法新穎、優(yōu)化能力強、收斂速度快,能夠快速確定模型的關(guān)鍵參數(shù)。本文采用基于自適應(yīng)t分布的麻雀搜索算法 (tSSA),通過引入自適應(yīng)t分布變異因子,使用算法的迭代次數(shù)作為自由度參數(shù),從而增加了種群的多樣性。與SSA相比,該算法的測試結(jié)果更好、精度更高,避免了算法陷入局部最優(yōu)。優(yōu)化后的麻雀位置為
VMD作為一種新的數(shù)據(jù)分解技術(shù),主要將原始數(shù)據(jù)分解為多個子模態(tài)序列,并自適應(yīng)地匹配每個子模態(tài)的最佳中心頻率和有效解,還可以實現(xiàn)對IMF的提取和分離。VMD通過構(gòu)造約束變分模型獲得中心頻率和模態(tài)帶寬,解決了EMD的端點效應(yīng)和模態(tài)分量混疊問題,具有更扎實的理論基礎(chǔ)。其增廣Lagrange表達式為
式中:k為模態(tài)的個數(shù);uk為分解后第k個模態(tài)分量;wk為第k個模態(tài)的中心頻率;λ為拉格朗日乘法 算 子;α為 懲 罰 因 子;?t代 表 求 偏 導(dǎo);δ(t)為 狄 拉克 函 數(shù);j為 虛 部;*為 卷 積 符 號;f(t)為 原 始 序 列信號。
最后,通過迭代更新得到各模態(tài)函數(shù)分量uk(t)和各分量相應(yīng)的中心頻率wk。在這一部分中,將通過識別特征頻率和互信息最大值優(yōu)化VMD的模態(tài)個數(shù)和懲罰因子。假設(shè)原始信號x(t)可以通過VMD分解為一系列固有模態(tài)分量,如式(3)所 示。
式 中:Ai(t)為 每 個IMF的 振 幅;φi(t)為 其 對 應(yīng) 的相位;IMFi(t)為分解后的一系列固有模態(tài)分量。
本文使用基于特征頻率的方法確定模態(tài)數(shù),首先對信號進行快速傅里葉變換(FFT),然后在整個頻譜中提取特征頻率,最后通過特征頻率決定每個模態(tài)的帶寬。特征頻率的分段區(qū)域數(shù)是確定模態(tài)數(shù)的關(guān)鍵,能夠確保一個模態(tài)中只包含一種頻率分量。
VMD懲罰因子 α的設(shè)置與分解性能和重構(gòu)性能有關(guān)。如果分解后的IMF包含原始數(shù)據(jù)的主要信息,則IMF與原始數(shù)據(jù)相似性更高,相似性可以通過互信息(MI)來反映。分解性能由IMF與原始數(shù)據(jù)之間的MI確定,以下是確定過程:
①設(shè) 置 α為[αstart,αend];
②利用VMD將原始數(shù)據(jù)分解為k個模態(tài);
③通過每個IMF和原始數(shù)據(jù)獲取MI;
④查找每個α下的局部最大值。
針對SVM中的不等式約束優(yōu)化問題,本文引入了LSSVM。LSSVM將SVM中的不等式約束轉(zhuǎn)化為等式約束,通過求解線性方程組實現(xiàn)最終目標函數(shù)。這在一定程度上降低了問題求解難度,提高了求解速度。假設(shè)有M個n維訓練樣本T={(xk,yk)|k=1,2,…,n},其 中:xk∈Rd,為 輸 入 變量;yk∈R,為輸出變量。LSSVM使用等式約束而非不等式約束,其目標函數(shù)和約束條件分別表示為
式 中:Jp(W,e)為 結(jié) 構(gòu) 風 險 函 數(shù);W為 權(quán) 值 向 量;b為常數(shù);e為SVM中損失函數(shù)的平方;c為懲罰系數(shù);φ(xk)為 核 函 數(shù)。
對 式(6),(7)進 行 拉 格 朗 日 變 換 得 到:
式 中:αk(k=1,2,…,M)為 拉 格 朗 日 乘 數(shù)。
通 過 求 取 式(8)中W,b,ek和 αk的 偏 導(dǎo) 數(shù) 并使其等于零,可以得到一組線性方程組,通過求解線性方程組,可得LSSVM的回歸函數(shù)。
式 中:K(x,xk)為 核 函 數(shù),核 函 數(shù) 的 類 型 決 定 了LSSVM算法的性能。
LSSVM算法中常用的核函數(shù)包括徑向基函數(shù)(RBF)、指 數(shù) 徑 向 基 函 數(shù)(ERBF)、多 項 式 核 函數(shù)和sigmoid核函數(shù)。由于RBF在LSSVM回歸擬合和預(yù)測應(yīng)用中表現(xiàn)良好,因此選擇RBF作為LSSVM算法的核函數(shù)。RBF核函數(shù)為
式中:σ為核函數(shù)參數(shù)。
LSSVM算法參數(shù)的選擇是模型預(yù)測中最重要的一步。影響LSSVM學習和泛化能力的主要參數(shù)有兩個:懲罰系數(shù)c和核函數(shù)參數(shù) σ,其中:c影響模型的訓練誤差和泛化性能,同時,它對模型的復(fù)雜性和擬合偏差的懲罰也有很大的影響;σ能夠有效地反映訓練數(shù)據(jù)集的特征,并影響樣本在特征空間中的分布復(fù)雜度。tSSA可將空間維度內(nèi)的所有因素考慮在內(nèi),由發(fā)現(xiàn)者和加入者一步一步走向全局最優(yōu)值,并在最優(yōu)值附近迅速收斂。本模型中,tSSA主要搜索優(yōu)化LSSVM中的c和σ,在得到c和σ最優(yōu)值的情況下對光伏發(fā)電功率進行預(yù)測。
OVMD-tSSA-LSSVM模型預(yù)測步驟如下:
①用特征頻率法確定模態(tài)分量個數(shù),將特征頻率值相近的分量確定為近似模態(tài),確定模態(tài)個數(shù)K;
②采用OVMD方法對光伏數(shù)據(jù)(氣象數(shù)據(jù)和功率數(shù)據(jù))進行分解,得到K個模態(tài)分量{u1,u2,…,uk};
③基于tSSA優(yōu)化的LSSVM算法,構(gòu)建OVMDtSSA-LSSVM預(yù)測模型,輸入K個模態(tài)分量,分解后得到K個預(yù)測值;
④通過對K個預(yù)測值進行疊加和重構(gòu),得到總的預(yù)測輸出,并通過誤差指標與其他方法的比較,分析模型的預(yù)測性能。
圖1為tSSA對LSSVM光伏發(fā)電功率預(yù)測模型進行優(yōu)化的流程圖。
圖1 tSSA優(yōu)化LSSVM模型流程圖Fig.1 Flow chart of LSSVM model optimized by tSSA
OVMD-tSSA-LSSVM模型整體流程圖如圖2所示。
圖2 基于OVMD-tSSA-LSSVM的光伏發(fā)電預(yù)測模型流程圖Fig.2 Flow chart of photovoltaic power generation prediction model based on OVMD-tSSA-LSSVM
本實驗的數(shù)據(jù)集采自東南某沿海城市,該地氣候?qū)儆跐駶櫟膩啛釒夂?。該城市多家企業(yè)以及家庭均安裝了光伏發(fā)電系統(tǒng),在實地考察了光伏系統(tǒng)的安裝位置、安裝朝向以及是否有阻礙物遮擋等因素后,本研究選取了最符合理想標準的30家單位的光伏系統(tǒng)進行數(shù)據(jù)采集。在這些企業(yè)及家庭提供的數(shù)據(jù)庫里,光伏輸出功率數(shù)據(jù)的分辨率為kW/5min。研究使用了2018年1月-2020年12月的30個屋頂光伏系統(tǒng)每天08:00-18:00的光伏輸出功率數(shù)據(jù),并對光伏系統(tǒng)數(shù)據(jù)集的連續(xù)性和完整性進行了廣泛的質(zhì)量評估。一些在特定時間節(jié)點不可能產(chǎn)生的光伏功率輸出數(shù)據(jù)已經(jīng)被刪除,或者用臨近時間節(jié)點值代替。光伏系統(tǒng)中的一系列氣象數(shù)據(jù)來自上述單位附近的氣象站,其提供的測量值分辨率為單位/1min,并在評估期間每5min取平均值,以便與光伏輸出功率數(shù)據(jù)進行匹配。氣象數(shù)據(jù)的采集時間與光伏輸出功率時間保持一致,均為近3a。
本研究所使用的光伏系統(tǒng)氣象數(shù)據(jù)集中一共包含8個氣象要素[18],分別是光照強度、溫度、氣壓、云量、相對濕度、風速、能見度和降雨量。
OVMD算法主要受模態(tài)分解數(shù)K和懲罰因子α的影響。α控制數(shù)據(jù)保真度,當α值不合適時,不利于模態(tài)分量的保存;α越大,模態(tài)分量信號的帶寬越窄,而模態(tài)分量信號的寬帶或窄帶都會影響信號序列的處理結(jié)果。不同數(shù)據(jù)集的K是不同的,本研究對采集到的光伏功率數(shù)據(jù)進行FFT變換,以確定優(yōu)化K。圖3顯示了光伏功率數(shù)據(jù)集FFT的結(jié)果。由圖3可知,頻譜主要包含4種特征頻率分量。因此,整個頻譜分為4個部分,即優(yōu)化K為4。α的搜索值一般為0.1~10。研究發(fā)現(xiàn)[19],表示重構(gòu)效果的MI與 α呈負相關(guān),對于分解性能來說,MI在 α=0~3內(nèi)變化明顯,并且MI最大值集中在 α=0.5上,這表明優(yōu)化后的 α為0.5。最終,本文OVMD的K設(shè)為4,α設(shè)為0.5。
圖3 光伏數(shù)據(jù)頻譜圖Fig.3 Spectrum of photovoltaic data
LSSVM算法的初始參數(shù)c=10,σ=100,使用RBF作為LSSVM的核函數(shù)。經(jīng)過一系列試算,用于優(yōu)化LSSVM的tSSA參數(shù)設(shè)置如下:初始麻雀數(shù)為20,最大迭代次數(shù)為100,發(fā)現(xiàn)者數(shù)量占麻雀總數(shù)的20%。通過優(yōu)化tSSA獲得的c=580.24,σ=1.37。
為了驗證模型的有效性,分別采用SVM,LSSVM,VMD-LSSVM,VMD-SSA-LSSVM和OVMD-tSSA-LSSVM模型對光伏發(fā)電輸出功率的預(yù)測結(jié)果進行比較。輸入數(shù)據(jù)為數(shù)據(jù)集中的所有(未降維)氣象變量。圖4~7顯示了5個不同模型在測試集中隨機抽取4d的光伏輸出功率預(yù)測曲線以及誤差圖。
圖4 2月15日5種模型的光伏發(fā)電預(yù)測結(jié)果與誤差圖Fig.4 Photovoltaic power generation prediction results and error diagram of five models on February15
圖5 6月5日5種模型的光伏發(fā)電預(yù)測結(jié)果與誤差圖Fig.5 Photovoltaic power generation prediction results and error diagram of five models on June5
圖6 8月3日5種模型的光伏發(fā)電預(yù)測結(jié)果與誤差圖Fig.6 Photovoltaic power generation prediction results and error diagram of five models on August3
圖7 10月17日5種模型的光伏發(fā)電預(yù)測結(jié)果與誤差圖Fig.7 Photovoltaic power generation prediction results and error diagram of five models on October17
表1根據(jù)4d的預(yù)測結(jié)果列出了5種模型的決 定 系 數(shù)(R-Square)、平 均 絕 對 誤 差(MAE)、均 方根誤差(RMSE)和平均絕對百分比誤差(MAPE)的平均值。
表1 5種模型4d預(yù)測偏差平均值Table1Averagevalueof4d prediction deviation of five models
通過比較5個模型的預(yù)測曲線和預(yù)測誤差,SVM模型相比于LSSVM類模型的預(yù)測效果是最差的,這是因為在處理大規(guī)模數(shù)據(jù)時,SVM算法需要通過二次計算求解支持向量,這會涉及到大量高階矩陣的運算,從而消耗過多的內(nèi)存與時間,而且常用的SVM理論的懲罰系數(shù)c都是固定的,正負樣本的兩種錯誤所產(chǎn)生的損失卻不一樣。LSSVM模型將高階運算轉(zhuǎn)化為其對偶問題,同時引入拉格朗日乘子進行求解運算,擬合速度快,泛化能力強;對于實際功率波動較大和功率突變的天氣 (圖5,6),經(jīng)過與變分模態(tài)分解結(jié)合后的VMD-LSSVM模型比LSSVM模型的預(yù)測功率曲線更接近于實際功率曲線。這是由于VMD分解可以避免子模態(tài)頻率的混疊,VMD-LSSVM模型的預(yù)測精度(R-Square)相比于LSSVM模型提高了15.46%;SSA能夠快速確定LSSVM的兩個關(guān)鍵參數(shù):核函數(shù)參數(shù)σ和懲罰系數(shù)c,所以VMDSSA-LSSVM模型在4個圖中的擬合曲線明顯更貼近實際值曲線。而基于優(yōu)化過的VMD和SSA算法的OVMD-tSSA-LSSVM模型的預(yù)測效果則比其他4個模型更進一步,在實際功率值突變時,OVMD-tSSA-LSSVM模型能夠更準確的進行預(yù)測,其預(yù)測精度誤差MAPE和RMSE分別比VMD-SSA-LSSVM模型降低了0.3622%和0.0492,收斂速度也更快。
2.4.1氣象要素主成分提取
上述實驗使用的光伏數(shù)據(jù)集中包含8個可能對光伏功率產(chǎn)生影響的氣象要素,但是氣象要素并不是越多越好,氣象要素過多不僅會增加模型的復(fù)雜度,也會對預(yù)測的準確性造成干擾,甚至會增大預(yù)測模型的偶然性。因此,對數(shù)據(jù)集里所涉及的氣象要素進行主成分分析(PCA)是十分必要的。圖8為PCA方法求解氣象變量主分量的流程圖。
圖8 氣象變量主分量計算流程圖Fig.8 Calculation flow chart of principal components of meteorological variables
數(shù)據(jù)集中所有的氣象變量用PCA處理得出主成分后,可以發(fā)現(xiàn),第一和第二主成分所占方差比分別高達81.24%,11.47%,兩者相加達到92.71%,因此,本文畫出主成分1和主成分2的雙標圖,如圖9所示。
圖9 主成分1和主成分2的氣象變量雙標圖Fig.9 Double plot of meteorological variables of principal component1and principal component2
從圖9中可以看出,光照強度和溫度對主成分1的貢獻很大,云量、氣壓對主成分2的貢獻較大,相對濕度對PC1和PC2均有貢獻。此外,溫度和光照強度、云量和相對濕度成正相關(guān),而風速和相對濕度成高度負相關(guān)。
為了進一步確定各獨立氣象變量對光伏輸出功率的影響程度(重要度),本文采用Python的單變量線性回歸測試(f_regression)函數(shù),各輸入氣象變量重要度如圖10所示。
從圖10可以看出,光照強度、溫度、相對濕度和云量屬于最重要的變量,它們總占比達到了90%左右。因此,可以嘗試用這4個氣象變量作為數(shù)據(jù)集的主特征成分,從而達到輸入降維、降低數(shù)據(jù)復(fù)雜度以及減少干擾的目的。
2.4.2模型驗證(輸入數(shù)據(jù)為降維氣象變量)
本研究使用的數(shù)據(jù)集共有8個氣象變量,經(jīng)過PCA和f_regression函數(shù)綜合分析后,采用光照強度、溫度、相對濕度和云量作為氣象數(shù)據(jù)的主特征變量。采用全氣象變量輸入時預(yù)測效果最好的OVMD-tSSA-LSSVM模型進行降維數(shù)據(jù)的預(yù)測。從降維后的數(shù)據(jù)集中隨機抽取1d(4月20日)的光伏數(shù)據(jù)進行評估,預(yù)測結(jié)果和誤差值分別如圖11和表2所示。
圖11 數(shù)據(jù)降維前后預(yù)測結(jié)果Fig.11 Results before and after data dimensionality reduction
從圖11和表2中可以看出,當輸入氣象變量從8個減少到4個時,OVMD-tSSA-LSSVM模型的預(yù)測性能反而有了進一步的提升,R-Square提高了0.0055。這表明降維后預(yù)測曲線的擬合效果更好,在光伏輸出功率值突變時,預(yù)測結(jié)果誤差更小。這可以從圖9和圖10中得到解釋。由圖10可知,每個氣象變量的重要度是有限的,有些變量的重要度占比很?。ū热鐨鈮?、風速),因此,考慮這些特征變量會影響預(yù)測并增加預(yù)測結(jié)果的不確定性。從圖9中可以看出,有些氣象變量之間存在高度的相關(guān)性,比如數(shù)據(jù)降維后被排除的風速變量和主變量相對濕度與云量之間就存在高度負相關(guān)性。通過排除相關(guān)變量,就不會因變量的多重共線性對模型預(yù)測結(jié)果造成影響。
表2 數(shù)據(jù)集降維前后誤差Table2Error before and after dimension reduction of data set
本文采用優(yōu)化的OVMD技術(shù)對原始數(shù)據(jù)序列進行分解,并采用LSSVM模型對分解后的序列進行訓練,在訓練過程中引入基于自適應(yīng)t優(yōu)化的SSA確定模型的最優(yōu)參數(shù)。通過仿真實驗可以得出以下結(jié)論。
①LSSVM算法具有很強的時間序列建模能力。因此,對于穩(wěn)定的時間序列,LSSVM預(yù)測模型比SVM模型具有更高的預(yù)測精度和相對較小的總體波動。
②由于光伏功率數(shù)據(jù)集具有一定的隨機性,采用OVMD技術(shù)將原始光伏數(shù)據(jù)的時間序列分解為多個子模態(tài),可以降低時間序列的復(fù)雜度,獲得相對穩(wěn)定的時間序列。
③OVMD技術(shù)將光伏功率數(shù)據(jù)的復(fù)雜波動分量分解為單個分量,避免了子模態(tài)中的頻率混疊,可以獲得更好的預(yù)測結(jié)果。
④引入優(yōu)化后的tSSA,可以更加準確快速的確定LSSVM算法的關(guān)鍵參數(shù)c和σ,避免陷入局部最優(yōu),使得模型的預(yù)測值更精確、擬合效果更好。
⑤通過分析比較不同模型的曲線以及誤差值,本文提出的OVMD-tSSA-LSSVM模型在預(yù)測光伏發(fā)電輸出功率方面具有很好的效果,特別是在光伏發(fā)電輸出功率實際值發(fā)生劇烈變化時,預(yù)測值也能較好地貼近真實值曲線,誤差波動更小。
⑥光伏多氣象要素數(shù)據(jù)集經(jīng)過降維處理后(氣象變量從8個減少到4個),OVMD-tSSALSSVM模型的預(yù)測效果得到進一步提升。