蔡志豪,史洪巖
(沈陽化工大學 信息工程學院,沈陽 110142)
電力負荷預(yù)測是基于系統(tǒng)自身屬性與天氣、季節(jié)等外在因素,按照以往負荷數(shù)據(jù)規(guī)律對日后趨勢進行預(yù)測分析,是電力部門部署籌備的根本。優(yōu)良的預(yù)測模型可以有效維持電網(wǎng)的安全運轉(zhuǎn),有助于制定科學的電力方案,避免能源虛耗。電力負荷預(yù)測按時間分類可以分為短期、中期、長期、超短期預(yù)測[1]。其中,短期預(yù)測時間一般為一天到一周。
關(guān)于電力負荷預(yù)測方法眾多,通常分為以下兩種:經(jīng)典預(yù)測法(如時間序列法[2-3])和人工智能預(yù)測法。人工智能預(yù)測法的核心是機器學習技術(shù),其對非線性以及多因素影響下的負荷數(shù)據(jù)擬合能力更好,學習能力更強,因此,被國內(nèi)外學者廣泛應(yīng)用。文獻[4]利用最小二乘支持向量機(LSSVM)對電力負荷進行預(yù)測,并采用粒子群算法(PSO)對其進行優(yōu)化,預(yù)測效果得到明顯提升。文獻[5]采用模糊聚類與隨機森林算法(RF)相結(jié)合的預(yù)測模型,對負荷數(shù)據(jù)聚類后輸入到隨機森林中進行訓練,再將預(yù)測結(jié)果進行修正,最終成功提高了預(yù)測精度。文獻[6]將改進后的果蠅優(yōu)化算法(FOA)用來搜索BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)初始權(quán)重和閾值,在加快收斂速度的同時提高了預(yù)測精度。隨著互聯(lián)網(wǎng)與計算機技術(shù)的發(fā)展,深度學習逐漸被廣泛應(yīng)用在負荷預(yù)測領(lǐng)域中。文獻[7]提出卷積神經(jīng)網(wǎng)絡(luò)(CNN)與長短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)相結(jié)合的模型,充分利用CNN提取數(shù)據(jù)特征能力與LSTM處理時間序列數(shù)據(jù)能力。文獻[8]通過主成分分析(PCA)對原始數(shù)據(jù)進行壓縮,然后利用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)進行預(yù)測,使得模型具有較低的復(fù)雜度。文獻[9]提出使用隨機森林算法篩選特征,將排除冗余因素后的其余關(guān)聯(lián)特征輸入到門控循環(huán)單元(GRU)進行訓練,降低了模型計算時間。
根據(jù)上述研究,為了進一步提高電力負荷預(yù)測的精度,通過RF算法對電力負荷數(shù)據(jù)與負荷影響因素進行相關(guān)性研究,從而篩選出相關(guān)性較高的影響特征,縮短模型訓練時間。采用雙向長短期記憶神經(jīng)網(wǎng)絡(luò)(BILSTM)進行預(yù)測,考慮正向以及反向的負荷數(shù)據(jù)信息。同時,BILSTM超參數(shù)利用麻雀搜索算法(SSA)進行尋優(yōu)取值。最后,根據(jù)對真實數(shù)據(jù)的預(yù)測結(jié)果對比,證明了所提方法是有效可行的。
隨機森林是對bagging算法進行改良后的集成算法,顧名思義,“隨機”體現(xiàn)在兩個方面:一是利用bootstrap思想從數(shù)據(jù)集中有放回的隨機抽取數(shù)據(jù)[10],即數(shù)據(jù)隨機。二是對所有的樣本特征隨機抽取部分特征,即特征隨機。“森林”意為由多個決策樹構(gòu)成,其中,每棵決策樹對應(yīng)一組由原始數(shù)據(jù)樣本隨機抽取出的訓練樣本。隨機森林有著預(yù)測準確率較高、模型簡單且不易陷入過擬合等優(yōu)點。
隨機森林的實現(xiàn)步驟如下:
1)假設(shè)樣本數(shù)量為M,有放回的抽取m個數(shù)據(jù)作為一顆決策樹的訓練樣本。
2)對于訓練樣本的所有特征N,隨機選擇n(n 3)對于回歸問題基于方差最小化準則在n個特征中選出最優(yōu)特征進行分裂,如式(1)所示。分類問題則采用基尼系數(shù)進行分裂。 (1) 式中:A,s分別為分裂特征以及對應(yīng)的分裂點;R1和R2為劃分的樣本集;c1,c2為R1,R2的輸出均值。 4)決策樹的每個節(jié)點按照步驟3)進行分裂,直至達到分裂限度時停止分裂。 5)生成多棵決策樹,回歸問題根據(jù)所有決策樹的輸出平均值作為隨機森林的最終輸出,分類問題則通過決策樹投票確定最終輸出類別。 此外,隨機森林還有特征選擇的功能,其原理是基于不純度(基尼系數(shù)或方差)變化量[11],即分別計算出數(shù)據(jù)樣本中每個特征在決策樹節(jié)點分裂前后的不純度減小量,對其進行比較,從而得到特征重要性排序,根據(jù)重要性排除相關(guān)性較低的特征,有利于降低模型輸入維度,提高模型效率。 麻雀搜索算法是近兩年提出的新興群智能優(yōu)化算法,具備算法原理簡單、收斂速度快等優(yōu)勢[12]。該算法基于麻雀種群的社會行為將麻雀個體分為發(fā)現(xiàn)者、加入者以及警戒者,發(fā)現(xiàn)者能力較強可以找到食物并為同類指明方向,公式為 (2) 式中:t和T分別為算法當前以及最大更新次數(shù);α為隨機數(shù),其取值范圍為[0,1];Q同樣為隨機數(shù),但服從正態(tài)分布;L為所有元素都是1的行矩陣,其列數(shù)由待求解問題維度確定;R2為大于0小于1的預(yù)警值;ST為大于0.5小于1的安全值。 加入者則通過觀察發(fā)現(xiàn)者的食物來源以便取而代之,公式為 (3) 警戒者需要時刻留意當前環(huán)境,以便發(fā)現(xiàn)危險立即飛往安全環(huán)境。位置更新公式為 (4) RNN相較于其他神經(jīng)網(wǎng)絡(luò)更擅長處理序列數(shù)據(jù)[13],原因在于序列數(shù)據(jù)并不是獨立存在的,其前后具有關(guān)聯(lián)性,RNN中的隱藏狀態(tài)可以保留歷史信息,根據(jù)當前輸入并結(jié)合歷史輸入共同確定輸出,但針對長序列數(shù)據(jù)的處理仍然具有一定的困難,即長期依賴問題[14]。LSTM是RNN基于此類問題進行改進的神經(jīng)網(wǎng)絡(luò),如圖1所示,其內(nèi)部的記憶單元狀態(tài)與特殊的門結(jié)構(gòu)對輸入信息有選擇地進行記憶,從而可以長期保留歷史輸入信息。 圖1 LSTM單元結(jié)構(gòu) LSTM的核心是記憶單元狀態(tài)Ct,用來記憶與傳遞信息,通過遺忘門、輸入門、輸出門控制記憶單元狀態(tài)更新以及輸出。遺忘門通過上一時刻的輸出ht-1與此刻的輸入xt控制Ct-1中信息的記憶及遺忘,公式為 ft=σ(Wf·[ht-1,xt]+bf). (5) it=σ(Wi·[ht-1,xt]+bi), (6) (7) 根據(jù)遺忘門以及輸入門的操作對記憶單元狀態(tài)Ct進行更新,公式為 (8) 最后,輸出門基于更新后的Ct決定最終輸出,公式為 ot=σ(Wo·[ht-1,xt]+bo), (9) ht=ot*tanh(Ct). (10) 式中:W和b分別為各自對應(yīng)的權(quán)重與偏置。 LSTM按照序列數(shù)據(jù)先后順序進行輸入,只考慮了數(shù)據(jù)的正向特征,而雙向LSTM在單向LSTM的基礎(chǔ)上增添了一個反向的LSTM,序列數(shù)據(jù)分別以正向和逆向同時輸入,基于兩個神經(jīng)網(wǎng)絡(luò)的輸出構(gòu)成最終輸出[15]。相較于單向LSTM,BILSTM通過對數(shù)據(jù)正反方向的學習,提高了神經(jīng)網(wǎng)絡(luò)的學習效率,使得模型具有更好的預(yù)測效果[16-17]。 針對電力負荷預(yù)測提出麻雀算法優(yōu)化的RF-BILSTM模型,將經(jīng)過RF算法過濾后的負荷數(shù)據(jù)輸入到BILSTM中,通過SSA對神經(jīng)網(wǎng)絡(luò)的超參數(shù)批量大小、學習率、時間窗進行尋優(yōu)取值,流程如圖2所示。 圖2 模型流程 麻雀算法優(yōu)化的RF-BILSTM模型具體步驟如下: 1)將負荷數(shù)據(jù)以及影響因素預(yù)處理,運用RF算法對溫度、濕度、季節(jié)等外部因素進行特征選擇,將選擇后的特征與負荷數(shù)據(jù)結(jié)合構(gòu)成數(shù)據(jù)集,并劃分為訓練集、驗證集、測試集。 2)選取SSA參數(shù),基于學習率、批量大小、時間窗初始化麻雀種群,將訓練集輸入到BILSTM中進行訓練。 3)構(gòu)建算法適應(yīng)度函數(shù) (11) 式中:n為驗證集樣本總數(shù);yi與y′i分別為驗證集數(shù)據(jù)的真實值、預(yù)測值。 4)根據(jù)麻雀個體適應(yīng)度劃分種群,并按式(2)~(4)進行位置更新。 5)計算更新后個體的適應(yīng)度并記錄最優(yōu)值及其對應(yīng)位置。 6)算法達到最大迭代次數(shù)輸出最優(yōu)超參數(shù),重新構(gòu)建BILSTM進行訓練。 7)將測試集輸入到訓練好的模型中進行預(yù)測。 對于預(yù)測模型的評估主要是基于真實值和預(yù)測值之間的誤差,因此,選取均方根誤差(RMSE)、平均絕對誤差(MAE)、平均絕對百分比誤差(MAPE)作為評價指標對模型優(yōu)劣進行評估,公式為 (12) (13) (14) 式中:n為測試集樣本總數(shù);yi與y′i分別為測試集實際值與模型預(yù)測值。由公式可知,評價指標越大,模型預(yù)測效果越差。 選擇某地區(qū)的電力負荷數(shù)據(jù)作為文中實驗的數(shù)據(jù)集,數(shù)據(jù)集中除了歷史數(shù)據(jù)還包括自2012年到2015-01-10的每日天氣及日期等10種影響因素,具體如表1所示,選取2012年至2014-11-30為訓練集,2014年12月為驗證集,對數(shù)據(jù)集最后10 d進行預(yù)測。 表1 影響因素 為了方便構(gòu)造模型輸入,需要對文字類特征量化處理,將星期類型、節(jié)假日中的“是”量化為1,“否”量化為0,對季節(jié)因素中的4個類別分別量化為1、2、3、4。此外,數(shù)據(jù)還需要進行歸一化處理,一方面可以使各個特征處于同一數(shù)量級內(nèi),便于分析。另一方面,將數(shù)據(jù)縮放到[0,1]區(qū)間內(nèi),有利于提高模型計算速度。歸一化公式為 (15) 式中:x為原始數(shù)據(jù);xmax與xmin分別為對應(yīng)的最大值、最小值。 3.2.1 特征選擇 利用RF算法對表1中10個影響因素進行重要性排序,篩選出重要特征,并與歷史負荷數(shù)據(jù)結(jié)合作為BILSTM的輸入,構(gòu)建隨機森林中決策樹的數(shù)量為200,10個影響因素重要性排序如圖3所示。 圖3 特征重要性 根據(jù)圖3刪除重要性較低的因素,保留前6個重要特征,即選擇平均溫度、最低溫度、月份、最高溫度、相對濕度、星期作為模型最終的輸入特征。 3.2.2 參數(shù)選擇 負荷數(shù)據(jù)集的采集間隔為15 min,將每日產(chǎn)生的96個負荷值與RF算法選擇的6個特征作為模型輸入,預(yù)測下一日的96個負荷,即輸入為102,輸出為96。麻雀算法優(yōu)化的RF-BILSTM模型參數(shù)設(shè)置如下:隱藏層數(shù)為2,隱藏層神經(jīng)元數(shù)量均為180,為了提高SSA尋優(yōu)速度先將模型訓練次數(shù)設(shè)置為100。學習率、時間窗、批量大小由SSA尋優(yōu)得出,SSA中種群規(guī)模為15,算法迭代次數(shù)為10,對應(yīng)的參數(shù)范圍分別為[0.001,0.01]、[1,7]、[64,256],尋優(yōu)過程如圖4所示。 圖4 適應(yīng)度曲線 經(jīng)SSA尋優(yōu)后確定學習率為0.001,時間窗為6,批量大小為66。最后將模型訓練次數(shù)提高到950次。 3.2.3 性能對比與誤差分析 利用上述參數(shù)完成模型搭建后,為了更好地驗證麻雀算法優(yōu)化的RF-BILSTM模型(SSA-RF-BILSTM)預(yù)測精度,采用RF模型、LSTM模型、BILSTM模型、RF-BILSTM模型分別進行負荷預(yù)測,5種模型對測試集以及測試集中最后一天的預(yù)測曲線如圖5所示,誤差評價指標如表2所示。 表2 模型評價指標 圖5 模型預(yù)測曲線 由圖5可知,RF模型、LSTM模型以及BILSTM模型能夠大體預(yù)測出電力負荷的整體趨勢,但在負荷峰值處與真實負荷數(shù)據(jù)相差較大,預(yù)測精度較低。RF-BILSTM模型預(yù)測效果在負荷峰值處有所提升,SSA-RF-BILSTM模型的預(yù)測曲線在所有模型中與實際數(shù)據(jù)曲線最為接近,能夠有效推斷出電力負荷的變化規(guī)律,具有良好的預(yù)測精度。 根據(jù)表2可以看出,在5種預(yù)測模型中,LSTM模型預(yù)測效果最差,BILSTM模型與之相比,MAE、RMSE分別降低了63.68 MW、95.31 MW,MAPE降低了1.01%,證明BILSTM模型預(yù)測效果優(yōu)于LSTM模型。此外,BILSTM模型的3項誤差評價指標均優(yōu)于RF模型,但總體相差較小。而RF-BILSTM模型的3項指標與RF模型、BILSTM模型相比均得到了很大提升,說明通過RF排除負荷相關(guān)性較低特征后的BILSTM模型表現(xiàn)更好。在所有預(yù)測模型中,SSA-RF-BILSTM模型的MAE為148.96 MW,相較于其余4種模型降低了19.69~98.36 MW;MAPE為2.31%,降低了0.2%~1.64%;RMSE為209.42 MW,降低了38.38~162.45 MW。事實證明,經(jīng)SSA尋優(yōu)后的RF-BILSTM模型預(yù)測誤差最小,預(yù)測精度最高,從而驗證了文中提出模型的有效性。 為了提高短期電力負荷預(yù)測精度,提出了一種基于麻雀算法優(yōu)化RF-BILSTM預(yù)測模型,通過對負荷數(shù)據(jù)的預(yù)測仿真以及多種模型對比,得出以下結(jié)論: 1)采用RF算法對電力負荷的眾多影響因素進行排序,排除對電力負荷影響較弱的影響因素,保留重要特征作為模型輸入,縮小了數(shù)據(jù)量,在降低模型復(fù)雜度的同時提高了模型預(yù)測速度。 2)采用BILSTM模型代替?zhèn)鹘y(tǒng)的LSTM模型,對負荷數(shù)據(jù)進行雙向?qū)W習,很好地提取了數(shù)據(jù)的正反向特征,通過對MAE、MAPE、RMSE 3項誤差指標的對比,證明了BILSTM模型相較于LSTM模型,預(yù)測誤差得到了良好的改善。 3)采用SSA對BILSTM模型的部分超參數(shù)進行尋優(yōu)求解,有效避免了人工選取超參數(shù)不確定問題。經(jīng)過對實際負荷數(shù)據(jù)的預(yù)測證明,文中提出的SSA-RF-BILSTM模型與RF、LSTM、BILSTM以及RF-BILSTM模型相比,具有更好的預(yù)測性能。1.2 麻雀搜索算法
1.3 LSTM神經(jīng)網(wǎng)絡(luò)
2 SSA優(yōu)化的RF-BILSTM模型
2.1 模型流程
2.2 模型評價指標
3 實驗與結(jié)果
3.1 數(shù)據(jù)預(yù)處理
3.2 模型構(gòu)建與預(yù)測
4 結(jié) 論