謝少華,何 山,2,閆學勤,2,張 強,2
(1.新疆大學 電氣工程學院,新疆 烏魯木齊 830049;2.可再生能源發電與并網控制技術教育部工程研究中心,新疆 烏魯木齊 830049)
雖然光伏發電具有低成本和零污染的特點,已成為最有潛力的可再生能源發電形式之一[1-2],但是因其具有隨機性和波動性,會給并網造成一定困難,影響電力系統穩定運行[3-4]。因此對光伏發電的功率進行預測,可以減少不確定性給電網帶來的不利影響,為光伏并網提供決策依據。楊麗薇等[5]采用小波分解與誤差反向傳播算法(Back propagation,BP)神經網絡的組合算法來實現對光伏電站短期功率預測。姚宏民等[6]將密度峰值聚類算法應用于短期光伏功率預測,通過改善氣象數據的聚類效果來提高預測精度。孫志強等[7]將集合經驗模態分解方法和BP神經網絡預測相結合,建立光伏電站短期功率預測模型。張程熠等[8]提出一種適用于小樣本的雙層神經網絡單步光伏預測方法。以上方法都是基于神經網絡的預測,使用小波分解、密度峰值聚類、集合經驗模態分解和樣本分類融合理論等方法優化神經網絡輸入數據來提高預測精度。但由于神經網絡采用傳統BP算法搜索權閾值,易陷入局部最優,影響了預測性能的提升。孫輝等[9]通過粒子群算法優化深度置信網絡實現光伏短期預測。劉愛國等[10]提出基于遺傳算法的改進BP神經網絡方法,對光伏陣列短期功率進行預測。趙文清等[11]采用智能水滴(Intelligent water drops,IWD)算法優化Elman神經網絡進行功率預測。以上方法通過粒子群算法、遺傳算法和智能水滴算法等方法來改善BP網絡的性能以提升預測精度,但由于其使用的改進方法存在局部最優的問題,對神經網絡預測模型的性能改善有限,影響了其預測性能的提升。
筆者在以上研究的基礎上,提出了基于麻雀算法優化BP神經網絡預測方法。首先,建立光伏陣列功率計算數學模型,分析了光伏功率的影響因子;然后,構建麻雀算法優化誤差反向傳播算法(Sparrow search algorithm-back propagation,SSA-BP)的神經網絡預測模型;最后,應用實測數據,分析模型在不同天氣狀況下的預測效果,驗證所提出的短期功率預測模型的有效性和精確性。
氣象因子影響光伏發電功率,如太陽輻照強度、環境溫度和濕度等[12]。光伏發電計算功率為
Pn=nSI[1-0.005(t+25)]
(1)
式中:n為轉換效率;S為面積;I為太陽輻照強度;t為溫度。由式(1)可知:對于一個光伏電站,轉換效率和面積是固定的,故太陽輻照強度和溫度是直接影響功率的因子。因此,以輻照強度和溫度作為預測模型的輸入。
麻雀算法(Sparrow search algorithm,SSA)[13]是2020年東華大學薛建凱通過觀察麻雀的覓食和反捕食行為而提出的一種群智能優化算法。通過對自2010年以來提出的典型新型群智能優化算法(蝙蝠算法、灰狼算法、蜻蜓算法、鯨魚算法和蝗蟲算法)與麻雀算法的搜索性能進行對比分析,以收斂速度、搜索精度和算法穩定性等3個指標的對比實驗表明:麻雀搜索算法的綜合性能最優,在全局搜索和避免過早收斂上尤為突出。麻雀算法需要建立潛在解的搜索空間。將麻雀定義為n維智能搜索空間的潛在解,每一個麻雀都有對應的適應度值(目標函數)。麻雀可分為兩類,即發現者(Producer)和加入者(Scrounger)。兩類麻雀有不同的行為策略,發現者的行為策略是在種群中負責尋找食物并為整個麻雀種群提供覓食區域和方向,加入者的行為策略則是通過觀察跟隨發現者來獲取食物。群體中的所有麻雀都可以通過執行這兩種策略來完成對食物的搜索。此外,處在外圍位置的麻雀容易受到攻擊,它們需要不斷更新位置來獲取最佳位置。在麻雀群體中,一旦有麻雀發現捕食者,則會發出警告信息,群體會立即飛離危險區域。麻雀算法的搜索規則為
1) 發現者能源儲備(位置對應的適應度值)高,為整個種群提供方向。
2) 出現報警時,發現者會引領群體進入其他安全區。
3) 發現者與加入者隨機變化,但總體占比不變。
4) 加入者能量對應群體位置,當能量值過低,則有可能飛往其他區域以獲得更多能量。
5) 加入者通過觀察發現者的位置進行覓食,為了獲得更多食物,它會不間斷地監控發現者去爭奪食物。
6) 報警時,邊緣麻雀會迅速向群體的中心域移動,以獲得更好的位置,位于種群中間的麻雀則會隨機走動,以靠近其他麻雀。
假定搜索空間潛在解的個數為n,待優化的問題變量維數為d,潛在解空間可表示為
(2)
所有潛在解對應的適應度值表示為
(3)
式中Fx為適應度值。根據麻雀算法的原理,所有麻雀都有3種位置更新方式。依據SSA搜索規則,發現者的位置更新公式為
(4)
式中:t為當前迭代數;e為設定的最大迭代次數;Xi,j為第i個麻雀在第j維中的位置信息;b∈[0,1]為一個隨機數;r2和st分別為預警值和安全值;q為服從正態分布的隨機數;c為單位矩陣。當預警值小于安全值時,即表明安全,可以擴大搜索區域;當預警值大于等于安全值時,即表明發現危險,需要群體飛離當前區域。加入者的位置更新方式為
(5)
式中:xp為當前最優位置;xworst為當前最差位置;當i≤n/2,表明第i個麻雀執行靠近最優位置策略即可獲得食物。當i>n/2,表明第i個麻雀未獲得食物,需要改變策略,飛往其他區域進行食物搜索。意識到危險的麻雀位置更新公式可以表示為
(6)
式中:xbest為當前的全局最優位置;β為步長參數,是一個正態分布的隨機數,其方差為1,均值為0;k的取值為-1~1的一個隨機數;fi,fw,fg分別為個體最佳適應度、全局最優適應度、全局最差適應度。確保分母不等于0,一般情況下賦值為最小常數。當個體適應度大于全局最佳適應度時,表明麻雀處于邊緣位置,容易受到攻擊,需要進行位置更新以獲得最佳位置,更新方向是向最佳位置靠近;當個體適應度等于最差適應度值時,表明麻雀已經意識到危險并處于危險位置,需要立即靠近其他麻雀以避免被捕食。
麻雀算法搜索步驟為
1) 種群分類,按比例將種群分為發現者,加入者,發現危險者。其中,發現者和加入者是隨機變化的,但兩者在群體中的占比是固定。
2) 計算所有種群適應度值。
3) 根據搜索規則,按照對應的規則進行位置更新。
4) 計算適應度,更新最佳適應度及對應最優解。
5) 迭代循環,判定是否滿足停止迭代條件。
麻雀算法搜索流程如圖1所示。

