王 童
(浙江理工大學 計算機科學與技術學院,浙江 杭州 310018)
近年來,隨著能耗雙控政策的升級,多地發布了限電令,許多大型能耗企業被迫限電停產,購電價格也再次提高。如何節省成本、合理安排用電成為許多鋼鐵企業亟需解決的問題。在此情況下,鋼鐵行業只有對消耗的電力狀況進行精準預測,才能避免電力資源浪費,并制定有效的電力管理策略,以保證在能耗雙控的政策下,企業能夠合理分配電力資源,保證正常生產[1]。
針對電力負荷預測的研究,主要是基于其時序性的特點[2],根據時間序列疊加來預測未來負荷的數據[3]。傳統的電力預測方法主要以基于統計學方法的預測為主[4],包括自回歸分析、指數平滑模型等方法。傳統電力預測方法的模型較為簡單,受人工影響因素較大[5],無法針對電力負荷數據的特點進行擬合,因此準確性不高。現代的電力預測方法主要以基于機器學習和神經網絡的預測為主[6],包括隨機森林、極限學習機(Extreme Learning Machine,ELM)和循環神經網絡(Recurrent Neural Network,RNN)等[7-9]。龔飄怡等[10]提出一種基于Attention-BiLSTMLSTM 的預測方法,將Attention 注意力機制與BiLSTMLSTM 混合預測模型疊加,結合BiLSTM 與LSTM 的優勢,驗證了預測模型在電力預測方面的有效性;張子陽等[11]等利用灰色關聯和麻雀搜索算法對最小二乘支持向量機(Least Squares Support Vector Machines,LSSVM)進行模型參數優化,提高了LSSVM 模型的準確性和穩定性;張翼飛等[12]通過鯨魚優化算法(Whale Optimization Algorithm,WOA)改進BiLSTM 神經網絡參數,通過對風場發電數據進行訓練,驗證了模型性能,證實了鯨魚優化算法對于神經網絡參數優化的可行性。
在上述的負荷預測算法中,模型參數選取往往是根據經驗手動設置的,對于參數的選擇通常沒有進行深入研究,而神經網絡參數對模型性能有很大影響。因此,本文提出一種基于混合策略改進鯨魚優化算法(Mix Strategy Based Improved Whale Optimization Algorithm,MSWOA)的Attention-BiGRU 短期電力預測模型,利用MSWOA 自動選取神經網絡模型參數。BiGRU 不僅解決了梯度消失和過擬合問題,而且融合了電力負荷數據過去和未來的時序因素[13],結合Attention 注意力機制,考慮不同時間序列的不同影響,分別對時間序列每一個特征賦予不同比重[14-15],再通過MSWOA 對神經網絡模型參數進行優化,預測未來的電力數據。將優化后的模型和BiGRU、Attention-BiGRU、WOA 模型進行比較,結果表明,MSWOA 優化后模型的準確率和穩定性都有一定提高。
GRU 是針對LSTM 的一種變體,其通過引進門機制,將LSTM 中的輸出門和遺忘門合并,減少了LSTM 的訓練參數,并加快了訓練時間。其不僅有效解決了RNN 的梯度消失和梯度爆炸問題,而且在一定程度上緩解了過擬合[16]。GRU 內部由更新門和重置門共同作用,其中更新門與歷史狀態的輸出信息有關,重置門代表當前輸入對歷史狀態的遺忘程度。GRU 具體內部結構如圖1所示。

Fig.1 GRU unit model圖1 GRU單元模型
由圖1可得出GRU 的公式如下:
其中,xt為當前狀態的輸入,ht-1為上一時間步的輸出,hn為當前時刻的輸出,rt、zt分別代表重置門和更新門。Wxr、Whr、Wxz、Whz、Whn和Wxn為權重系數矩陣,bxr、bhr、bxz、bhz、bhn和bxn為偏置項矩陣。σ代表sigmoid 函數,tanh 代表雙曲正切函數,°代表兩個矩陣的點積。
由于GRU 只是沿著時間序列向前傳播,只考慮了歷史數據的影響,而忽略了未來時刻的數據信息。因此,本文選用雙向長短期記憶網絡(Bidirectional Gating Recurrent Unit,BiGRU)作為神經網絡模型,BiGRU 由沿著時間序列前向傳播的GRU 和反向傳播的GRU 疊加而成,可以對電力負荷的雙向時序特征進行有效提取。BiGRU 傳播模型如圖2 所示。通過GRU 的正向傳播和反向傳播,最終決定了ht的輸出結果。

