王明馨,鄭瑛楠,鄧卓夫
(1.沈陽農業大學 水利學院,遼寧 沈陽 110866;2.東北大學 軟件學院,遼寧 沈陽 110169)
由于電能無法大量儲存,通常情況下為即發即用[1]。因此準確的電力系統負荷預測可有效地平衡供需關系,并大幅度降低發電成本,有助于改善電力系統的經濟效益,同時提高其環境效益[2]。在電力負荷預測方面,傳統預測模型通常包括差分整合移動平均自回歸模型、卡爾曼濾波模型、參數回歸模型等[3]。隨著人工智能技術的快速發展,神經網絡、專家系統、支持向量機等模型在電力系統負荷預測中的應用已成為主流[4]。
Elman 神經網絡在前饋神經網絡中添加一層連接層作為單步延遲算子,以達到記憶的目的,并使該系統具有較為實用的時變特性,能夠適用于電力負荷預測[5-6]。但對于未知的非線性模型容易陷入局部最優,僅具有非線性擬合能力的Elman 神經網絡在尋優方面仍有待加強[7]。近年來,神經網絡的非線性擬合能力與智能算法的非線性優化相結合已成為解決非線性模型的趨勢[8],但部分研究對于負荷預測的效率及準確度仍有待提升[9]。
因此,文中采用細菌覓食算法(Bacterial Foraging Algorithm,BFA)改進Elman 神經網絡,構建了基于BFA-Elman的電力負荷可靠性預測系統,并通過實驗分析驗證系統預測的準確性和高效性。
通常而言,Elman 神經網絡依次包含輸入層、隱藏層、接收層以及輸出層4 層網絡。其具體結構如圖1 所示。

圖1 Elman神經網絡結構圖
輸入層起到信號傳輸的作用,而輸出層起到線性權重的作用[10-11]。隱藏層的傳遞函數可以采用線性函數或非線性函數,承接層用于存儲前一時刻隱藏層的輸出值,并返回到網絡的輸入[12]。
Elman 神經網絡的非線性狀態空間表達式為:

式中,x、y、u分別表示中間層、輸出層以及輸入層的節點向量;xc(k)是承接層的反饋向量;ω1、ω2、ω3分別是承接層連接中間層、輸入層連接中間層、中間層連接輸出層的權重。
2002 年Kevin M.Passino 基于大腸桿菌在人體腸道內吞噬食物的覓食行為,提出了一種仿生優化算法—細菌覓食算法(BFA),該算法的核心機制包括趨向、繁殖和遷移等操作[13]。
1)趨向:個體適應度可以通過游動和翻轉進行改善。游動過程不改變個體方向,當適應度不能再通過游動改善時則進行翻轉,使游動方向隨機改變。具體表達如下:

式中,j、k、l分別為趨化次數、繁殖次數和遷移次數;θi(j,k,l)為個體i在對應次數的趨化、繁殖和遷移后的位置;S(i)與?(j)分別為個體i游動步長及隨機翻轉后的方向。
2)繁殖:根據適應度對個體進行排序,并選擇適應度靠前的個體為繁殖操作的父代。在不考慮變異的情況下,子代個體將繼承父代個體的所有屬性。
3)遷移:適應度較差的個體新位置按遷移概率進行隨機選取。
定義t時刻網絡的權值調整誤差函數為:

式中,y(t)與yd(t)分別為第i個輸出節點的期望輸出和實際輸出。
將E(t)對ω3求偏導,可得:

同樣,將誤差函數E(t)對權值ω2、ω1進行求偏導。由可以得到BFA-Elman 神經網絡學習算法,計算過程為:

Elman 神經網絡算法的性能受諸多因素影響,主要包括學習算法、激勵函數、初始時各層的權值和閾值以及網絡結構等。因此,為了獲得更優的預測精度,利用BFA 算法對Elman 神經網絡進行改進。BFA 在處理高維度問題時能夠避免早熟收斂,其具有較高的尋優效率[14]。因此,利用BFA 算法對Elman的權值和閾值進行改進,解決其本身拓撲結構的多樣性和權值閾值的不確定性問題[15-16]。基于BFAElman的電力負荷可靠性預測流程如圖2 所示。

