段晨東,童卓斌
(長安大學 電子與控制工程學院, 陜西 西安 710064)
光伏發電功率易受外界因素如光照強度、環境溫度、氣象和地理因素等不確定因素的影響,因而具有隨機性、間歇性和波動性。為減小光伏系統發電功率的波動對電力系統穩定運行造成的影響,對光伏發電功率進行預測是有必要的[1]。
目前采用的預測方法大體可歸為物理建模和智能預測。物理建模方法是利用光伏組件的物理參數、氣象數據以及地理位置信息建立其數學或物理模型,以此預測光伏發電站的輸出功率。該類方法適應性差、建模過程復雜,在數據難以準確獲取的情況下建模效果不佳[2-3]。智能預測方法有出色的特征學習能力,能充分發掘樣本特征信息。文獻[4]根據光伏出力曲線的抖動程度將其分為“平穩”與“抖動”兩類,分別使用自回歸與滑動平均模型和人工神經網絡對光伏發電功率進行預測。文獻[5]采用混沌時間序列優化神經網絡算法,以按時間序列分布的歷史光伏發電功率作為輸入對短期內的發電功率進行預測。但由于時間序列含有一定的自相關性,因而容易導致預測結果滯后于真實值。文獻[6]通過BP神經網絡對光伏發電功率進行預測,將氣溶膠指數作為附加輸入參數以提高預測精度,然而氣溶膠指數難以確定導致模型建立困難。
為了更準確地對光伏發電功率進行預測,本文在考慮季節對光伏發電功率影響的前提下,把全年數據按季節特性進行分區,以光照強度和環境溫度作為輸入,分季節搭建多SVR光伏發電功率模型。以天氣預報預測的逐時環境溫度和天氣情況相近的往年光照強度平均值作為參數對未來一天的光伏發電功率按小時進行預測。試驗表明,本文提出的方法可以達到理想的預測精度。
光伏發電功率主要依賴于氣象、環境條件等外界不可控因素,光照強度、環境溫度和太陽能面板性能等都將對光伏系統輸出功率產生影響[7]。在硬件條件確定的情況下,若光照強度與環境溫度已知,則光伏發電功率基本可以確定。由文獻[8]可知:
Pout(t)=R(t)Aη{1-0.005[T(t)+25]}
(1)
式中:R(t)為光照強度,kW/m2;A為光伏組件面積,m2;η為光伏電源轉換效率,%;T(t)為環境溫度,℃;Pout為光伏發電功率,kW。
對某地區一個正常運行的光伏系統而言,光伏組件面積A為常量。光伏電源轉換效率η與光伏板壽命存在一定關聯,但在正常使用周期內變化非常小,通常當作常量。因此,光照強度R(t)與環境溫度T(t)的變化是引起光伏系統發電功率變化的主要因素。
對于在某一地區固定安裝的光伏陣列,季節不同時,光伏面板上獲得的光輻照度總量不同,因此光伏發電功率也不同。圖1為某光伏發電站于不同月份中某一天的發電功率[9]。

圖1 2012年不同月份某一天光伏發電功率對比
由圖1可知,同一光伏發電站不同月份的發電情況存在差異。3月與12月較為相似,但12月發電時間更久。5月光伏發電功率最低。由此可見,季節因素對光伏發電功率預測存在一定影響。
SVR算法能較有效地解決高維回歸問題,且計算復雜度低。SVR模型在對小樣本進行擬合時能產生較好的效果,但當訓練樣本規模擴大時,SVR模型的預測精度和收斂能力會下降。因此,引入Adaboost算法,通過對多個SVR模型訓練得到的判決函數進行加權組合從而提高預測精度。采用Adaboost-SVR算法,以光照強度R(t)和環境溫度T(t)作為輸入量建立光伏發電功率模型。

設SVR函數模型為
ft(x)=wTφ(x)+b
(2)
式中:ft(x)為第t個基學習器的光伏發電功率預測值;φ(x)為核函數;w為權值向量;b為偏置量。權值向量w和偏置量b可以通過式(3)求得。
(3)


