李松嶺
近年來(lái),由于我國(guó)電力領(lǐng)域市場(chǎng)的建立、發(fā)展日趨完善,電力負(fù)荷的預(yù)測(cè)也逐步成為電力系統(tǒng)運(yùn)行經(jīng)濟(jì)化以及構(gòu)建智能電網(wǎng)的主要模塊[1],同時(shí)也是電力領(lǐng)域里研究的重要課題。在如今的電力大數(shù)據(jù)環(huán)境下,電力工作者對(duì)電力負(fù)荷預(yù)測(cè)進(jìn)行了大量的研究。目前常見(jiàn)的模型有:時(shí)間序列[2]、決策樹(shù)[3]、支持向量機(jī)[4]、灰色理論[5]、模糊理論[6]和人工神經(jīng)網(wǎng)絡(luò)[7]等。但是,由于電力負(fù)荷的模糊性及非線(xiàn)性的特點(diǎn),使這些方法在預(yù)測(cè)時(shí)已遠(yuǎn)遠(yuǎn)不能達(dá)到負(fù)荷預(yù)測(cè)的精度和實(shí)時(shí)性要求。因此,基于深度學(xué)習(xí)工具TensorFlow的深度學(xué)習(xí)LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)的處理方法應(yīng)運(yùn)而生。從目前看來(lái),深度學(xué)習(xí)方法隨著計(jì)算機(jī)計(jì)算性能的提升,其方法在包括圖像分析、自然語(yǔ)言處理等各個(gè)領(lǐng)域大放異彩。該算法應(yīng)用于電力負(fù)荷預(yù)測(cè)領(lǐng)域,在提升短期電力負(fù)荷預(yù)測(cè)精度方面對(duì)比傳統(tǒng)機(jī)器學(xué)習(xí)方法有較大提升。
在短期電力負(fù)荷預(yù)測(cè)中,分析及獲取影響短期負(fù)荷的特征因素極為重要。經(jīng)過(guò)分析并參考大量的文獻(xiàn)[8,9],選取以下特征作為衡量負(fù)荷的關(guān)鍵因素:
(1)時(shí)間因素(粒度精確到15分鐘)。電力負(fù)荷的大小會(huì)隨用電時(shí)間的峰谷而顯著變化,因此,其屬于時(shí)間序列數(shù)據(jù),這也是使用LSTM算法可以高精度預(yù)測(cè)的原因,它在處理時(shí)間序列數(shù)據(jù)上有優(yōu)秀的成績(jī)。
(2)節(jié)假日因素。節(jié)假日對(duì)于用戶(hù)以及企業(yè)用電都有很大的差別,我們?cè)谔幚頃r(shí)將其離散化,0表示工作日,1表示節(jié)假日。
(3)溫度因素。氣溫的變化也會(huì)顯著的影響發(fā)電量的多少,選取每天的最高氣溫、最低氣溫作為關(guān)鍵特征。
(4)降水量。濕度在很大程度上會(huì)使電廠在發(fā)電量上做出調(diào)整。
(5)是否極端天氣。當(dāng)發(fā)生如雷暴等極端天氣時(shí),會(huì)影響電力的供應(yīng),因此也會(huì)作為一個(gè)重要指標(biāo)納入模型。
在進(jìn)行電力負(fù)荷預(yù)測(cè)時(shí),會(huì)獲取海量的歷史負(fù)荷數(shù)據(jù),其中,往往會(huì)由于機(jī)器或人為的原因,使數(shù)據(jù)中出現(xiàn)一些偏差的離群數(shù)據(jù)以及缺失數(shù)據(jù),這些“壞數(shù)據(jù)”的存在往往會(huì)極大地影響預(yù)測(cè)的精度,因此我們首先進(jìn)行檢測(cè)并加以處理。
針對(duì)異常的數(shù)據(jù),采用如下方法進(jìn)行處理:
(1)概率統(tǒng)計(jì)法對(duì)非異常數(shù)據(jù)進(jìn)行統(tǒng)計(jì),通過(guò)統(tǒng)計(jì)出的置信區(qū)間,識(shí)別處理異常數(shù)據(jù)。
(2)曲線(xiàn)替換法對(duì)一些明顯異于正常負(fù)荷曲線(xiàn)的日負(fù)荷進(jìn)行刪除替換處理。
(3)經(jīng)驗(yàn)修正法從經(jīng)驗(yàn)角度出發(fā),通過(guò)對(duì)比正常負(fù)荷曲線(xiàn),找到某一時(shí)間段的數(shù)據(jù)值。
(4)平均值填補(bǔ)法針對(duì)缺失數(shù)據(jù),取相鄰數(shù)據(jù)的平均值代替。
此外,由于各項(xiàng)特征的量綱不同,如果將不同量綱的數(shù)據(jù)直接導(dǎo)入進(jìn)行模型訓(xùn)練,很容易會(huì)出現(xiàn)模型不收斂的結(jié)果,因此要對(duì)數(shù)據(jù)進(jìn)行歸一化處理:
其中,Xnorm為歸一化后數(shù)據(jù),X為原始數(shù)據(jù),Xmax、Xmin分別為原始數(shù)據(jù)的最大值及最小值。
1.3.1 TensorFlow深度學(xué)習(xí)工具
TensorFlow是谷歌研發(fā)的第二代人工智能學(xué)習(xí)系統(tǒng),它是一個(gè)依靠數(shù)據(jù)流圖進(jìn)行數(shù)值計(jì)算的開(kāi)源軟件庫(kù)。它可以用于包括機(jī)器學(xué)習(xí)和深度學(xué)習(xí)在內(nèi)的各個(gè)方面的研究。由于其高度的靈活性、優(yōu)良的可移植性以及多語(yǔ)言的支持,如今已成為最受歡迎的深度學(xué)習(xí)工具,本文的LSTM算法同樣基于TensorFlow工具進(jìn)行試驗(yàn)開(kāi)發(fā)。
1.3.2 LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural networds,RNN)是一種處理和預(yù)測(cè)序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),可以充分地分析挖掘數(shù)據(jù)中的時(shí)序信息和語(yǔ)義信息。RNN將上幾個(gè)時(shí)刻隱藏層的輸出數(shù)據(jù)作為自身層的輸入,從而使時(shí)間維度信息得到保留。RNN的結(jié)構(gòu)如圖1所示。模塊A輸入Xi,并輸出一個(gè)值Hi,循環(huán)使信息從當(dāng)前步傳遞到下一步。
圖1 RNN結(jié)構(gòu)圖
長(zhǎng) 短 時(shí) 記 憶(Long short term memory,LSTM)型RNN模型是傳統(tǒng)RNN的改進(jìn)。它主要解決了RNN模型的梯度爆炸和梯度彌散的問(wèn)題。如圖2所示。LSTM接受上一時(shí)刻輸出,當(dāng)前時(shí)刻系統(tǒng)狀態(tài)以及當(dāng)前系統(tǒng)輸入,通過(guò)輸入門(mén),遺忘門(mén)和輸出門(mén)更新系統(tǒng)狀態(tài)并輸出最終結(jié)果。
圖2 LSTM結(jié)構(gòu)圖
如以下公式所示,輸入門(mén)為it,遺忘門(mén)為ft,輸出門(mén)為ot,輸入門(mén)決定當(dāng)前時(shí)刻系統(tǒng)輸入,遺忘門(mén)決定遺忘的信息,輸出門(mén)決定最終數(shù)據(jù)輸出的部分。
1.1.4 模型評(píng)價(jià)指標(biāo)
在評(píng)價(jià)回歸預(yù)測(cè)模型時(shí),采用通用的平均誤差(mean absolute percentage error,MAPE)和均方根誤差(root-mean-square error,RMSE)來(lái)描述,計(jì)算的公式如下:
其中,xi為第i時(shí)刻負(fù)荷的實(shí)際值為對(duì)應(yīng)的預(yù)測(cè)值。
我們對(duì)算法的實(shí)際效果進(jìn)行評(píng)估,實(shí)驗(yàn)在Ubuntu 16.04系統(tǒng)下利用TensorFlow 1.3.0開(kāi)發(fā)完成。實(shí)際電腦配置為:英特爾酷睿i7-3770@3.40 GHz處理器,DDR3 800 M Hz,8GB內(nèi)存。實(shí)驗(yàn)數(shù)據(jù)為某市某發(fā)電廠一段時(shí)間內(nèi)的發(fā)電負(fù)荷。
為了便于比較,我們同樣使用相同的數(shù)據(jù),采用目前高精度傳統(tǒng)學(xué)習(xí)隨機(jī)森林算法和邏輯回歸算法對(duì)負(fù)荷進(jìn)行預(yù)測(cè),便于形成對(duì)比,以檢驗(yàn)本文算法的優(yōu)勢(shì)。
表1 相同數(shù)據(jù)量時(shí)不同算法的預(yù)測(cè)誤差百分比
表2 不同數(shù)據(jù)量時(shí)LSTM算法的誤差百分比
從表1和表2可以看出,本文提出的LSTM算法相對(duì)于傳統(tǒng)的隨機(jī)森林算法以及邏輯回歸算法具有更高的預(yù)測(cè)精度。由于深度學(xué)習(xí)算法在訓(xùn)練海量數(shù)據(jù)的過(guò)程中,可以自主學(xué)習(xí)數(shù)據(jù)中隱藏的信息,并使其對(duì)于錯(cuò)誤和離群點(diǎn)更加具有魯棒性。隨著數(shù)據(jù)量的增加,LSTM算法的預(yù)測(cè)精度會(huì)有進(jìn)一步的提升。由此通過(guò)多次的迭代,最終訓(xùn)練出高精度預(yù)測(cè)模型。
通過(guò)使用TensorFlow智能工具,結(jié)合目前最先進(jìn)的深度學(xué)習(xí)LSTM算法對(duì)電力負(fù)荷進(jìn)行預(yù)測(cè),預(yù)測(cè)結(jié)果相對(duì)于傳統(tǒng)機(jī)器學(xué)習(xí)方法有顯著提升。同時(shí),隨著數(shù)據(jù)化時(shí)代的到來(lái),LSTM算法會(huì)在未來(lái)廣闊的空間發(fā)揮更大的作用。