趙越
(中國(guó)電力科學(xué)研究院有限公司,北京 100192)
隨著智能電網(wǎng)建設(shè)的實(shí)施和智能傳感設(shè)備的大量安裝,由此產(chǎn)生了超大數(shù)量的電力數(shù)據(jù)[1]。如何有效地分析、利用這些數(shù)據(jù),為電網(wǎng)運(yùn)營(yíng)商帶來(lái)顯著的經(jīng)濟(jì)效益,成為了電力系統(tǒng)研究的熱點(diǎn)問(wèn)題[2]。
目前,數(shù)據(jù)分析方法已普遍應(yīng)用于電力行業(yè),例如用戶分類、負(fù)荷預(yù)測(cè)等。其中,負(fù)荷預(yù)測(cè)是大量專家學(xué)者關(guān)注的熱點(diǎn)問(wèn)題[3]。通過(guò)對(duì)當(dāng)前及未來(lái)一段時(shí)間內(nèi)的負(fù)荷作出精準(zhǔn)預(yù)測(cè),以最大程度地保證電力系統(tǒng)對(duì)負(fù)載不間斷的可靠供電[4],且負(fù)荷預(yù)測(cè)支持電力需求與生產(chǎn)之間的平衡,能夠降低生產(chǎn)成本和規(guī)劃未來(lái)的產(chǎn)能[5]。對(duì)于負(fù)荷預(yù)測(cè)模型,主要分為統(tǒng)計(jì)模型和機(jī)器學(xué)習(xí)模型兩種[6-7]。而統(tǒng)計(jì)模型已無(wú)法適應(yīng)智能電網(wǎng)海量電力數(shù)據(jù)的處理,基于機(jī)器學(xué)習(xí)的電力數(shù)據(jù)分析方法能夠較優(yōu)地掌握負(fù)荷與環(huán)境因素的內(nèi)在聯(lián)系,并實(shí)現(xiàn)較為理想的預(yù)測(cè)精度[8]。
由于單一機(jī)器學(xué)習(xí)算法的處理性能較差,從而提出了一種結(jié)合遺傳算法(Genetic Algorithm,GA)和長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)的電力數(shù)據(jù)分析方法[9]。利用GA 改進(jìn)LSTM 網(wǎng)絡(luò),并通過(guò)改進(jìn)后的LSTM 分析電力數(shù)據(jù)來(lái)實(shí)現(xiàn)精準(zhǔn)預(yù)測(cè)。
在電力數(shù)據(jù)輸入預(yù)測(cè)模型之前,需要對(duì)其進(jìn)行預(yù)處理,并將預(yù)處理后的數(shù)據(jù)集劃分成3 個(gè)集合,即訓(xùn)練集、驗(yàn)證集和測(cè)試集。
輸入用戶分類及負(fù)荷預(yù)測(cè)模型的數(shù)據(jù)x是預(yù)測(cè)時(shí)間前一周中,每小時(shí)的電量數(shù)據(jù)與相應(yīng)的溫度、節(jié)假日等信息,輸出時(shí)標(biāo)記數(shù)據(jù)為待預(yù)測(cè)時(shí)刻的實(shí)際負(fù)荷。
采用數(shù)據(jù)歸一化方法將負(fù)荷與溫度數(shù)據(jù)預(yù)處理成(1,2)之間的數(shù)值,并采用啞變量表示節(jié)假日信息。其中0代表非節(jié)假日,1則代表節(jié)假日[10]。假定歷史負(fù)荷與天氣數(shù)據(jù)集是m×n的矩陣,則X表示為:
對(duì)原始數(shù)據(jù)集矩陣每一列的數(shù)據(jù)進(jìn)行歸一化處理:
LSTM 網(wǎng)絡(luò)是由LSTM 單元組成的深層循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)模型,與其他現(xiàn)有的全連接前饋網(wǎng)絡(luò)不同。通過(guò)在模型中共享參數(shù),RNN 可以被推廣到訓(xùn)練過(guò)程中的不可見(jiàn)序列長(zhǎng)度,其適用于建模序列問(wèn)題和一些由于循環(huán)連接而獲得的信息[11]。然而,RNN 存在消失和梯度爆炸的問(wèn)題。為此,采用LSTM 網(wǎng)絡(luò)處理電力數(shù)據(jù),其能夠向后保留1 000 個(gè)時(shí)間步長(zhǎng)以上的信息,且比簡(jiǎn)單的RNN 擴(kuò)展了更長(zhǎng)的時(shí)間序列。其中LSTM 網(wǎng)絡(luò)的結(jié)構(gòu)如圖1 所示。
圖1 LSTM網(wǎng)絡(luò)結(jié)構(gòu)
LSTM 塊中包含了存儲(chǔ)單元、輸入、輸出和遺忘門,單元之間有一個(gè)反復(fù)的聯(lián)系。該單元在隨機(jī)時(shí)間間隔上傳送“狀態(tài)”值,并由單元的每個(gè)門執(zhí)行寫(xiě)入、讀取和復(fù)位操作[12]。除非輸入門允許,否則相關(guān)數(shù)值不能被存儲(chǔ)在單元格中。在時(shí)刻為t處的輸入值it和存儲(chǔ)單元的候選值的推導(dǎo)公式如下:
式中,ω是權(quán)重,u是矩陣,b是偏差。遺忘門處理狀態(tài)單元的權(quán)重,遺忘門的值計(jì)算如下:
存儲(chǔ)單元的狀態(tài)更新如下:
存儲(chǔ)單元的新?tīng)顟B(tài)有助于確定輸出門的數(shù)值:
LSTM 單元的最終輸出值為:
當(dāng)使用LSTM 進(jìn)行負(fù)荷預(yù)測(cè)時(shí),時(shí)間延遲、日期和溫度等相關(guān)變量的特征被用作輸入[13]。對(duì)于LSTM 模型預(yù)測(cè)而言,時(shí)滯起著較為重要的作用,層數(shù)、每層神經(jīng)元數(shù)和批量大小也是LSTM 優(yōu)化模型的重要因素。
GA 是一種隨機(jī)的元啟發(fā)式優(yōu)化算法,其包含模仿自然遺傳與進(jìn)化概念的算子,如交叉和變異[14]。GA 算法的處理流程如圖2 所示。
圖2 GA的處理流程
GA 的處理過(guò)程可分為6 個(gè)階段:初始化、計(jì)算適應(yīng)度、檢查終止條件、交叉、選擇和變異。在初始化階段,搜索空間中任意選擇一條染色體,然后根據(jù)預(yù)設(shè)的適應(yīng)度函數(shù)確定染色體的適應(yīng)度。對(duì)于GA等優(yōu)化算法,適應(yīng)度函數(shù)是影響模型性能的關(guān)鍵因素。一些染色體在這一過(guò)程中被反復(fù)選擇,而有些染色體未經(jīng)選擇就消失了,因?yàn)檫@些染色體是根據(jù)適應(yīng)度函數(shù)的適應(yīng)性隨機(jī)選擇產(chǎn)生的。這也意味著顯性染色體有更高的機(jī)會(huì)遺傳到下一代,所選擇的顯性染色體經(jīng)過(guò)相似片段的交換和基因組合的改變可以產(chǎn)生后代。
在交叉過(guò)程中,基于現(xiàn)有的解決方案可以產(chǎn)生出新的解決方案。在突變過(guò)程中,選擇一條染色體改變一個(gè)隨機(jī)選擇的位,從而通過(guò)隨機(jī)交換將多樣性引入解決方案池[15]。通過(guò)選擇、交叉和變異,采用新生成的染色體計(jì)算模型的適應(yīng)度并驗(yàn)證終止準(zhǔn)則。所提方法中,將預(yù)測(cè)模型的均方根誤差(Root Mean Square Error,RMSE)作為適應(yīng)度值。
對(duì)于LSTM模型,尋找最優(yōu)的時(shí)滯(超參數(shù))值、隱藏層數(shù)、批量大小等是一個(gè)困難且不確定的多項(xiàng)式問(wèn)題,因此從一組可能的組合中尋找超參數(shù)的最佳數(shù)目,可以看作是一個(gè)搜索和優(yōu)化的問(wèn)題[16]。在迄今為止的研究中,GA 是一種有效的算法,通過(guò)它可以獲得幾乎最優(yōu)的超參數(shù)集。所以將GA用于優(yōu)化LSTM模型,以選擇最佳的視窗大小、神經(jīng)元數(shù)目與批量大小。基于GA-LSTM的負(fù)荷預(yù)測(cè)模型流程如圖3所示。
圖3 基于GA-LSTM的負(fù)荷預(yù)測(cè)模型
在所提模型中,遺傳算子開(kāi)始搜索空間之前對(duì)具有可能解的種群進(jìn)行初始化。其中使用的染色體編碼為二進(jìn)制位,表示時(shí)間窗口大小、批量大小和神經(jīng)元數(shù)量。通過(guò)一個(gè)預(yù)設(shè)的適應(yīng)度函數(shù)來(lái)判斷解,選擇最小的RMSE 作為最優(yōu)解。為了獲得問(wèn)題的最優(yōu)解,種群規(guī)模、迭代數(shù)與基因長(zhǎng)度均起著重要作用,分別設(shè)置為100、3 和14。利用GA 尋得LSTM 網(wǎng)絡(luò)的最優(yōu)參數(shù),將優(yōu)化后的LSTM 網(wǎng)絡(luò)用于電力數(shù)據(jù)處理,以得到負(fù)荷的精準(zhǔn)預(yù)測(cè)。
文中采用Python3.7 語(yǔ)言作為編程平臺(tái),進(jìn)行電力數(shù)據(jù)分析。由于LSTM 網(wǎng)絡(luò)和GA 算法中均有大量的數(shù)據(jù)需要處理,則需要一臺(tái)功能強(qiáng)大的計(jì)算機(jī)。計(jì)算機(jī)的硬件配置為:Intel?Core?I78665UE處理器、16 GB RAM、1 TB 硬盤(pán)、GEFORCE GTX 1050 顯卡等。
通過(guò)計(jì)算平均絕對(duì)誤差(Mean Absolute Error,MAE)和RMSE,確定GA-LSTM 網(wǎng)絡(luò)的數(shù)據(jù)分析性能。MAE 定義為預(yù)測(cè)值與實(shí)際值之間絕對(duì)誤差的平均值,反映了預(yù)測(cè)值的實(shí)際誤差。RMSE是預(yù)測(cè)值與實(shí)際觀測(cè)值之差的樣本標(biāo)準(zhǔn)差。MAE和RMSE的定義分別如下:
式中,n為采樣數(shù)量,y′為模型預(yù)測(cè)值,y為實(shí)際期望值。
在負(fù)荷預(yù)測(cè)之前,采用K-means 聚類分析的方式將用戶進(jìn)行分類,如此便可剔除各種用電特有性質(zhì)的影響。在實(shí)施聚類算法之前,需要將負(fù)荷數(shù)據(jù)進(jìn)行0-1 標(biāo)準(zhǔn)化處理。數(shù)據(jù)樣本選用764 戶的用電信息,并選取全部用戶30 天的用電量作為30 次聚類實(shí)驗(yàn)的樣本數(shù)據(jù)。同時(shí)將實(shí)驗(yàn)結(jié)果的均值當(dāng)成最終的用戶分類輸出,3 種類型的用戶數(shù)量和用電特性見(jiàn)表1 所示[17]。
從表1 中可看出,種類1 的負(fù)荷特性是存在兩個(gè)用電高峰,且晚高峰比早高峰的電量高,其符合居民的生活習(xí)慣,因此為居民用戶;種類2 的負(fù)荷特性為高峰期較長(zhǎng),幾乎沒(méi)有低峰期,這與工業(yè)或商業(yè)生產(chǎn)經(jīng)營(yíng)時(shí)間相對(duì)吻合,因此其為工業(yè)或商業(yè)用戶;種類3 的負(fù)荷特性為高峰期,出現(xiàn)在上午和下午,這種用電習(xí)慣較多為政府事業(yè)單位。
表1 聚類得到的用戶數(shù)量及用電特性
在明確用戶類型的基礎(chǔ)上,利用所提GA-LSTM預(yù)測(cè)模型進(jìn)行一天內(nèi)的負(fù)荷預(yù)測(cè)。24 小時(shí)內(nèi)實(shí)際和預(yù)測(cè)的電力負(fù)荷曲線如圖4 所示。
圖4 電力負(fù)荷真實(shí)值與預(yù)測(cè)值的曲線
由圖4 可知,所提方法得到的負(fù)荷預(yù)測(cè)值與真實(shí)值尤為接近。由于環(huán)境和人為因素等存在,因此無(wú)法實(shí)現(xiàn)零誤差的預(yù)測(cè)。但所提方法采用GA 優(yōu)化后的LSTM 網(wǎng)絡(luò)進(jìn)行負(fù)荷預(yù)測(cè),已取得了較為理想的預(yù)測(cè)效果。
為了定量論證所提方法的電力數(shù)據(jù)分析性能,將其與文獻(xiàn)[7]、文獻(xiàn)[10]、文獻(xiàn)[15]進(jìn)行對(duì)比。采用MAE 和RMSE 作為評(píng)價(jià)指標(biāo),結(jié)果見(jiàn)圖5 所示。
從圖5 中可看出,相比于其他對(duì)比方法,所提方法的誤差值最小,MAE 與RMSE 值分別為88.32 和120.01。由于所提方法采用GA 優(yōu)化LSTM 的網(wǎng)絡(luò)參數(shù),并利用改進(jìn)后的LSTM 進(jìn)行負(fù)荷預(yù)測(cè),從而獲得高精度的預(yù)測(cè)結(jié)果。文獻(xiàn)[7]采用支持向量機(jī)的方法實(shí)現(xiàn)負(fù)荷預(yù)測(cè),方法較為單一,預(yù)測(cè)效果較差。文獻(xiàn)[10]利用深度學(xué)習(xí)算法進(jìn)行負(fù)荷預(yù)測(cè),雖然預(yù)測(cè)誤差減小,但計(jì)算量巨大。文獻(xiàn)[15]基于GRU-NN 模型完成負(fù)荷預(yù)測(cè),取得了良好的預(yù)測(cè)效果,但缺乏對(duì)門控循環(huán)單元(Gating Recurrent Unit,GRU)網(wǎng)絡(luò)的訓(xùn)練,其性能有待提升。
圖5 負(fù)荷預(yù)測(cè)誤差對(duì)比
電力數(shù)據(jù)分析是電力行業(yè)的重要組成部分,為了向用戶提供穩(wěn)定可靠的電力,電網(wǎng)運(yùn)營(yíng)商需要能夠高精確度地預(yù)測(cè)負(fù)荷,以滿足用戶需求。為此,文中提出了一種結(jié)合GA 和LSTM 的電力數(shù)據(jù)分析方法。在采用GA 算法優(yōu)化LSTM 網(wǎng)絡(luò)的基礎(chǔ)上,利用優(yōu)化后的LSTM 網(wǎng)絡(luò)分析電力數(shù)據(jù),從而實(shí)現(xiàn)負(fù)荷可靠預(yù)測(cè)。另外,基于Python 仿真平臺(tái)對(duì)所提方法進(jìn)行實(shí)驗(yàn)分析。結(jié)果表明,所提方法能夠獲取負(fù)荷特性并完成用戶分類,將用戶分成了居民、商業(yè)或工業(yè)、事業(yè)政府單位3 種。同時(shí)負(fù)荷預(yù)測(cè)的結(jié)果與真實(shí)值較為接近,MAE 與RMSE 值分別為88.32和120.01,均優(yōu)于其他對(duì)比方法,具有一定的應(yīng)用價(jià)值。
文中在考慮批量選擇的基礎(chǔ)上,將LSTM 與GA相結(jié)合,為時(shí)間序列預(yù)測(cè)的研究奠定了基礎(chǔ)。在接下來(lái)的研究中,將嘗試通過(guò)增加隱層來(lái)提高LSTM 模型的精度,并嘗試構(gòu)建LSTM 和人工神經(jīng)網(wǎng)絡(luò)的混合模型,以進(jìn)一步提高電力數(shù)據(jù)分析的精度,從而更優(yōu)地服務(wù)于電力行業(yè)。