陳智雨,陸金桂
(南京工業大學 機械與動力工程學院,江蘇 南京 211816)
光伏發電系統的出力具有不確定性和不連續性[1],其受到很多因素的影響,如太陽光照強度、光伏陣列的轉換效率、安裝角度、溫度以及其他一些因素都會對光伏陣列的輸出特性產生影響。隨著光伏發電容量越來越大,為了減少并網光伏對電網的沖擊,對其發電量進行預測,可以提高電網的穩定性和安全性[2-3]。
常用的預測方法有時間序列法、支持向量機、神經網絡、馬爾可夫鏈等[4]。目前常用的方法大多采用BP神經網絡對光伏發電進行預測,但單純的BP算法易陷入局部最優,無法獲得最優解。本文引入相似日概念,采用ACO-BP算法對光伏發電功率建立神經網絡模型,進行光伏發電功率預測。
對于具體的光伏發電系統來說,其所有的歷史數據都來源于同一個發電系統,所以它發電功率的歷史時間序列具有高度的自相關性[5]。因此,如果利用歷史數據來預測發電功率會使得到的數據更加準確。
研究以某大學浦江宿舍光伏發電系統為例,總容量為100kW,發電供浦江宿舍片區38盞(60W/盞)LED路燈照明和太陽能-空氣源熱泵熱水系統用電設備使用。
首先確定預測日的天氣類型、日最高溫度、日最低溫度以及日平均溫度,在歷史數據中篩選出和預測日相同天氣條件的歷史記錄,形成樣本集A。計算預測日和樣本集A中歷史記錄的最高溫度、最低溫度和日平均溫度的歐式距離dk,dk的計算公式見式(1)。
(1)
式中:Y1、Y2、Y3分別為預測日的最高溫度、最低溫度和日平均溫度;Xk1、Xk2、Xk3分別為樣本集A中第k條歷史記錄的最高溫度、最低溫度和日平均溫度。將歐氏距離集{d1,d2,…,dn}按照值的大小升序排序,將排序的歐氏距離前k(1 傳統的BP 神經網絡訓練采用的是誤差反向傳播學習算法,它的優化目標函數相對復雜,較容易出現陷入局部最優、收斂速度慢等問題[6]。由于BP神經網絡的訓練算法實質上是對其網絡權值和閾值進行迭代調整,因此用蟻群優化算法替代BP算法完成對神經網絡權閾值的迭代調整,并最終完成神經網絡的訓練。 a) ACO-BP算法基本思路 蟻群算法解決優化問題的基本思路為: 用螞蟻的行走路徑表示待優化問題的可行解,整個螞蟻群體的所有路徑構成待優化問題的解空間。路徑較短的螞蟻釋放較多的信息素。經過一定時間,信息素濃度在較短的路徑上累計較高,所有選擇此路徑的螞蟻也逐漸增多,最終,整個蟻群會在正反饋的作用下集中在最佳路徑上,此時對應的便是待優化問題的最優解。 首先根據權值和閾值的取值范圍,將值的定義域劃分成S個等長區間,即每個區間的長度被作S等分,將區間的臨界值或選擇區間中的隨機值作為候選值。確定參數個數n,包括網絡中所有的權閾值。每個參數Pi(i=1,2,…,n)對應一個有S個元素的集合IPi,這些元素為Pi的可能取值。 b) 具體步驟 1) 參數初始化:將所有權值和閾值進行S等分,所有區間初始信息素0,信息素殘留系數λ,信息素濃度Q,當前區間信息表為Tabu,最大迭代次數C,網絡全局誤差E,最大學習次數N; 2) 權值和閾值選擇:蟻群m只螞蟻,對于螞蟻k依據概率公式(2)的尋路規則進行選擇節點所在區間,蟻群迭代一次則完成一次解的構造: (2) 式中τj(Ipi)為集合IPi中第j個元素的信息素值; 3) 蟻群尋優判斷:蟻群迭代一次得到的構造解,則是當前迭代后得到誤差最小的一組解,計算誤差Ec,判斷是否達到蟻群要求,若是則轉到4),否則轉到5); 4) 網絡訓練:將蟻群迭代得到的最優構造解,作為初始權值和閾值,選取數據集對網絡進行訓練,直到滿足結束條件即最大學習次數,完成學習。否則,繼續學習; 5) 更新信息素:根據式(3)、式(4)、式(5)對所有區間信息素全局更新,并重置信息表: τj(IPi)(t+h)=ρτj(IPi)(t)+Δτj(IPi) (3) (4) (5) 其中:Q為信息素固定值; ek為第k只螞蟻對應的神經網絡輸出誤差; 6) 蟻群遍歷:重復步驟 2)到步驟 3)。 其算法如圖1所示。 圖1 ACO-BP算法流程圖 人工神經網絡(artificial neural network, ANN)被視為預測太陽輻射強度和光伏發電系統輸出功率的一種有效方法。BP 神經網絡能夠學習、處理大量的輸入-輸出模式映射關系,而不需要提前明確對應的映射關系,是目前應用廣泛的神經網絡模型之一[7]。本文提出的光伏發電功率神經網絡預測模型結構如圖2所示。 圖2 光伏發電功率預測神經網絡模型結構圖 1) 輸入層與輸出層 預測模型的輸入變量為相似日6∶00-19∶00每小時的輸出功率、日平均溫度、日最高溫度,日最低溫度以及預測日的天氣數據,輸入層節點數為20個;輸出層的變量為預測日6∶00-19∶00期間每小時的輸出功率平均值,因此輸出層的節點數為14個。 2) 隱含層層數及節點數 增加隱含層數可以降低神經網絡訓練誤差,過多的隱含層數會使模型結構變得復雜化,出現“過擬合”現象,降低估算精度。本文選用一個隱含層的神經網絡結構完成對光伏發電功率的預測。 神經網絡隱含層節點數按目前常用經驗公式進行計算,本文采用的計算公式如式(6)所示。 (6) 式中:N為隱含層節點數;m為輸入層節點數;n為輸出層節點數;a為在區間[0,10] 內的常數。 為進一步提高神經網絡預測的準確性,本文選取5個樣本日對隱含層節點數進行數值實驗,計算其平均相對誤差,確定最佳的隱含層節點數為9。 為了更好地對BP神經網絡進行訓練和驗證,避免直接使用原始數據進行訓練而引起神經元過飽和,在構造神經網絡模型之前將訓練樣本數據和預測樣本數據進行歸一化處理。本文選擇單極性Sigmoid函數作為隱含層和輸出層的激活函數,歸一化公式如式(7)所示。 (7) 式中Xn、Xmax、Xmin分別為原始輸入數據、原始輸入數據中的最大值、最小值。 為驗證ACO-BP神經網絡預測模型的準確性,將粒子群算法(PSO)也引入BP模型參數的選取中,將PSO-BP神經網絡預測模型的預測結果與ACO-BP相比較,驗證ACO-BP模型的優越性。 根據本文的分析,需要對日照類型進行分類。按照相似日將這些歷史數據分為晴天、陰天和雨天不同組的數據,并將每日的平均溫度、日最高溫度和日最低溫度作為輸入量輸入模型。研究取各種天氣類型相似日中的一天(非樣本數據)作為預測日,并用ACO-BP預測模型進行功率預測。為方便分析,同時采用傳統BP算法和PSO-BP算法訓練的模型預測,對3個預測日:2018年9月29日(晴)、2018年9月6日(陰)和2018年9月20日(雨)進行光伏發電功率預測,最終得出如圖3、圖4和圖5所示的結果。 圖3 9月29日晴 圖4 9月6日陰 圖5 9月20日雨 從上述功率預測圖中可看出: 1) 在晴天天氣類型下,3種模型的預測效果相比于其他天氣類型要高。晴天天氣下,太陽輻射強度較高,而其他天氣因為日照類型不同、日最高最低溫度和平均溫度的不同等原因,增加了光伏系統發電功率預測的不確定和隨機性,導致模型的預測精度降低。 2) 在3種天氣類型下,ACO-BP神經網絡模型預測結果與實際光伏發電功率的吻合度相比于BP神經網絡和PSO-BP神經網絡都要高。 針對構造的預測模型,采用平均絕對百分比誤差MAPE對其預測的發電結果進行分析,評估整體的預測能力,其計算式(8)如下: (8) 式中:Pact,i為光伏陣列發電量實際值;Pfore,i為光伏陣列發電量預測值;N為預測樣本數量。對圖3中晴天的光伏陣列發電預測及實際值進行預測誤差指標分析,其預測結果如表1所示,誤差結果如表2所示。 表1 2018年9月29日預測值和實際值 單位:W 從表2中可以看出:ACO-BP預測模型比其他兩種模型預測得效果要好。在晴天天氣類型下,其預測精度相比于BP預測模型高34.21%,相比于PSO-BP預測模型高10.73%;在陰天天氣類型下,其預測精度相比于BP預測模型高29.97%,相比于PSO-BP預測模型高12.63%;在雨天天氣類型下,其預測精度相比于BP預測模型高31.04%,相比于PSO-BP預測模型高9.67%。 表2 各種天氣類型下每個模型的預測誤差 單位:% 本文采用蟻群算法,利用其優秀的全局尋優能力,對神經網絡初始權閾值進行了優化,在一定程度上避免了BP神經網絡易陷入局部最優的問題,并將改進的ACO-BP模型用于光伏發電功率預測。從預測結果表明:結合了蟻群算法與 BP 神經網絡的優點,ACO-BP神經網絡模型相比于傳統BP模型有更好的預測效果。通過與PSO-BP神經網絡預測結果對比發現:ACO-BP神經網絡光伏系統發電功率預測模型的預測性能略優于PSO-BP神經網絡,驗證了本模型的合理性和準確性,方便電網調度機構制定更加合理的光伏發電運行方式,加強光伏發電并網的能力。3 ACO-BP算法

4 ACO-BP預測模型設計
4.1 BP神經網絡

4.2 預測模型設計
4.3 數據歸一化處理
5 預測結果分析
5.1 預測結果



5.2 不同天氣類型誤差比較


6 結語