Fig.2 BiGRU propagation model圖2 BiGRU傳播模型
其中,xt為t時刻的輸入為GRU 的正向傳播過程為GRU 的反向傳播過程。
Attention 機制是對人腦視覺注意力的仿生,可以通過注意力機制鎖定重要信息,通過考慮輸入特征對輸出結果的影響來賦予輸入特征以不同權重。由此可以通過權重大小提高某些重要特征輸出占比,同時忽略不重要的特征,以更好地預測輸出結果。Attention 機制原理圖如圖3所示。

Fig.3 Schematic diagram of Attention mechanism圖3 Attention機制原理
鯨魚優化算法是一種模擬鯨魚狩獵過程的仿生優化算法。鯨魚優化算法包含搜索獵物、包圍獵物和螺旋式更新3 個過程。在鯨魚狩獵過程中,鯨魚會根據當前所在位置選擇不同的狩獵方式來更新下一次的位置。
1.3.1 搜索獵物
當進入搜索獵物階段,由于獵物位置不確定,鯨魚個體會隨機尋找獵物,根據隨機個體的位置進行更新,搜尋獵物所在位置。當|A|>1 時,鯨魚根據公式(5)進行位置更新,由鯨魚第t次的位置坐標計算更新第t+1 次的位置坐標。
其中,Xr(t)為隨機鯨魚所在位置,X(t)為第t次更新后鯨魚所在位置,r為0~1 之間的隨機數,a=,T為迭代更新的總次數。
1.3.2 包圍獵物
當|A|≤1 時,鯨魚由搜索獵物階段進入包圍階段,假設鯨魚適應度最優的位置就是獵物所在位置,此時會根據最優個體的位置對鯨魚群體進行更新,按照公式(6)更新鯨魚個體的位置。
其中,X*(t)為鯨魚適應度最優的位置。
1.3.3 螺旋式更新
螺旋式更新是鯨魚獨有的狩獵方式,通過螺旋式游動更新位置,邊包圍邊將獵物逼向海面對其進行圍捕,更新公式如下:
其中,b為常數,l是[-1,1]之間的隨機數。
鯨魚在螺旋式更新的同時還需要對獵物進行圍捕,為了模擬兩種圍捕方式,需要設置隨機概率p實現模擬過程。當p≥0.5 時,鯨魚進行螺旋式更新;當p<0.5 時,鯨魚進行包圍式更新。更新公式如下:
1.3.4 混合策略改進的鯨魚優化算法
針對WOA 算法更新過程中出現的收斂速度緩慢和容易陷入局部最優等問題,混合策略改進的鯨魚優化算法在WOA 基礎上進行了優化改進。通過引入非線性收斂因子和自適應權值,分別對前后期的WOA 算法進行分段式處理,有效加快了搜索速度,引導算法跳出局部最優解,提高了算法的穩定性[17]。收斂因子a的計算公式如下:
更新后的MSWOA 算法如下:
在循環神經網絡的訓練中,隱藏層節點數、迭代次數和學習率的選取對神經網絡模型的性能影響非常大。在傳統的神經網絡訓練中,參數選取是根據經驗人工進行調節的,受主觀因素影響很大,網絡性能受到影響將無法得出最優模型。因此,本文提出利用MSWOA 優化算法對網絡參數進行選擇,將神經網絡參數作為鯨魚的位置,選擇均方誤差作為適應度函數。
其中,m為訓練樣本數,yi為實際值為預測值。
通過混合策略改進的鯨魚優化算法對參數位置進行更新,選取出適應度最好的參數作為神經網絡的模型參數。優化后的網絡參數不僅解決了神經網絡容易陷入局部最優解的問題,而且提高了Attention-BiGRU 網絡模型的精度。算法實現過程如圖4所示。