圖1 麻雀算法搜索流程圖Fig.1 Sparrow algorithm search flow chart
BP神經網絡由輸入層,輸出層和隱含層3個部分構成。BP神經網絡通過神經網絡算法來建立非線性映射關系。由于神經網絡是按照誤差函數的負梯度方向對權閾值進行優化,收斂速度慢,容易陷入局部最優,影響了BP神經網絡性能。
為了提高BP網絡預測精度,用麻雀算法對BP的權閾值進行迭代更新,以神經網絡誤差值最小為麻雀算法的適應度函數。通過麻雀算法尋優獲得最佳權閾值,并將權閾值賦給BP神經網絡,基于該網絡對功率進行預測。SSA-BP功率預測流程如圖2所示,算法步驟為
1) 根據光伏功率預測模型的輸入輸出數據維數,確定BP神經網絡的結構。
2) 根據BP神經網絡的權閾值個數,設定麻雀搜索算法潛在解的維數。
3) 建立麻雀搜索算法的潛在解空間和搜索算法的適應度函數。
4) 麻雀算法的各參數設定和搜索空間的邊界條件。
5) 計算群體中所有麻雀對應的適應度,獲得當前最佳適應度值。
6) 發現者麻雀更新位置。
7) 加入者麻雀更新位置。
8) 發現危險麻雀更新位置。
9) 重新計算所有麻雀的適應度值,獲得當前最佳適應度值。
10) 將更新后的適應度與上次迭代的適應值進行比較,判定是否更新。
11) 是否滿足停止迭代條件,是即輸出,否則繼續迭代搜索。
12) 迭代停止后,將麻雀算法搜索到的權閾值賦給BP網絡。
13) 將預測氣象數據導入優化后的BP網絡預測模型。
14) 功率預測值輸出。

