彭 飛,馬 煜,張曉華,吳 奕,鄧文琛,陳志奎
(1. 國家電網(wǎng)公司東北分部,沈陽 110180;2.國網(wǎng)遼寧沈陽供電公司,沈陽 110811;3.中國科學(xué)院 沈陽計(jì)算技術(shù)研究所有限公司,沈陽 110168;4.大連理工大學(xué) 軟件學(xué)院,遼寧 大連 116024)
電力負(fù)荷預(yù)測主要是指結(jié)合歷史數(shù)據(jù)和經(jīng)濟(jì)社會(huì)發(fā)展因素等對(duì)未來某一個(gè)時(shí)段的電力運(yùn)行負(fù)荷、用電市場需求、用電發(fā)展形勢、用電量等因素進(jìn)行綜合的預(yù)測及數(shù)值推算。負(fù)荷預(yù)測的研究對(duì)象是不確定事件,雖然整體上隨著居民和企業(yè)的生產(chǎn)活動(dòng)顯現(xiàn)周期性變化,但同時(shí)也受到氣溫、降水、濕度、節(jié)假日、市場交易等各種環(huán)境因素的制約顯現(xiàn)隨機(jī)性變化。這種不確定性對(duì)負(fù)荷預(yù)測研究和技術(shù)提出了精細(xì)化、綜合化和多元化發(fā)展的需求。因此,添加環(huán)境因素、引入新的算法、優(yōu)化模型結(jié)構(gòu)進(jìn)而提高負(fù)荷預(yù)測精度是電力系統(tǒng)穩(wěn)定、安全、經(jīng)濟(jì)運(yùn)行的關(guān)鍵。
近年來,隨著算法的優(yōu)化更新和機(jī)器學(xué)習(xí)方法的應(yīng)用,電力負(fù)荷預(yù)測技術(shù)也進(jìn)一步提升。但傳統(tǒng)的統(tǒng)計(jì)學(xué)方法和機(jī)器學(xué)習(xí)中的經(jīng)典算法多屬于淺層學(xué)習(xí)方法,能夠擬合的數(shù)據(jù)量較小,學(xué)習(xí)能力較差,導(dǎo)致預(yù)測結(jié)果的誤差較大,難以滿足越來越高的預(yù)測精度需求。隨著深度學(xué)習(xí)模型的不斷發(fā)展,采用深度模型進(jìn)行電力負(fù)荷預(yù)測的研究也越來越多,在短期電力負(fù)荷預(yù)測方面取得了許多突破。但深度模型往往需要使用大量的超參數(shù),算法參數(shù)設(shè)定多為長期嘗試結(jié)果或長期累積經(jīng)驗(yàn),人為干預(yù)較大,收斂速度較慢。因此,文中將深度森林算法引入電力負(fù)荷預(yù)測領(lǐng)域,解決深度模型參數(shù)多、收斂速度較慢等問題;針對(duì)電力預(yù)測數(shù)據(jù)的特點(diǎn)對(duì)模型進(jìn)行改進(jìn),提出改進(jìn)后的深度森林算法(DF, deep forest),以此提升預(yù)測效果;并采用中國東三省及內(nèi)蒙東部電網(wǎng)的實(shí)際運(yùn)行的數(shù)據(jù)進(jìn)行驗(yàn)證,證明該方法的可行性。
電力負(fù)荷預(yù)測的目標(biāo)可分為三類:超短期預(yù)測、短期預(yù)測與中長期預(yù)測,文中主要研究其中的短期預(yù)測方法。傳統(tǒng)的短期預(yù)測方法主要是回歸分析法,該方法利用大量歷史數(shù)據(jù)分析電力負(fù)荷的波動(dòng)規(guī)律,建立擬合函數(shù),從而進(jìn)行歷史、現(xiàn)在、未來電力負(fù)荷發(fā)展方式的一致性預(yù)測[1-2]。孫建梅等[3]在大量使用灰色模型的基礎(chǔ)上增加數(shù)據(jù)預(yù)處理工作,并對(duì)電力負(fù)荷進(jìn)行了中長期預(yù)測,擴(kuò)展了模型的應(yīng)用范圍。張志等[4]通過關(guān)聯(lián)矩陣篩選得到影響負(fù)荷變化的強(qiáng)相關(guān)因素并對(duì)其按季節(jié)進(jìn)行分解,在此基礎(chǔ)上利用時(shí)滯效應(yīng)檢驗(yàn)和主成分分析法提升數(shù)據(jù)質(zhì)量,取得了較高的預(yù)測精度。但回歸分析法難以確定回歸線類型、回歸變量,難以達(dá)到理論上的最佳預(yù)測值[5]。
隨著機(jī)器學(xué)習(xí)的發(fā)展,大量機(jī)器學(xué)習(xí)方法也被應(yīng)用于短期負(fù)荷預(yù)測領(lǐng)域,包括支持向量機(jī)(SVM, support vector machine)、灰色模型、指數(shù)平滑法等。研究發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)法對(duì)短期的電力負(fù)荷預(yù)測更準(zhǔn)確[6]。簡獻(xiàn)忠等[7]構(gòu)建了一種全過程優(yōu)化的支持向量機(jī)模型進(jìn)行短期負(fù)荷預(yù)測,較之前的局部優(yōu)化模型能夠取得更高的預(yù)測準(zhǔn)確度。
但這些機(jī)器學(xué)習(xí)方法大多還停留在淺層學(xué)習(xí),對(duì)于數(shù)據(jù)特征學(xué)習(xí)能力較差,能夠擬合的數(shù)據(jù)量較小。因此,隨著算法技術(shù)的發(fā)展,大量深度學(xué)習(xí)模型也被應(yīng)用于電力負(fù)荷短期預(yù)測。張靜等[8]采用了基于擁擠距離法改進(jìn)的多目標(biāo)粒子群優(yōu)化算法和BP神經(jīng)網(wǎng)絡(luò)算法對(duì)電力負(fù)荷預(yù)測研究,得到的預(yù)測精度更高、相對(duì)誤差較小。文獻(xiàn)[9-10]利用長短記憶網(wǎng)絡(luò)(long-short term memory)來解決深度學(xué)習(xí)模型中常見的梯度消失的問題,并在此基礎(chǔ)上對(duì)個(gè)人住宅的負(fù)荷進(jìn)行預(yù)測,取得了較好的效果。Chen等[11]將數(shù)值預(yù)測問題轉(zhuǎn)化為圖像處理任務(wù),使用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks)模型輸入數(shù)據(jù)執(zhí)行精確的聚類,考慮了溫度、濕度、風(fēng)速等外部影響因素,具有很高的精度。
但是深度模型也受限于較大的數(shù)據(jù)需求,在數(shù)據(jù)量較小時(shí)難以使用。此外,深度學(xué)習(xí)模型的“黑箱”性質(zhì)使得其可解釋性較差,超參數(shù)設(shè)置較多,在許多領(lǐng)域并不被廣泛認(rèn)可。針對(duì)這些問題,文章將深度森林模型引入短期電力負(fù)荷預(yù)測領(lǐng)域。深度森林模型[12]是一種2017年提出來的深度學(xué)習(xí)模型,它的核心思想是對(duì)隨機(jī)森林進(jìn)行集成。相較于其他深度學(xué)習(xí)模型,深度森林方法在每一層自主訓(xùn)練參數(shù),不需要反向傳播過程,因此對(duì)于訓(xùn)練集的樣本數(shù)量要求較低,并且極大地減少了訓(xùn)練時(shí)間,拓寬了深度模型的應(yīng)用領(lǐng)域。另外,由于決策樹構(gòu)成了深度森林的基本單元,使得該模型具有較好的可解釋性,需要人工設(shè)置的超參數(shù)數(shù)量也非常少,在許多缺少歷史經(jīng)驗(yàn)的領(lǐng)域也取得了較好的效果。目前,深度森林模型已經(jīng)在醫(yī)療、交通、金融等多個(gè)領(lǐng)域得到了應(yīng)用[13-15]。
文中基于多粒度級(jí)聯(lián)森林(gcForest, multi-Grained Cascade Forest)模型構(gòu)建電力負(fù)荷預(yù)測模型。gcForest主要由兩個(gè)結(jié)構(gòu)組成:多粒度掃描窗口和級(jí)聯(lián)森林。多粒度掃描窗口類似于卷積神經(jīng)網(wǎng)絡(luò)中的滑動(dòng)窗口,對(duì)輸入的數(shù)據(jù)進(jìn)行不同粒度的采樣,獲取輸入特征,增強(qiáng)學(xué)習(xí)效果。級(jí)聯(lián)森林的作用是對(duì)輸入特征進(jìn)行表征學(xué)習(xí),它由多種隨機(jī)森林構(gòu)成。如圖1所示,每一層都包括2個(gè)隨機(jī)森林和2個(gè)完全隨機(jī)森林,每個(gè)隨機(jī)森林包含若干棵樹,而每個(gè)森林都會(huì)輸出一個(gè)類向量結(jié)果。將多個(gè)森林得到的類向量進(jìn)行串聯(lián),即為這一層的輸出。將其與最初的輸入特征連接作為下一層的輸入,這樣,每一層都會(huì)接收到前一層的特征信息和最初始的特征信息。模型會(huì)一直加深層數(shù)直到收斂或者到達(dá)指定的層數(shù)上限為止,最后一層的輸出類向量就是分類的最終結(jié)果。
圖1 級(jí)聯(lián)森林結(jié)構(gòu)圖Fig.1 Structure of the cascade forest
根據(jù)上述介紹可知,深度森林的輸入特征依賴于多粒度掃描窗口的設(shè)計(jì)。不同于圖像識(shí)別領(lǐng)域,負(fù)荷預(yù)測模型的輸入通常是一個(gè)一維向量,因此需要根據(jù)負(fù)荷數(shù)據(jù)的特點(diǎn)來設(shè)計(jì)有效的多粒度掃描窗口。
電力負(fù)荷預(yù)測具有周期性和時(shí)變性的特點(diǎn),因此,負(fù)荷預(yù)測需要以歷史數(shù)據(jù)和客觀因素為參考開展預(yù)測,需要在預(yù)測前就明確采用歷史數(shù)據(jù)的時(shí)間段和未來預(yù)測的時(shí)間范圍。由于負(fù)荷數(shù)據(jù)是具有時(shí)間連續(xù)性的一維向量,選擇合適的窗口才能有效利用歷史數(shù)據(jù)的周期性。在文中,歷史數(shù)據(jù)為預(yù)測節(jié)點(diǎn)前18個(gè)月的電力負(fù)荷值,預(yù)測目標(biāo)設(shè)定為短期預(yù)測,未來預(yù)測時(shí)間從一小時(shí)到一周不等。
針對(duì)電力負(fù)荷數(shù)據(jù)的特性,對(duì)深度森林算法進(jìn)行改進(jìn)。原gcForest模型通過調(diào)整窗口的大小來提取數(shù)據(jù)特征,而文中將在改變窗口大小的同時(shí),通過調(diào)整窗口滑動(dòng)的步長來提取數(shù)據(jù)的周期性。由于電力負(fù)荷數(shù)據(jù)的周期性與人類的生產(chǎn)生活規(guī)律密切相關(guān),在天、周、月、年等不同的時(shí)間跨度中都表現(xiàn)出一定的周期性。為了提取不同粒度的周期性,參照人類對(duì)于時(shí)間的劃分方式,設(shè)定不同的步長,包括一小時(shí)、一天、一周、一月、一季以及一年,并對(duì)不同的滑動(dòng)步長設(shè)定對(duì)應(yīng)的窗口大小。
由于輸入向量的長度較長,365 d×24 h×4=35 040 h。當(dāng)掃描步長較小時(shí),產(chǎn)生的特征將特別巨大。以三分類為例,以步長4(一小時(shí))為例,設(shè)窗口大小為96,則最終生成的輸入特征為((35 040-96)÷4+1)×3=26 211維。若將其作為級(jí)聯(lián)森林的輸入特征,會(huì)極大地增加時(shí)間復(fù)雜度和空間復(fù)雜度,甚至出現(xiàn)內(nèi)存溢出的情況。針對(duì)這一問題,文中通過設(shè)定滑動(dòng)次數(shù)上限的方式來解決。文中的窗口大小、步長以及滑動(dòng)次數(shù)上限設(shè)定如表1所示。
表1 多粒度窗口滑動(dòng)步長與滑動(dòng)次數(shù)
如圖2所示,以窗口大小為24和672為例,分別得到1 344m維和96m維的特征,其中m是類向量長度,即分類的類別數(shù)量。串聯(lián)組合得到級(jí)聯(lián)森林部分的輸入特征。
圖2 多粒度滑動(dòng)窗口掃描方法Fig.2 Illustration of multi-granularity sliding window scan
此外,若是直接以類別中間值為最后的預(yù)測結(jié)果,則會(huì)人為造成大量的誤差。針對(duì)這一問題,文章改進(jìn)了最后一層的輸出。深度森林中每一個(gè)隨機(jī)森林的輸出是根據(jù)其中每一棵樹得到的類向量求均值,將離散的模型輸出變?yōu)檫B續(xù)值,進(jìn)而能夠提供更為精確的預(yù)測結(jié)果。文中最后一層的樹不會(huì)輸出類向量,而是通過計(jì)算對(duì)應(yīng)葉子節(jié)點(diǎn)中的具體數(shù)值來得到最終的預(yù)測值。如圖3所示,其中紅色線段代表測試樣本落入葉子節(jié)點(diǎn)的路徑。在多粒度窗口掃描的過程中,按照類向量的生成方法得到最初的數(shù)據(jù)特征。在預(yù)測過程中,按照均值的方法得到最終的預(yù)測值。
圖3 類向量生成方法及改進(jìn)后的預(yù)測值計(jì)算方法Fig.3 Illustration of class vector generation and predicted value calculation
文中數(shù)據(jù)來源于國家電網(wǎng)公司東北分部,包括了從2016年到2019年上半年的電力負(fù)荷數(shù)據(jù),涵蓋了遼寧、吉林、黑龍江和內(nèi)蒙古東部地區(qū)。數(shù)據(jù)具有較強(qiáng)的時(shí)間連續(xù)性,每過15 min記錄一次當(dāng)前電網(wǎng)的功率值,總計(jì)應(yīng)該有612 960條數(shù)據(jù),實(shí)際測得567 168條數(shù)據(jù),數(shù)據(jù)較為完整、質(zhì)量較高,能夠用于驗(yàn)證模型的可行性。
3.1.1 數(shù)據(jù)預(yù)處理
由于傳感器故障和異常工況等原因,原始數(shù)據(jù)包含一些錯(cuò)誤信息和數(shù)據(jù)缺失的情況,必須對(duì)原始數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗以減小錯(cuò)漏數(shù)據(jù)的影響。由于歷史數(shù)據(jù)具有時(shí)間連續(xù)性,對(duì)錯(cuò)誤數(shù)據(jù)并不能單純地剔除處理,因此文中針對(duì)錯(cuò)漏數(shù)據(jù)采用線性插值的方法進(jìn)行數(shù)據(jù)填充。在處理數(shù)據(jù)時(shí),沒有出現(xiàn)連續(xù)大段的錯(cuò)漏數(shù)據(jù),因此用插值法是可行的。
3.1.2 數(shù)據(jù)分段
為方便構(gòu)建決策樹,減少計(jì)算量,通過將不同的負(fù)荷狀態(tài)進(jìn)行分段,將負(fù)荷預(yù)測問題轉(zhuǎn)化為分類問題。例如,以功率1 000為區(qū)間單位長度,對(duì)于遼寧省則分為10 000~30 000共計(jì)31個(gè)區(qū)間,也就是31類;黑龍江省為1 000~20 000共21個(gè)類別;內(nèi)蒙東部和吉林分為1 000~15 000共計(jì)16個(gè)類別;總負(fù)荷分為20 000~60 000共計(jì)41個(gè)類別。分類區(qū)間越短,預(yù)測精度越高,但準(zhǔn)確率也會(huì)下降。
實(shí)驗(yàn)將分別對(duì)4個(gè)地區(qū)的電力負(fù)荷數(shù)據(jù)與東北電網(wǎng)總負(fù)荷數(shù)據(jù)集進(jìn)行驗(yàn)證,預(yù)測目標(biāo)為2019年上半年的電力負(fù)荷數(shù)據(jù),輸入數(shù)據(jù)包括2018年全年的電力負(fù)荷數(shù)據(jù),預(yù)測時(shí)間設(shè)為一天。對(duì)于改進(jìn)后的深度森林算法,若預(yù)測值與真實(shí)值的誤差絕對(duì)值小于分段區(qū)間的一半,則認(rèn)為預(yù)測結(jié)果正確,通過這種方法,可以統(tǒng)一以分類的準(zhǔn)確率為標(biāo)準(zhǔn)進(jìn)行比較。
對(duì)照實(shí)驗(yàn)設(shè)計(jì)如下:
1)k近鄰方法(KNN, k-nearest neighbor):該方法是一種簡單有效的分類聚類方法,能夠有效應(yīng)用于具有大量訓(xùn)練集的任務(wù)中并能夠取得不錯(cuò)的結(jié)果,在許多領(lǐng)域都有應(yīng)用,因此文中選擇該方法作為傳統(tǒng)機(jī)器學(xué)習(xí)的典型算法之一。
2)支持向量機(jī)(SVM):支持向量機(jī)作為最常用的分類模型,在許多領(lǐng)域都驗(yàn)證了它的有效性和可靠性,其中的參數(shù)都使用交叉驗(yàn)證的方法調(diào)至最優(yōu)。通過與該方法進(jìn)行對(duì)比可以驗(yàn)證文中所提出方法的有效性。
3)隨機(jī)森林(RF, random forest):深度森林的基礎(chǔ)模型,對(duì)于一些較為簡單的問題往往能取得較好的分類效果。實(shí)驗(yàn)中隨機(jī)森林的參數(shù)設(shè)定與深度森林中單一森林的參數(shù)設(shè)定相同,可以驗(yàn)證深度森林這一集成思想的有效性。
4)棧式自動(dòng)編碼機(jī)(SAE, stacked autoencoder):該方法是一種典型的深度特征學(xué)習(xí)方法,能夠有效提取數(shù)據(jù)特征。與該方法進(jìn)行對(duì)比,可以驗(yàn)證文中所提方法相對(duì)于傳統(tǒng)深度學(xué)習(xí)模型的優(yōu)勢。
5)多粒度級(jí)聯(lián)森林(gcForest):針對(duì)電力負(fù)荷數(shù)據(jù)特點(diǎn)對(duì)改進(jìn)后的深度森林模型進(jìn)行有效性驗(yàn)證,將所提出方法與基本的gcForest模型進(jìn)行對(duì)比。參數(shù)設(shè)定與文中提出方法一致,只是窗口大小固定為192,步長固定為48。
文章對(duì)改進(jìn)的深度森林方法(DF)主要采用默認(rèn)的超參數(shù)設(shè)置,具體參數(shù)設(shè)置如表2所示。
表2 改進(jìn)的深度森林方法的超參數(shù)設(shè)置
應(yīng)用深度森林算法對(duì)東北總電網(wǎng)的功率進(jìn)行預(yù)測,并于多種機(jī)器學(xué)習(xí)方法進(jìn)行對(duì)比,結(jié)果如表3所示。在分段區(qū)間大小為9 000時(shí),改進(jìn)的深度森林方法取得了較好的預(yù)測結(jié)果。在縮小分段區(qū)間大小即提高預(yù)測精度要求的過程中,對(duì)比實(shí)驗(yàn)的準(zhǔn)確率會(huì)快速下降,而文章所提出的方法卻仍然能夠維持較高的準(zhǔn)確率,說明改進(jìn)的深度森林方法能夠有效提升電力負(fù)荷預(yù)測的精度,驗(yàn)證了模型的有效性。
表3 東北總電網(wǎng)負(fù)荷預(yù)測結(jié)果
圖4為其他地區(qū)的電網(wǎng)數(shù)據(jù)上的實(shí)驗(yàn)結(jié)果。從圖中可以更加明顯地看出,當(dāng)預(yù)測精度要求不高時(shí),傳統(tǒng)的機(jī)器學(xué)習(xí)方法與深度學(xué)習(xí)方法都能取得較高的準(zhǔn)確率,但是當(dāng)逐漸提高精度要求,傳統(tǒng)學(xué)習(xí)方法的準(zhǔn)確率會(huì)快速下降,難以取得較為準(zhǔn)確的預(yù)測結(jié)果。深度學(xué)習(xí)方法較傳統(tǒng)學(xué)習(xí)方法能夠獲得更好的特征,進(jìn)而能夠滿足更高的精度要求。而改進(jìn)的深度森林算法在分段區(qū)間較小時(shí),能夠取得較為明顯的優(yōu)勢。當(dāng)預(yù)測精度范圍小于波動(dòng)范圍20%時(shí),傳統(tǒng)的深度學(xué)習(xí)方法的準(zhǔn)確率已經(jīng)出現(xiàn)明顯下降,而文中所提出的方法在波動(dòng)范圍10%的精度要求下仍能維持較高的準(zhǔn)確率。
圖4 各地區(qū)電網(wǎng)負(fù)荷預(yù)測結(jié)果Fig.4 The accuracy of load forecasting
表4為深度算法模型的層數(shù)。相比于傳統(tǒng)的深度學(xué)習(xí)方法,深度森林由于不需要預(yù)設(shè)模型結(jié)構(gòu),減少了超參數(shù)的設(shè)定,訓(xùn)練得到的模型能夠更加適合數(shù)據(jù)集,提升算法的效率與準(zhǔn)確度。而文中改進(jìn)了深度森林的多粒度窗口掃描方法,利用電力負(fù)荷預(yù)測方面的背景知識(shí),在模型的第一層消除了大量信息密度較低的數(shù)據(jù),進(jìn)一步提升了模型運(yùn)行的效率,加快模型收斂速度,減少時(shí)間開銷的同時(shí)也降低了對(duì)硬件的需求,在此驗(yàn)證了文中所提出的改進(jìn)的深度森林方法在電力負(fù)荷預(yù)測方面的有效性。
表4 深度模型層數(shù)對(duì)比
文章進(jìn)行了電力負(fù)荷預(yù)測技術(shù)的研究,針對(duì)深度學(xué)習(xí)算法參數(shù)多、收斂慢、數(shù)據(jù)量要求大的問題,將深度森林方法引入了電力短期負(fù)荷預(yù)測領(lǐng)域,并針對(duì)gcForest模型在電力負(fù)荷預(yù)測領(lǐng)域的不足對(duì)模型進(jìn)行改進(jìn)。選取中國東北三省以及內(nèi)蒙古東部的實(shí)際電網(wǎng)數(shù)據(jù)進(jìn)行驗(yàn)證,并與傳統(tǒng)機(jī)器學(xué)習(xí)模型進(jìn)行了對(duì)比,通過實(shí)驗(yàn)驗(yàn)證了所提出的負(fù)荷預(yù)測算法在短期電力預(yù)測方面的優(yōu)異性。