陳曉華,王志平,吳杰康,許海文,陳盛語,張勛祥,龍泳丞,謝明釗
(1. 東莞理工學院電子工程與智能化學院,廣東 東莞 523808;2. 廣東工業大學自動化學院,廣東 廣州 510006)
2020年9月,中國在聯合國大會上提出了“雙碳”的目標:在2030年之前實現“碳達峰”以及在2060年之前實現“碳中和”的目標[1]。在“雙碳”目標的引領下,具有獲取方便、取之不盡、用之不竭和低污染等優點的光伏發電將逐步取代傳統的化石能源發電。隨著光伏發電技術的不斷成熟,使用太陽能發電逐漸成為人類能源需求的首選綠色清潔新能源。然而,光伏發電具有隨機性、波動性和間歇性等缺點,因此,提高光伏功率預測的準確率有助于電網的安全穩定運行、提高光伏發電并網能力、有效減少棄光和提高電網運行的經濟性[1-6]。
現有的大部分文獻對光伏功率預測的方法主要有直接預測和間接預測兩種[7]。直接預測的方法只需光伏功率的歷史數據和氣象信息就能夠對光伏功率進行預測,此方法主要包括前饋神經網絡算法(back propagation,BP)[8-14]、支持向量機(support vector machine,SVM)[5,15-18]和組合預測法[19]等。間接預測的方法是基于物理法預測太陽輻射等氣象因素,根據光電轉換效率得到光伏發電的輸出功率[20]。但神經網絡算法容易陷入局部最優解并且算法耗時較長,使得光伏發電功率預測很難快速得到最優解;支持向量回歸預測模型能夠很好地解決預測值偏差過大和局部最優等問題,但核函數的參數和懲罰因子數值的選擇對預測結果影響較大;組合預測法可以獲得較高精度的光伏功率預測,但計算模型復雜并且消耗時間較長;使用間接預測法對太陽輻射等預測值的準確度要求較高。
針對以往研究的不足,下面建立了基于白冠雞優化算法(coot optimization algorithm,COOT)優化SVM的預測模型來提高光伏發電功率短期預測的精度。選取某光伏電站在2017年春季中的4月前21天和夏季中的7月前21天的數據進行仿真;利用皮爾遜相關系數公式可以計算得到對光伏發電影響較大的因素為太陽總輻射強度、太陽散射輻射強度、太陽直射輻射強度、組件溫度和環境溫度5個氣象因素,將它們作為輸入數據,光伏發電功率作為輸出數據,并對輸入和輸出的數據進行歸一化處理;最后,利用COOT-SVM預測模型實現光伏發電功率的短期預測,對比COOT-SVM預測模型與BP和SVM預測模型,可知COOT-SVM預測模型具有較高的預測精度。
光伏發電的日變化周期比較強,其輸出功率會受各種氣象因素的影響。太陽總輻射強度、太陽散射輻射強度、太陽直射輻射強度、組件溫度、環境溫度、相對濕度和氣壓等參數對光伏發電均有不同程度的影響。準確詳細的輸入數據是提高預測精度的關鍵,但輸入數據過多會使預測過程更加復雜。因此以訓練樣本數據來計算光伏輸出功率與各個氣象因素之間的皮爾遜相關系數,計算表達式[2]為
(1)
式中:Xpv為光伏輸出功率;Ymet為氣象因子;Npv為光伏輸出功率數據樣本的數量;Nmet為氣象因子數據樣本的數量。
一般而言,兩個變量的相關程度由以下范圍判斷:當0≤|r|<0.2,為極弱相關或不相關;當0.2≤|r|<0.4,為弱相關;當0.4≤|r|<0.6,為中等程度相關;當0.6≤|r|<0.8,為強相關;當0.8≤|r|≤1.0,為極強相關。
選取某光伏電站在2017年春季中的4月前21天和夏季中的7月前21天的相關氣象因素歷史數據和光伏發電系統輸出功率歷史數據作為研究對象,計算其光伏輸出功率與每一個氣象因素的相關系數,見表1。由表1可知:
表1 光伏輸出功率與各個氣象因素的相關系數
1)該地區4月訓練樣本時間段內太陽總輻射強度、太陽散射輻射強度和太陽直射輻射強度3個氣象因素與光伏輸出功率極強相關;組件溫度和環境溫度兩個氣象因素與光伏輸出功率強相關;相對濕度與光伏輸出功率中等相關(負相關);氣壓與光伏輸出功率極弱相關。
2)該地區7月訓練樣本時間段內太陽總輻射強度和太陽散射輻射強度兩個氣象因素與光伏輸出功率極強相關;太陽直射輻射強度、組件溫度和環境溫度3個氣象因素與光伏輸出功率強相關;相對濕度與光伏輸出功率中等相關(負相關);氣壓與光伏輸出功率極弱相關。
因此,對于該地區春季4月和夏季7月的短期光伏功率預測,均選擇太陽總輻射強度、太陽散射輻射強度、太陽直射輻射強度、組件溫度與環境溫度5個氣象因素作為預測模型的輸入數據,光伏發電功率作為輸出數據。
在2021年由Naruei I等人提出的COOT優化算法[21]主要模擬白冠雞在自然界中獲取食物的行為,從而實現算法尋優的目的。該算法假設白冠雞種群中有N個個體,從中選取10%的個體作為白冠雞的領導者,剩余的白冠雞為跟隨者。
對白冠雞種群領導者的位置進行初始化的計算表達式為
xLD,s,j=xL,j+ηs,j·(xU,j-xL,j)
(2)
式中:xLD,s,j為第s只白冠雞領導者在第j維上的位置,s=1,2,…,NLD,NLD為白冠雞領導者的數量,并且NLD=0.1N;ηs,j為在[0,1]區間上第s行第j列的一個隨機數;j=1,2,…,d,d為待優化問題的維數;xU,j、xL,j分別為搜索空間中第j維變量的上限和下限。
對白冠雞跟隨者種群個體進行初始化的計算表達式為
xi,j=xL,j+ηi,j·(xU,j-xL,j)
(3)
式中:xi,j為第i只白冠雞跟隨者在第j維上的位置,i=1,2,…,Ncoot,Ncoot為白冠雞跟隨者種群大小,并且Ncoot=N-NLD;ηi,j為在[0,1]區間上第i行第j列的一個隨機數。
該算法中,白冠雞的行為主要包含以下4種:
1)個體隨機移動
令白冠雞跟隨者種群朝搜索空間中的一個隨機位置移動,隨機位置的計算表達式為
(4)
式中,η1,j為在[0,1]區間上第1行第j列的一個隨機數。
隨機運動有利于算法跳出局部最優解,使用這種方法更新白冠雞跟隨者位置的計算表達式為
(5)
式中:R2為在[0,1]區間上的隨機數;Tcur和Tmax分別為當前迭代次數和最大迭代次數。
2)鏈式運動
兩只白冠雞跟隨者的平均位置可以實現鏈式運動,計算表達式為
(6)
式中,xi-1,j為第i-1只白冠雞跟隨者在第j維上的位置。
3)根據種群的領導者調整位置
通常情況下,白冠雞跟隨者種群必須根據白冠雞領導者的位置調整自己的位置并且朝著它們的方向移動,這里利用k來控制白冠雞領導者的位置引導作用。
k=1+mod(i,NLD)
(7)
式中:i為第i只白冠雞跟隨者的序號;mod(i,NLD)的含義為i對NLD取模;k為白冠雞領導者的序號。
因此白冠雞跟隨者的位置更新為
(8)
式中:R1為在[0,1]區間上的隨機數;R為在[-1,1]區間上的一個隨機數;xLD,k,j為第k只白冠雞領導者在第j維上的位置。
4)白冠雞領導者帶領白冠雞跟隨者走向最佳區域
白冠雞種群的領導者不斷更新它們朝著最佳區域目標方向的位置,從而帶領白冠雞跟隨者種群走向最佳區域,白冠雞領導者的位置更新計算表達式為
(9)
式中:gbest為種群內個體的最優位置;R3和R4為在[0,1]區間上的隨機數。
由于篇幅有限,不再對SVM的預測理論進行推導,具體步驟可以參考文獻[17]。因為SVM的預測結果在很大程度上受懲罰因子和核函數中參數的影響[17],所以采用白冠雞優化算法對這兩個參數進行尋優,從而提高短期光伏發電功率預測的精度。
利用COOT算法對SVM的參數進行優化的步驟如下:
1)利用式(2)和式(3)分別初始化白冠雞領導者和跟隨者數量。設置白冠雞種群的個體數N=50,其中白冠雞領導者的數量NLD=5,白冠雞跟隨者的數量Ncoot=45,最大迭代次數Tmax=30,待優化問題的維數d=2,搜索空間的上限xU,1=xU,2=100,下限xL,1=xL,2=0.01。
2)計算白冠雞領導者和白冠雞跟隨者的適應度函數,找出白冠雞種群內個體的最優位置gbest,記下此時的適應度函數值為fcoot(gbest)。
3)計算A和B的值。隨機生成一個在[0,1]區間上的隨機數r1,若r1<0.5,則R、R1和R3均為1行d列的隨機向量;否則,R、R1和R3均為隨機數。
4)計算白冠雞領導者的序號k。
5)隨機生成一個在[0,1]區間上的隨機數r2,若r2>0.5,則利用式(8)計算白冠雞跟隨者個體的位置;否則,跳到步驟6。
6)若r2<0.5&&i≠1,則利用式(6)計算白冠雞跟隨者個體的位置;否則,利用式(4)和式(5)計算白冠雞跟隨者個體的位置。
7)以均方誤差作為適應度函數fcoot(·),如式(10)所示,分別計算白冠雞跟隨者個體xi,j的適應度函數fcoot(xi,j)的值和白冠雞領導者個體xLD,k,j的適應度函數fcoot(xLD,k,j)的值。若fcoot(xi,j) (10) 式中:Nt為訓練集樣本數;ypv,t,i為光伏功率的預測值;ypv,a,i為光伏功率的實際值。 8)隨機生成一個在[0,1]區間上的隨機數R4,利用式(9)計算白冠雞領導者的位置。 9)計算白冠雞領導者的適應度函數fcoot(xLD,s,j)的值,若fcoot(xLD,s,j) 10)判斷白冠雞優化算法是否已達到最大迭代次數。如果已達到,那么輸出支持向量機的最優參數;否則迭代次數加1,并跳至步驟3繼續尋優。 COOT算法優化SVM參數的流程如圖1所示。 圖1 COOT算法優化SVM參數流程 以所建立的COOT-SVM短期光伏發電功率預測模型,選取某光伏電站在2017年春季中的4月前21天和夏季中的7月前21天的相關氣象因素歷史數據和光伏發電系統輸出功率歷史數據作為研究對象。4月1日至21日和7月1日至21日的光伏發電功率歷史數據分別如圖2和圖3所示,所選取的數據按照每隔15 min采樣一次的頻率進行采集,采集時間范圍為一整天,并分別選取4月22日和7月22日作為待預測日期,預測間隔為15 min,輸出96個光伏發電功率預測數據。 圖2 4月前21天的光伏發電功率 圖3 7月前21天的光伏發電功率 為了避免數據之間因為不同量綱的差異而對預測結果造成影響,對所有輸入和輸出的數據都進行歸一化處理,使數據都規整在[0,1]范圍內,歸一化的計算表達式[22-24]為 (11) 式中:T為原始數據;Tmin為原始數據最小值;Tmax為原始數據最大值。 通過白冠雞優化算法優化SVM的懲罰因子和核函數參數可以獲得COOT-SVM預測模型對光伏功率進行24 h的短期預測。為了進一步驗證COOT-SVM預測模型的預測效果,通過與BP和SVM的預測結果進行比較,再通過仿真分析,可得某光伏電站在2017年春季中的4月22日和夏季中的7月22日的短期光伏發電功率的預測值和實際值,分別如圖4和圖5所示。 圖4 4月短期光伏發電功率預測結果 圖5 7月短期光伏發電功率預測結果 從圖4、圖5中可以看出,COOT-SVM 預測模型的預測值比BP和SVM預測模型更接近實際光伏功率的數值。 考慮多種誤差對預測結果的影響,提高了預測結果的魯棒性。這里采用3種誤差指標對光伏功率預測結果進行評價,分別為均方根誤差、均方誤差以及平均絕對誤差。 1) 均方根誤差[25] (12) 式中:Treal(t)為t時刻實際的光伏發電功率;Tpred(t)為t時刻預測的光伏發電功率;m為預測樣本數據的數量。 2) 均方誤差[1] (13) 3) 平均絕對誤差[26] (14) 使用BP、SVM和COOT-SVM模型對4月短期光伏發電功率進行的預測誤差如表2所示。 表2 不同方法預測誤差分析(4月) 從表2中可以計算出,COOT-SVM預測模型的TRMSE比BP和SVM預測模型分別降低了49.42%和38.80%;COOT-SVM預測模型的誤差TMSE比BP和SVM預測模型分別降低了74.42%和62.54%;COOT-SVM預測模型的TMAE比BP和SVM預測模型分別降低了59.14%和44.41%。 使用BP、SVM和COOT-SVM模型對7月短期光伏發電功率進行預測的誤差如表3所示。 表3 不同方法預測誤差分析(7月) 從表3中可以計算出,COOT-SVM預測模型的TRMSE比BP和SVM預測模型分別降低了14.44%和24.03%;COOT-SVM預測模型的TMSE比BP和SVM預測模型分別降低了26.79%和42.29%;COOT-SVM預測模型的TMAE比BP和SVM預測模型分別降低了8.24%和41.63%。 對比結果表明,COOT-SVM預測模型比BP和SVM預測模型具有更好的預測精度和穩定性。 上面構建了一種COOT-SVM預測模型對短期光伏發電功率進行預測。通過皮爾遜相關系數公式可以計算得到對光伏發電影響較大的因素為太陽總輻射強度、太陽散射輻射強度、太陽直射輻射強度、組件溫度和環境溫度5個氣象因素,將它們作為輸入數據,光伏電站的發電功率作為輸出數據,并對輸入和輸出的數據進行歸一化處理;利用COOT-SVM預測模型實現光伏發電功率的短期預測。通過將由COOT-SVM預測模型與BP、SVM預測模型得到的預測功率的曲線和實際輸出功率進行對比,并計算出BP、SVM和COOT-SVM預測模型的均方根誤差、均方誤差和平均絕對誤差,可知COOT-SVM預測模型具有優越的預測性能和較高的穩定性,能夠為短期光伏發電功率預測提供理論參考。4 算例分析
4.1 短期光伏功率預測結果及其分析
4.2 預測結果評價指標
5 結 論
—— 甕福集團PPA項目成為攪動市場的“鯰魚”