鄭承新 彭苗 凌治坤 李鎮(zhèn)東
(1、國(guó)家電投集團(tuán)湖北分公司,湖北 武漢 430063 2、國(guó)家電投集團(tuán)科學(xué)技術(shù)研究院有限公司,北京 102209)
相較于煤、石油等化石能源來(lái)說(shuō),電能的存儲(chǔ)是困難的,所以它的生產(chǎn)、傳輸和消費(fèi)幾乎是同時(shí)進(jìn)行。生產(chǎn)過(guò)量會(huì)造成能源浪費(fèi)以及生產(chǎn)機(jī)器損耗,同時(shí)生產(chǎn)不足將會(huì)影響人們的生活并對(duì)經(jīng)濟(jì)發(fā)展造成損失,所以精確的負(fù)荷預(yù)測(cè)能夠指導(dǎo)生產(chǎn)計(jì)劃,在電力系統(tǒng)運(yùn)行、能源投資規(guī)劃扮演重要角色。由于負(fù)荷預(yù)測(cè)具有非線性和時(shí)序性,傳統(tǒng)的負(fù)荷預(yù)測(cè)方法只能利用時(shí)序性信息,預(yù)測(cè)精度難以滿足要求,但隨著人工智能技術(shù)的不斷發(fā)展,它即能夠抓住負(fù)荷預(yù)測(cè)的時(shí)序性特征,又能很好的處理負(fù)荷數(shù)據(jù)的非線性特性,所以預(yù)測(cè)精度更高。同時(shí)負(fù)荷預(yù)測(cè)的使用環(huán)境不斷拓展,不但為電力系統(tǒng)的安全、經(jīng)濟(jì)運(yùn)行提供保障,也是市場(chǎng)環(huán)境下編排調(diào)度計(jì)劃、供電計(jì)劃、交易計(jì)劃的基礎(chǔ),所以對(duì)負(fù)荷預(yù)測(cè)的研究至關(guān)重要。由于傳統(tǒng)的負(fù)荷預(yù)測(cè)方法(如:回歸分析法、多元線性回歸、指數(shù)平滑法、卡爾曼濾波法、灰色預(yù)測(cè)法、ARIMA、ARMA、傅里葉展開法模型、聚類分析法、小波變換和層次聚類方法相結(jié)合和線性外推法等),主要關(guān)注負(fù)荷數(shù)據(jù)的時(shí)序性問(wèn)題,但是很難捕捉數(shù)據(jù)本身存在的非線性特征,所以目前負(fù)荷預(yù)測(cè)中難以應(yīng)用。于是本文重點(diǎn)對(duì)目前的智能負(fù)荷預(yù)測(cè)方法進(jìn)行研究。
隨著人工智能的發(fā)展,智能化負(fù)荷預(yù)測(cè)方法不斷地產(chǎn)生并應(yīng)用于實(shí)際的生產(chǎn)活動(dòng)中。以下將介紹常見的智能化負(fù)荷預(yù)測(cè)模型,分為單一模型智能化負(fù)荷預(yù)測(cè)法和多模型融合的智能負(fù)荷預(yù)測(cè)方法。
1.1.1 BP 神經(jīng)網(wǎng)絡(luò)
1.1.1.1 BP 神經(jīng)網(wǎng)絡(luò)優(yōu)化
由于傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)具有訓(xùn)練速度慢且容易陷入誤差局部極小點(diǎn)的缺點(diǎn),改進(jìn)的BP 神經(jīng)網(wǎng)絡(luò)算法[1]分別為自適應(yīng)BP 算法、彈性梯度下降法和L-M (Levenberg-Marquardt)法。自適應(yīng)BP 算法是根據(jù)誤差大小自動(dòng)調(diào)節(jié)學(xué)習(xí)速率,克服了傳統(tǒng)的固定大小學(xué)習(xí)速率導(dǎo)致的訓(xùn)練速度慢的缺點(diǎn);彈性梯度下降法將傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)算法中根據(jù)梯度大小調(diào)整權(quán)值和閾值修改為固定的調(diào)整值,然后根據(jù)誤差偏導(dǎo)數(shù)的符號(hào)調(diào)整該調(diào)整值的大??;L-M 法結(jié)合了標(biāo)準(zhǔn)BP 神經(jīng)網(wǎng)絡(luò)算法訓(xùn)練初期下降速度快的優(yōu)點(diǎn)和擬牛頓法法在靠近誤差極小點(diǎn)時(shí)能避免震蕩情況的發(fā)生的特點(diǎn)對(duì)負(fù)荷數(shù)據(jù)進(jìn)行預(yù)測(cè)。經(jīng)計(jì)算得改進(jìn)的BP 神經(jīng)網(wǎng)絡(luò)L-M 法的計(jì)算結(jié)果優(yōu)于其他的兩種改進(jìn)的結(jié)果。還有一種改進(jìn)的BP 神經(jīng)網(wǎng)絡(luò)算法是對(duì)隱層節(jié)點(diǎn)數(shù)進(jìn)行調(diào)整[2]。對(duì)于傳統(tǒng)的BP 神經(jīng)網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)個(gè)數(shù)的確定一般都是根據(jù)經(jīng)驗(yàn)設(shè)定,優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度的方法是對(duì)BP 神經(jīng)網(wǎng)絡(luò)采用試探法對(duì)隱層節(jié)點(diǎn)數(shù)進(jìn)行改變。即不斷地選擇不同的神經(jīng)網(wǎng)絡(luò)隱層節(jié)點(diǎn)數(shù)后計(jì)算模型的預(yù)測(cè)精度,選擇計(jì)算精度最高的隱層節(jié)點(diǎn)數(shù)為最后BP 神經(jīng)網(wǎng)絡(luò)的隱層節(jié)點(diǎn)數(shù)。
1.1.1.2 多重BP 神經(jīng)網(wǎng)絡(luò)
多重BP 神經(jīng)網(wǎng)絡(luò)[3]解決了海量數(shù)據(jù)下BP 神經(jīng)網(wǎng)絡(luò)運(yùn)行時(shí)間長(zhǎng)且容易出現(xiàn)過(guò)擬合的問(wèn)題,借助于大數(shù)據(jù)平臺(tái)運(yùn)用聚類分析的方法將不同的負(fù)荷進(jìn)行分類,然后更新整體BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,對(duì)未來(lái)的負(fù)荷進(jìn)行預(yù)測(cè)。預(yù)測(cè)結(jié)果比傳統(tǒng)的運(yùn)用BP 神經(jīng)網(wǎng)絡(luò)的精度高,但是需要借助于Hadoop大數(shù)據(jù)平臺(tái)對(duì)數(shù)據(jù)進(jìn)行處理,數(shù)據(jù)處理階段較為繁瑣。
1.1.2 LSTM 神經(jīng)網(wǎng)絡(luò)
目前負(fù)荷預(yù)測(cè)較常用的方法是LSTM 神經(jīng)網(wǎng)絡(luò)[4]。LSTM神經(jīng)網(wǎng)絡(luò)克服了傳統(tǒng)的RNN 神經(jīng)網(wǎng)絡(luò)梯度消失和梯度爆炸的缺陷,在反向傳播過(guò)程中,LSTM 可以通過(guò)門控制信息,使得LSTM 能夠記住長(zhǎng)期信息。在典型的LSTM 神經(jīng)網(wǎng)絡(luò)算法中,輸入變量包括負(fù)荷、溫度、濕度、氣壓、風(fēng)向和風(fēng)速。結(jié)果顯示負(fù)荷預(yù)測(cè)精度很高,具有重要的經(jīng)濟(jì)和社會(huì)效益,預(yù)測(cè)結(jié)果優(yōu)于BP 神經(jīng)網(wǎng)絡(luò)和RNN 神經(jīng)網(wǎng)絡(luò)。
1.2.1 CNN-LSTM 混合神經(jīng)網(wǎng)絡(luò)模型
CNN-LSTM 混合神經(jīng)網(wǎng)絡(luò)模型[5]將影響負(fù)荷的因素和歷史負(fù)荷的特征圖作為輸入,運(yùn)用CNN,即卷積神經(jīng)網(wǎng)絡(luò),提取數(shù)據(jù)特征,形成新的時(shí)間序列數(shù)據(jù)。將新的時(shí)間序列數(shù)據(jù)運(yùn)用LSTM,即長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò),進(jìn)行訓(xùn)練,然后對(duì)負(fù)荷進(jìn)行預(yù)測(cè)。由于LSTM 訓(xùn)練速度較慢,所以在進(jìn)行特征輸入時(shí)運(yùn)用CNN 神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,預(yù)測(cè)結(jié)果表明CNNLSTM 網(wǎng)絡(luò)的預(yù)測(cè)精度高于單一模型LSTM 神經(jīng)網(wǎng)絡(luò), 隨機(jī)森林和隨機(jī)森林的預(yù)測(cè)精度高于ARIMA 模型。
1.2.2 基于Stacking 的集成學(xué)習(xí)
基于stacking 模型的集成學(xué)習(xí)方法[6]對(duì)負(fù)荷進(jìn)行預(yù)測(cè),首先運(yùn)用K 折交叉驗(yàn)證法將模型劃分為不同的訓(xùn)練集和測(cè)試集。然后選取LSTM 神經(jīng)網(wǎng)絡(luò)、XGboost、隨機(jī)森林、梯度提升法(GBDT)、支持向量機(jī)(SVM)、K 近鄰(KNN)作為第一層的基學(xué)習(xí)器,將各個(gè)模型的預(yù)測(cè)結(jié)果作為新的數(shù)據(jù)集,再對(duì)新數(shù)據(jù)集劃分測(cè)試集和驗(yàn)證集,以XGboost 方法作為第二層的元學(xué)習(xí)器,對(duì)新的數(shù)據(jù)集進(jìn)行學(xué)習(xí),最后得到負(fù)荷預(yù)測(cè)的結(jié)果。結(jié)果顯示,基于stacking 模型的集成學(xué)習(xí)的預(yù)測(cè)精度高于單一的基于支持向量機(jī)的預(yù)測(cè)精度。但是運(yùn)用該方法需要對(duì)每個(gè)基學(xué)習(xí)器訓(xùn)練若干次,增加了算法計(jì)算的時(shí)間復(fù)雜度。具體的stacking 模型的集成學(xué)習(xí)方式如圖1 所示。
圖1 基于Stacking 的集成學(xué)習(xí)方法
1.2.3 CNN-GRU- Attention 模型
基于CNN-GRU- Attention[7]對(duì)負(fù)荷進(jìn)行預(yù)測(cè),首先是利用CNN 對(duì)數(shù)據(jù)進(jìn)行特征提取,然后用提取的數(shù)據(jù)運(yùn)用門控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU) 作訓(xùn)練,將訓(xùn)練得到的輸出結(jié)果通過(guò)Attention 機(jī)制加權(quán)得到輸出層的輸入,然后根據(jù)attention 機(jī)制得到的結(jié)果計(jì)算最終預(yù)測(cè)的負(fù)荷值。
1.2.4 CNN-LSTM-XGBoost 模型
為提高輸入特征信息較少情況下的預(yù)測(cè)精度,采用CNN-LSTM-XGBoost[8]的多模型融合方法。首先通過(guò)CNN 對(duì)特征數(shù)據(jù)進(jìn)行提取,減少LSTM 的輸入特征,同時(shí)保證精度。解決了LSTM 網(wǎng)絡(luò)訓(xùn)練慢的特點(diǎn)。然后運(yùn)用XGBoost 模型并行預(yù)測(cè),降低了數(shù)據(jù)的處理時(shí)間且比使用單一模型支持向量回歸(SVR),LSTM 神經(jīng)網(wǎng)絡(luò)和梯度提升算法(GBDT)模型的精度更高。
1.2.5 GA-SVM 模型
基于GA-SVM[9]的負(fù)荷預(yù)測(cè)模型,首先以歷史負(fù)荷、日期類型和氣象因素為輸入變量,對(duì)訓(xùn)練數(shù)據(jù)運(yùn)用遺傳算法尋優(yōu),計(jì)算支持向量機(jī)的懲罰因子和徑向基函數(shù),然后運(yùn)用支持向量機(jī)對(duì)未來(lái)一天的負(fù)荷進(jìn)行預(yù)測(cè), 其預(yù)測(cè)精度優(yōu)于BP神經(jīng)網(wǎng)絡(luò)算法。
GA 屬于遺傳算法,該算法主要是模擬達(dá)爾文的遺傳選擇和自然淘汰的生物進(jìn)化過(guò)程的計(jì)算模型。它首先將問(wèn)題求解表示為常用的二進(jìn)制編碼串,然后從中選取適應(yīng)環(huán)境的樣本個(gè)體,過(guò)濾掉不好的樣本個(gè)體,然后將篩選得到的樣本個(gè)體復(fù)制再生,通過(guò)交叉、變異等遺傳算子產(chǎn)生新一代染色群體。依據(jù)之前設(shè)定的各種收斂條件,從新老樣本中選出適應(yīng)環(huán)境的個(gè)體,不斷更新,每一代都在進(jìn)步,最后收斂到適應(yīng)環(huán)境個(gè)體上,計(jì)算求得最優(yōu)解。
1.2.6 Attention-ResNet-LSTM 模型
基于Attention-ResNet-LSTM 網(wǎng)絡(luò)的中期負(fù)荷預(yù)測(cè)模型[10],將Attention 機(jī)制引入LSTM 模型,賦予不同的權(quán)重于特征向量,加入ResNet 網(wǎng)絡(luò)后計(jì)算出負(fù)荷的預(yù)測(cè)值。
首先運(yùn)用Attention 機(jī)制對(duì)關(guān)鍵信息進(jìn)行提取,同樣是減少冗余變量的輸入,加快訓(xùn)練速度且保證預(yù)測(cè)的精度。Attention 機(jī)制就是模擬人的大腦在某一時(shí)刻對(duì)大量信息中的某一部分重要信息分配更多的注意力,對(duì)其他關(guān)注很少的信息將其忽略,從而挑選出重要信息,減少LSTM 的輸入特征。采用Attention 機(jī)制對(duì)模型輸入的特征向量賦予不同的權(quán)重,從而找出更關(guān)鍵的因素,有助于模型進(jìn)行精準(zhǔn)的負(fù)荷預(yù)測(cè)。在LSTM 人工神經(jīng)網(wǎng)絡(luò)中加入Attention 機(jī)制,找出影響負(fù)荷預(yù)測(cè)的重要因素,提高預(yù)測(cè)精度,Attention 單元如圖2所示。
在圖2 中,x1,x2,…,xk為輸入的原始特征變量;h1,h2,…,hk為對(duì)應(yīng)于輸入的特征變量的隱藏層狀態(tài)值;?ki為歷史輸入的特征變量信息的隱藏層對(duì)當(dāng)前輸入信息的注意力權(quán)重值;C 為整個(gè)隱藏層狀態(tài)的一個(gè)加權(quán)值;hk'為最后輸出節(jié)點(diǎn)的隱藏層狀態(tài)值。
圖2 Attention 單元關(guān)聯(lián)圖
ResNet 用于減少信息損失且提高神經(jīng)網(wǎng)絡(luò)運(yùn)算的收斂速度,其結(jié)構(gòu)如圖3 所示。
圖3 resNet 網(wǎng)絡(luò)結(jié)構(gòu)
在圖3 中,x 為通過(guò)運(yùn)用Attention 機(jī)制計(jì)算得到的結(jié)果作為輸入值,F(xiàn)(x)為擬合的殘差映射值,H(x)為通過(guò)resNet 網(wǎng)絡(luò)得到的輸出值,三個(gè)變量之間得關(guān)系為H(x)=F(x)+x。然后再計(jì)算,如果F(x)=0,那么H(x)=x,為一層疊加網(wǎng)絡(luò)層后的最優(yōu)解映射值;若F(x)≠0 但是F(x)特別接近于0,那么,x 將逼近真實(shí)的映射值H (x),能夠解決網(wǎng)絡(luò)層堆疊之后的性能退化,特征減退等問(wèn)題。
且運(yùn)用愛爾蘭某地區(qū)的真實(shí)負(fù)荷為數(shù)據(jù)集進(jìn)行仿真實(shí)驗(yàn),負(fù)荷預(yù)測(cè)結(jié)果如圖4 所示。
由圖4 可知:相比于RNN、LSTM、Attention-LSTM 模型,Attention-ResNet-LSTM 模型的預(yù)測(cè)精度更高。
圖4 四種模型負(fù)荷預(yù)測(cè)結(jié)果與真實(shí)負(fù)荷對(duì)比圖
本文對(duì)預(yù)測(cè)精度高的智能負(fù)荷預(yù)測(cè)算法進(jìn)行總結(jié)和介紹,同時(shí)相較于單一模型而言,運(yùn)用多模型融合方法得到的負(fù)荷預(yù)測(cè)的精度更高。通過(guò)分析可知,傳統(tǒng)的負(fù)荷預(yù)測(cè)方法有很多用到時(shí)間序列分析的方法,如:指數(shù)平滑法、ARIMA、ARMA 等,可知負(fù)荷具有時(shí)序性。在智能預(yù)測(cè)算法中,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)、長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)和門控循環(huán)網(wǎng)絡(luò)(GRU)都是處理時(shí)序相關(guān)的算法,它們不但能處理時(shí)序關(guān)系,又能擬合非線性關(guān)系,所以在負(fù)荷預(yù)測(cè)中得到推廣。在多模型融合算法中,比如在運(yùn)用長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)之前運(yùn)用卷積神經(jīng)網(wǎng)絡(luò)(CNN)的目的是能夠提取原始數(shù)據(jù)的特征,進(jìn)而提高模型的預(yù)測(cè)精度。
隨著人工智能的發(fā)展,智能負(fù)荷預(yù)測(cè)方法相較于傳統(tǒng)的預(yù)測(cè)方法精度得到很大的提高,也很好的應(yīng)用于實(shí)際生產(chǎn)活動(dòng)中。但是它們都是基于歷史的數(shù)據(jù)庫(kù)進(jìn)行學(xué)習(xí)并實(shí)現(xiàn)預(yù)測(cè),目前無(wú)法實(shí)現(xiàn)在線預(yù)測(cè)。在今后的研究過(guò)程中,如何基于歷史的數(shù)據(jù)庫(kù)進(jìn)行離線學(xué)習(xí),實(shí)現(xiàn)對(duì)新采集的數(shù)據(jù),在原始樣本學(xué)習(xí)的基礎(chǔ)上增量學(xué)習(xí)更多新的特征,即類似于人的學(xué)習(xí)過(guò)程一樣,在學(xué)習(xí)到新的知識(shí)的時(shí)候?qū)v史學(xué)過(guò)的知識(shí)有記憶的功能,而不需要每次對(duì)所有的歷史知識(shí)進(jìn)行學(xué)習(xí)。此舉一方面可節(jié)省歷史數(shù)據(jù)的存儲(chǔ)成本;另一方面可以增加模型的訓(xùn)練速度。