光伏發電功率預測的傳統方法是將所有往年歷史數據作為一個樣本集對模型進行訓練,隨后對未來一段時間的光伏發電功率進行預測。該方法沒有考慮到氣候條件隨著季節變化而產生的明顯變化,對于一年之中氣候條件變化較大的地區,全年均使用同一個模型易產生較大的預測誤差。為避免該問題,將全年數據按季節分為四季。由于樣本數據量越大預測精度相對越高且氣候因素具有一定的時延性,因此在進行季節分區時可以將訓練集進行擴充,適當提前或延后半個月劃為同一季節。
由于光伏發電功率輸出數據數量級變化大,對原始數據直接進行訓練容易導致基學習器SVR產生過飽和。因此,對光伏發電功率輸出數據進行歸一化處理,以提高模型訓練、收斂速度。
(4)
式中:P*為歸一化處理后的光伏發電功率;P為原始數據;Pmax為樣本最大值;Pmin為樣本最小值。
對Adaboost算法而言,基學習器數量t越大,訓練誤差會逐漸減小最終趨于穩定,預測速度會降低。以某光伏發電站春季監測記錄數據進行訓練,不同基學習器數量的誤差曲線如圖2所示。為在確保一定預測精度的同時減少模型訓練時間,基學習器數量t選為200。

圖2 不同數量基學習器訓練誤差曲線
目前天氣預報難以預測光照強度,但可以較為準確地預測出環境溫度及天氣情況。因此在對光伏發電功率進行預測時,采用天氣預報預測的環境溫度與相應天氣情況的歷史光照強度的均值作為輸入對光伏發電功率進行預測。
實際預測時,根據預測日所處的季節,選擇相應的訓練集對模型進行訓練,通過天氣預報獲取未來一天的天氣情況及其每小時環境溫度的變化。以該日歷年相同天氣情況下的光照強度均值與天氣預報獲取的每小時環境溫度作為輸入對光伏發電功率進行預測,如圖3所示。

圖3 光伏發電功率預測流程圖
采用均方誤差(MSE)對預測結果進行評估:
(5)

試驗數據為某光伏發電站的歷年監測記錄數據集。取2012年至2014年的春季數據作為訓練集建立模型,對2015年春季其中一天的光伏發電功率進行預測,結果如圖4所示。

圖4 不同核函數預測結果
圖4的預測結果中高斯核函數和線性核函數預測結果的均方誤差分別為1.818%和0.392%。
由圖4可知,采用線性核函數的預測曲線更為平滑,能較好地預測出光伏發電功率的變化趨勢。由式(1)可知,當環境溫度波動微小時,光伏發電功率與光照強度近似呈線性關系。因此,選取線性核函數為基學習器SVR的核函數。
圖5為上述數據分別采用單SVR預測方法與Adaboost多SVR預測方法的預測結果對比。

圖5 SVR模型與Adaboost-SVR模型結果對比
SVR模型和Adaboost-SVR模型的預測結果均方誤差分別為2.250%和0.449%。由圖5可知,Adaboost-SVR模型的預測精度相較于單個SVR模型有了較高的提升。
為了驗證本文預測方法的有效性,使用某光伏發電站2012年至2014年三年的測量數據作為訓練集建立模型,對2015年四季中某一天全天的光伏發電功率進行預測。由于該光伏電站位于南半球,根據其所處的當地氣候條件,將9月至11月劃分為春季,12月至2月為夏季,3月至5月為秋季,6月至8月為冬季。由于天氣預報可以提前24 小時預報天氣情況并對環境溫度進行逐時預報,但不能提前預報光照強度,以2015年的實際環境溫度測量值作為環境溫度輸入量,以該天3年歷史記錄中天氣情況相近的光照強度平均值作為光照強度輸入量。圖6為本文方法的預測結果。
春、夏、秋、冬四季某一天光伏發電功率預測的均方誤差分別為0.674%、0.780%、1.511%和0.635%。
由圖6可知,本文方法可以較為準確地預測出光伏發電功率的變化趨勢。當預測日天氣情況為晴時,預測日光照強度與歷史光照強度相似,預測精度高;當天氣情況為陰或雨時,預測精度有所降低,主要是受到云朵遮擋,導致光照強度產生較大波動,進而引起光伏發電功率的波動。
將上述試驗所選數據代入式(1),圖7為式(1)的預測結果。
春、夏、秋、冬四季某一天光伏發電功率預測的均方誤差分別為1.376%、1.526%、1.605%和1.050%。通過對比可知本文方法能夠更準確地預測光伏發電功率的變化趨勢,預測精度更高。
光伏發電功率的預測對維持電力系統穩定運行起著關鍵作用。本文針對季節對光伏發電功率的影響,將實測數據按季節特性進行分區,提出一種基于季節分區的光伏發電功率多SVR預測方法。通過將歷史數據按照季節分區來搭建四季光伏發電功率模型。利用天氣預報獲得預測日每小時的環境溫度,選取天氣情況相近的該天歷史光照強度的平均值,將這兩項作為模型的輸入參數對光伏發電功率進行預測。最后通過試驗對比證明了該方法可以有效地預測出光伏發電功率的變化趨勢,得到理想的預測精度。

圖6 預測結果

圖7 式(1)預測結果