Fig.4 MSWOA-based Attention-BiGRU training process圖4 基于MSWOA的Attention-BiGRU 訓練過程
具體實現步驟如下:
(1)搭建神經網絡模型,設置鯨魚的種群數量和優化算法迭代次數。選取隱藏節點數、迭代次數和學習率作為鯨魚的位置坐標,利用Sobol 隨機序列對鯨魚群體位置進行初始化。
(2)利用公式(11)計算出鯨魚個體的適應度,隨機初始化參數r和p,根據r計算A的值,根據p和A判斷鯨魚的狩獵方式,并根據公式(10)更新鯨魚群體的位置。
(3)重復步驟(2)直到達到迭代次數,計算迭代之后的鯨魚個體適應度,輸出適應度最好的個體坐標作為神經網絡參數。
(4)利用得到的神經網絡參數搭建Attention-BiGRU神經網絡模型,結合電力負荷數據進行訓練驗證,并對日負荷數據進行預測,根據預測結果判斷神經網絡的性能。
為了驗證算法性能,本文選用2016年電工數學建模競賽的電力負荷數據集進行訓練[18]。將2012 年1 月1 日—2015 年1 月9 日的電力負荷數據按照8:2 的比例劃分,分為訓練集和驗證集,對網絡模型進行訓練,并對2015 年1月10 日的日數據進行預測。本文選擇均方根誤差(RMSE)和平均絕對百分比誤差(MAPE)作為評價指標。
其中,yi為真實值為預測值,m為預測日負荷點數。
2.2.1 異常數據處理
考慮到記錄電力負荷時,若由于突發狀況導致電力數據異常,會出現突然的負荷數據過大或過小的情況,從而影響神經網絡訓練性能,導致預測結果不準確,因此需要對電力負荷數據進行修正。根據公式(14)判斷是否為異常數據[19],如果滿足公式(14),說明該點數據異常,將相鄰兩點的電力負荷數據均值作為該點的修正值。
其中,yi為第i個時刻的電力負荷數據,m為預測日負荷點數。
2.2.2 數據歸一化處理
本文采用每日的整點電力負荷數據進行預測,選取前7 天的數據,并對后一日的數據進行預測。因此,輸入數據維度為24,時間序列長度為7,輸出數據維度為24。為了便于訓練、加快網絡收斂速度,需要對數據進行歸一化處理,利用公式(15)對電力負荷數據進行歸一化,將數據轉換到[0,1]范圍內。
其中,x是日負荷數據,xmin是日負荷數據最小值,xmax是日負荷數據最大值。
本文將MSWOA 優化的Attention-BiGRU 網絡模型與BiGRU、Attention-BiGRU 和WOA 優化的Attention-BiGRU模型進行比較,驗證MSWOA 算法對網絡性能提升的有效性。其中,BiGRU 和Attention-BiGRU 的輸入節點數為24,隱藏層節點數為32,輸出節點數為24,訓練迭代次數為250,學習率為0.01。WOA 和MSWOA 初始化鯨魚種群數量為10,最大迭代次數為30,鯨魚位置維度為3,并通過優化算法自動選取隱藏層節點數、學習率和迭代次數來搭建神經網絡進行訓練。
采用WOA 算法和MSWOA 算法對神經網絡參數進行優化,得出神經網絡的最佳參數如表1所示。

Table 1 Network parameters obtained after algorithm optimization表1 算法優化后得到的網絡參數
訓練4 種神經網絡模型,并對某一天的神經網絡進行預測,預測結果如圖5 所示。計算預測日的RMSE 和MAPE 如表2所示。

Table 2 Comparison of the error of different models for one day表2 不同模型一天的誤差比較

Fig.5 Prediction results of different models for one day圖5 不同模型一天的預測結果
由表2 可知,MSWOA 的RMSE 和MAPE 都低于其他模型。MSWOA 的MAPE 為1.171%,分別比BiGRU、Attention-BiGRU、WOA 低了1.184、0.923、0.479 個百分點;RMSE 為108.834 MW,分別比BiGRU、Attention-BiGRU、WOA 低了115.368、88.760、72.341 MW。
為了更好地判斷神經網絡模型的性能,對電力數據進行連續7 天的電力預測,預測結果如圖6 所示。計算預測日的RMSE 和MAPE 如表3所示。

Table 3 Comparison of the error of different models for seven days表3 不同模型7天的誤差比較

Fig.6 Prediction results of different models for seven days圖6 不同模型7天的預測結果
由表3 可知,MSWOA 的RMSE 和MAPE 都低于其他模型。MSWOA 的 MAPE 為3.611%,分別比BiGRU、Attention-BiGRU、WOA 低了2.637、0.826、0.560 個百分點;RMSE 為300.734 MW,分別比BiGRU、Attention-BiGRU、WOA 低了181.388、30.262、40.030 MW。根據預測結果可知,由MSWOA 算法優化得到的網絡模型,相較于其他網絡模型的性能更好,證明了MSWOA 算法能夠有效提升神經網絡的預測性能。
本文針對短期電力負荷預測提出一種基于MSWOA 的Attention-BiGRU 網絡模型,利用BiGRU 的時序性預測特性,引入Attention 注意力機制提高神經網絡的性能,并通過混合策略改進的鯨魚優化算法自動選取隱藏層數、訓練次數和學習率。結合電力負荷數據進行驗證,實驗結果證明,MSWOA 可有效提高神經網絡的預測精度。同時與WOA 相比,MSWOA 在神經網絡參數尋優過程中更具有優勢,改善了WOA 收斂速度慢的缺點。由于本文只是針對單一電力負荷數據參數進行驗證,未來可考慮加入天氣等其它因素進一步驗證模型性能。