圖2 SSA-BP功率預測流程圖Fig.2 Flow chart of SSA-BP algorithm
采用新疆吐魯番地區某光伏發電站2019年1月實測數據作為實驗樣本。實測數據包括功率數據和相對應的氣象數據。該電站裝機容量為20 MW,數據采樣間隔時間為15 min。由于夜間功率為0,結合變電站所在地的日照時間段,取09:00—21:00的數據,分別構建BP神經網絡預測模型、麻雀算法優化BP預測模型和粒子群算法優化BP預測模型。BP神經網絡層數設置為3層,隱含層神經元個數設置為5,麻雀算法中種群規模設置為50,解空間設置為50×21矩陣。用MAE(平均絕對誤差)和MSE(均方誤差)作為預測性能評價指標。考慮該電站所處地區降雨少,雨天樣本不具備代表性,采用突變天氣(輸出功率有明顯的隨機性和波動性)代替雨天樣本,對晴天,陰天和突變天氣等3種工況分別進行實驗。
以1月某一晴天數據作為預測樣本,采用上述方法進行功率預測。晴天下3種預測模型評價指標如表1所示。晴天下不同預測模型的功率預測及誤差曲線如圖3~5所示。

表1 3種預測模型評價指標(晴天)

圖3 BP功率預測(晴天)Fig.3 BP power prediction (sunny)

圖4 PSO-BP功率預測(晴天)Fig.4 PSO-BP power prediction (sunny)

圖5 SSA-BP功率預測(晴天)Fig.5 SSA-BP power prediction (sunny)
由表1和圖3~5可知:采用POS-BP預測模型進行功率預測時,MSE降低了0.14,MAE降低了0.112。使用SSA-BP預測模型進行功率預測,MSE降低了0.332,MAE降低了0.144。晴天下,SSA-BP神經網絡預測精度最好,誤差值最小。3個預測模型都是基于BP神經網絡的預測,區別在于權閾值的求解方法上,常規BP采用的負梯度法搜索權閾值,而改進的預測模型分別運用麻雀搜索和粒子群算法搜索權閾值。由分析可知:麻雀算法搜索性能最佳,粒子群算法次之,負梯度法最差。因此,在基于BP神經網絡的預測模型中,麻雀算法能獲取最佳權閾值,故麻雀算法優化BP神經網絡的預測精度更好。
以1月份某一陰天數據作為預測樣本,陰天下3種預測模型評價指標如表2所示。陰天下不同預測模型的功率預測及誤差曲線如圖6~8所示。由表2和圖6~8可知:采用結合粒子群的神經網絡算法(Particle swarm optimization-back propagation,PSO-BP)預測模型進行功率預測時,MSE降低了0.027,MAE降低了0.025。使用SSA-BP預測模型進行功率預測,MSE降低了0.321,MAE降低了0.146。陰天時,光伏功率相較于晴天要小,波動大,SSA-BP神經網絡預測精度最好,誤差最小。

表2 3種預測模型評價指標(陰天)

圖6 BP功率預測(陰天)Fig.6 BP power prediction (cloudy)

圖7 PSO-BP功率預測(陰天)Fig.7 PSO-BP power prediction (cloudy)

圖8 SSA-BP功率預測(陰天)Fig.8 SSA-BP power prediction (cloudy)
為了進一步驗證筆者所提出的SSA-BP預測模型的預測性能,以1月份某一天的突變天氣數據作為預測樣本。突變天氣下3種預測模型評價指標如表3所示。突變天氣下不同預測模型的功率預測及誤差曲線如9~11所示。由表3和圖9~11可知:采用PSO-BP預測模型進行功率預測時,MSE降低了0.088,MAE降低了0.037。突變天氣下,光伏功率變化比陰天大,從三者對比可知:SSA-BP模型預測曲線擬合最佳,預測精度最高。使用SSA-BP預測模型進行功率預測,MSE降低了0.191,MAE降低了0.11。

表3 3種預測模型評價指標(突變天氣)

圖9 BP功率預測(突變天氣)Fig.9 BP power prediction (weather changed suddenly)

圖10 PSO-BP功率預測(突變天氣)Fig.10 PSO-BP power prediction (weather changed suddenly)

圖11 SSA-BP功率預測(突變天氣)Fig.11 SSA-BP power prediction (weather changed suddenly)
準確預測光伏功率有助于電力調度部門及時調整調度計劃,對于提高電網接納光伏并網和電力系統的穩定性與安全性具有重要意義。筆者分析了光伏功率影響因子,在BP神經網絡預測模型的基礎上引入麻雀算法,構建一種基于麻雀算法優化BP神經網絡的預測模型,結合光伏電站的實測歷史數據,對所提出的預測模型進行算例分析,得出如下結論:1) 麻雀算法的尋優能力優于粒子群算法和負梯度法,能在較短時間內搜索到較優的神經網絡權閾值;2) 將SSA-BP預測模型應用于光伏發電功率預測,可有效提升光伏功率的預測精度。在后續工作中,將考慮對光伏功率的輸入數據進行預處理,探索輸入數據質量對預測精度的影響及如何通過提高數據質量來提高光伏功率預測的精度。