圖2 基于BFA-Elman的電力負荷可靠性預測流程
在進行可靠預測時,首先對電力負荷的歷史數據進行預處理,然后利用BFA 改進Elman 神經網絡,得到最優的權值閾值。最終將預處理后的電力數據輸入優化后的Elman網絡,以實現電力負荷的可靠預測。
由于各個環節均可能存在數據丟失、缺損的情況,從而造成異常數據的產生,而這都有可能影響預測模型的精度。電力負荷具有一定的周期性,在同一時刻負荷具有一定的相似性,其變化范圍波動較小。若超出這一范圍,則可判定為異常數據,表達如下:

式中,x(i,t)為第t個時刻的負荷值;?(t)為閾值,其根據實際情況可預先設定。
當檢測出異常數據后,通過對突變負荷的平滑處理,可使得數據波動較小。具體處理如下:

式中,(t)為負荷平均值。
輸入輸出數據的直接差異較大容易導致嚴重的預測誤差,因此對所有數據進行了歸一化處理如下:

式中,xmax、xmin分別是數據的最大值和最小值;xi、分別是歸一化前后的數據。根據式(10)對優化后的Elman 神經網絡的預測數據進行反向歸一化,以獲得預測負荷值:

式中,yi和分別是逆歸一化前、后的預測數據。
實驗中使用了某省市一天內的實際電力負載數據,每半小時收集一次,共48 組數據。同時選擇30天總共1 440 個數據作為實驗數據,如圖3 所示。

圖3 電力負荷歷史數據信息
實驗中,使用單步滾動預測模型,選擇第一批1 383 個樣本作為訓練集,最終選擇了48 個樣本作為測試集。Elman神經網絡設置為9-11-1結構,輸入層中的神經元數量為9;隱藏層中的神經元數量為11;輸出層中的神經元數量為1。誤差設置為0.000 1,最大訓練頻率為2 000 次/s。
為了論證BFA-Elman 神經網絡的尋優性能,將其與傳統Elman 神經網絡在預測所需時間上進行對比。數據量對預測時間的影響如圖4 所示。

圖4 數據量對預測時間的影響分析
由圖4 可知,當數據樣本較小時則兩種算法所需預測時間相差較小。甚至傳統Elman 網絡所需要的時間略優于BFA-Elman 網絡模型。因此所提模型在小樣本集下仍需利用BFA 進行尋優,影響了其預測速度。但隨著樣本集的增大,預測算法所需的迭代時間有了明顯不同。傳統Elman 網絡受數據量的影響較大,而所提BFA-Elman 網絡的處理則能力較強。當數據量為10 240 MB 時,完成負荷預測的時間不超過20 s。
對優化前后的Elman 神經網絡模型分別進行負荷預測。其預測結果準確率如圖5 所示。

圖5 優化前后的負荷預測曲線對比
從圖5 中可看出,所提BFA-Elman 網絡得到的負荷預測值與真實值尤為接近,而Elman 網絡與真實值存在一定的偏差。因此,所提模型采用BFA 算法優化Elman的網絡參數,能夠提高預測的精度。
為了定量分析所提模型的預測性能,將其與Elman 網絡預測值的相對誤差進行對比分析。以選取一天的負荷數據為例,結果見表1 所示。

表1 負荷預測相對誤差對比
由表1 可知,通過BFA 優化權值和閾值,能夠顯著提高模型的預測性能。基于Elman 神經網絡的平均預測絕對誤差為1.45%,最大預測絕對誤差為2.56%。BFA-Elman 神經網絡的平均預測絕對誤差為0.41%,最大預測絕對誤差0.69%。可以看出,采用BFA-Elman 神經網絡可以有效提高預測精度。
負荷預測可靠性的提高對于提升發電設備的利用率和經濟調度均具有重要意義。為此,文中設計了一種基于BFA-Elman 電力負荷可靠性的預測系統。通過BFA 優化Elman 網絡模型的結構參數獲得最佳的權值和閾值,并利用BFA-Elman 網絡構建電力負荷預測模型,以實現可靠預測。實驗結果表明,預測誤差均值為0.41%,低于對比方法。由于文中只考慮了短期電力負荷,對于更長時間的預測缺乏研究。在接下來的工作中,將通過優化預測模型提高更長時間電力負荷預測的可靠性。