時云洪,張龍,龍祖良
(中國電建集團(tuán)貴州電力設(shè)計研究院有限公司,貴州 貴陽 550002)
智能電網(wǎng)是國家戰(zhàn)略規(guī)劃,是未來電力系統(tǒng)的發(fā)展趨勢[1-3]。當(dāng)前智能電網(wǎng)建設(shè)中資源的有效配置是電力工業(yè)的首要目標(biāo)[4]。智能電網(wǎng)包括能源的生產(chǎn)、運輸和分配。對未來電力負(fù)荷的準(zhǔn)確預(yù)測是實現(xiàn)這一目標(biāo)的必要條件,特別是對短期電力負(fù)荷的準(zhǔn)確預(yù)測,因為它允許電力公司為規(guī)劃和運營做出明智的決策[5],從而節(jié)省通常因過載或低負(fù)荷成本而浪費的數(shù)以百萬計的損失,以及不必要的二氧化碳排放[6]。
精確的負(fù)荷預(yù)測是電力系統(tǒng)一直追求的目標(biāo),各種現(xiàn)代的新興算法、方法運用到負(fù)荷預(yù)測之中[7]。目前較為流行的預(yù)測方法分為物理模型預(yù)測和數(shù)據(jù)驅(qū)動預(yù)測兩類。其中,通過數(shù)據(jù)驅(qū)動的方法因為不需要建立準(zhǔn)確的預(yù)測對象物理模型而受到廣泛關(guān)注。最新的研究[8]顯示,人工智能與機(jī)器學(xué)習(xí)方法,比如人工神經(jīng)網(wǎng)絡(luò)(ANN)、支持向量機(jī)(SVM)、決策樹等,能夠?qū)崿F(xiàn)較高精度的預(yù)測性能。其中,ANN已經(jīng)成為最常見的預(yù)測方法。得益于深度學(xué)習(xí)的技術(shù)革新,深度神經(jīng)網(wǎng)絡(luò)已經(jīng)成為當(dāng)前研究的熱點,如為序列建模和時間序列任務(wù)設(shè)計的長短期記憶(LSTM)網(wǎng)絡(luò),自適應(yīng)特征提取的卷積神經(jīng)網(wǎng)絡(luò),基于決策樹的快速技術(shù)算法深度森林等。這些先進(jìn)的深度學(xué)習(xí)方法為考慮電力隨機(jī)波動的不確定性提供了可能。但是,現(xiàn)有的文獻(xiàn)資料鮮有考慮電力波動不確定性的研究[9]。
如何利用深度學(xué)習(xí)將不確定性進(jìn)行評估以避免由此造成的失誤預(yù)測仍然是一項挑戰(zhàn)。針對此挑戰(zhàn)性難題,本文提出了一種新的深度學(xué)習(xí)方法來解決電網(wǎng)短時電力負(fù)荷可靠預(yù)測問題,希望能對電力負(fù)荷預(yù)測研究提供一些有價值的參考。
要建立可靠的、完全人工智能的電網(wǎng)系統(tǒng),準(zhǔn)確的電力負(fù)荷預(yù)測是必要的[10-16]。電力負(fù)荷預(yù)測如果沒有考慮電網(wǎng)系統(tǒng)隨機(jī)波動的影響是不準(zhǔn)確的,會對關(guān)鍵的能源生產(chǎn)和分配決策帶來不安全的因素。但是,現(xiàn)有的主流預(yù)測模型通常不考慮預(yù)測電力負(fù)荷的不確定性信息,由此,一旦發(fā)生重要波動,其預(yù)測結(jié)果必然會造成代價高昂、風(fēng)險巨大的決策失誤,影響智能電網(wǎng)系統(tǒng)的可靠性。因此,基于安全、可靠、智慧的角度出發(fā),評估電力負(fù)荷的不確定性至關(guān)重要的。
本文提出了一種新的卷積神經(jīng)網(wǎng)絡(luò)-深度森林預(yù)測方法,首先,利用卷積神經(jīng)網(wǎng)絡(luò)建立能量預(yù)測計算模型,并結(jié)合蒙塔卡羅算法量化電力不確定性。其次,將獲得的不確定性評估特征以及電力分布特征輸入深度森林以準(zhǔn)確預(yù)測短時電力負(fù)荷。該方法的具體工作流程如圖1所示:
圖1 電力負(fù)荷準(zhǔn)確預(yù)測新方法Fig.1 New method for accurate electric load forecasting
Step 1:從歷史數(shù)據(jù)中整理出充足的相似工作條件下的短時電力負(fù)荷數(shù)據(jù)時間序列,并作為訓(xùn)練樣本輸入到深度卷積網(wǎng)絡(luò)。
Step 2:深度卷積網(wǎng)絡(luò)利用多層卷積和池化,提出隱藏在數(shù)據(jù)中難以用解析方法刻畫或者發(fā)現(xiàn)的潛在規(guī)律,并以圖形數(shù)據(jù)方式進(jìn)行儲存。
Step 3:利用dropout regularization(丟棄正則化)對深度網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,通過模型參數(shù)的不確定評估實現(xiàn)對提取特征不確定的量化,從而為考慮原始數(shù)據(jù)的不確定性的對預(yù)測結(jié)果的影響提供可能。
Step 4:最后,采用深度森林對所提取的數(shù)據(jù)特征進(jìn)行學(xué)習(xí)并建立預(yù)測模型,實現(xiàn)對電力負(fù)荷的準(zhǔn)確預(yù)測。
深度卷積網(wǎng)絡(luò)是一種流行的深度學(xué)習(xí)算法,它可以有效識別復(fù)雜矩陣元素之間的空間關(guān)系,根據(jù)深度卷積網(wǎng)絡(luò)的理論基礎(chǔ),從而提取關(guān)鍵的數(shù)據(jù)特征[17]。圖2為本文設(shè)計的CNN結(jié)構(gòu),包括一個輸入層、兩個卷積層(C1和C3)、兩個池化層(P2和P4)、一個全連接層(FC5)和一個輸出層(Softmax)。
圖2 設(shè)計的深度卷積網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Designed deep convolutional network structure
深度卷積網(wǎng)絡(luò)使用卷積核提取輸入(圖像)矩陣的紋理特征,池化層對特征地圖進(jìn)行降采樣操作,減少地圖維數(shù),獲得局部特征。經(jīng)過兩次卷積和池化層后,可以提取出原始圖像的基本特征。然后,全連接層(FC5)執(zhí)行高級推理,將特征映射到不同的類別之中;輸出層使用Softmax功能提供特征分類結(jié)果。
為了加快深度卷積網(wǎng)絡(luò)學(xué)習(xí)過程,減少訓(xùn)練中過度擬合的風(fēng)險,本文在第一個卷積層和第一池層之間添加了一個基于LeNet-5的批標(biāo)準(zhǔn)化層,同時在第二池層和全連接層之間增加了一個丟棄函數(shù)。這樣,深度卷積網(wǎng)絡(luò)的學(xué)習(xí)效率會更加明顯,對敏感特征信息的提取更準(zhǔn)確,對后續(xù)的預(yù)測精度提供良好基礎(chǔ)。
為了度量深度卷積網(wǎng)絡(luò)模型參數(shù)的不確定性,本文采用一種Monte Carlo dropout regularization(蒙塔卡羅-丟棄正則化)算法,利用蒙塔卡羅不確定性估計能力來量化模型參數(shù)的不確定性,從而間接地反映出電力負(fù)荷數(shù)據(jù)隱藏的不確定性,使得最后的預(yù)測結(jié)果準(zhǔn)確可靠。
一般地,深度卷積網(wǎng)絡(luò)可以用函數(shù)fw(x)來表示,其中x為網(wǎng)絡(luò)輸入,w為網(wǎng)絡(luò)權(quán)值;經(jīng)過訓(xùn)練后網(wǎng)絡(luò)的輸出為y=fw(x);對于新樣本x*的預(yù)測為y*=fw(x*)。為了度量網(wǎng)絡(luò)的不確定性,蒙塔卡羅-丟棄正則化的計算過程如下:首先利用新數(shù)據(jù)x*測試訓(xùn)練好的卷積網(wǎng)絡(luò),在計算預(yù)測的同時采用固定概率p隨機(jī)丟棄中間層神經(jīng)元N次,獲取一組預(yù)測值向量[y*1,y*2,…,y*N]。由此,可以評估網(wǎng)絡(luò)預(yù)測的不確定度為:
(1)
(2)
深度森林(gcForest)是隨機(jī)森林的深度學(xué)習(xí)衍生物。在隨機(jī)森林中,首先使用原始數(shù)據(jù)集x通過Booting策略構(gòu)造L個子數(shù)據(jù)集;然后,使用每個子數(shù)據(jù)集構(gòu)造一棵決策樹,所有子數(shù)據(jù)集將生成L棵決策樹組成的森林;最后,每棵決策樹將產(chǎn)生一個輸出,而隨機(jī)森林的最終輸出由投票或平均策略決定。深度森林基于隨機(jī)森林對每棵決策樹進(jìn)行處理,通過計算不同類別在訓(xùn)練數(shù)據(jù)集中所占的百分比來生成類別的概率分布。因此,深度森林的輸出是森林中所有決策樹的概率分布的平均值。
深度森林中使用多粒度掃描(MGS)和級聯(lián)森林實現(xiàn)深度學(xué)習(xí)。MGS的目的是從輸入圖像中提取有用的信息:首先,每個灰度圖像(M×M matrix;M為圖像大小)通過滑動窗口(窗口大小為k)掃描,生成S個子圖像矩陣;每個子圖像是一個k×k矩陣。如果滑動步長為j,則S= [(M-k)/j+1]2。然后,使用每個子圖像同時訓(xùn)練一個完全隨機(jī)森林和一個隨機(jī)森林,每個森林的輸出向量中有C個元素,對應(yīng)訓(xùn)練數(shù)據(jù)集的C類標(biāo)簽的概率。通過連接兩個訓(xùn)練森林模型的輸出向量,得到每個子圖像的2C元素特征向量。因此,對于每一幅灰度圖像,兩個森林模型都會生成一個維度為S×2C的特征矩陣。最后,連接特征矩陣的每一行,得到一個2×S×C維度概率向量作為每個灰度圖像的MGS輸出。需要強(qiáng)調(diào)的是,可以采用多個滑動窗口對灰度圖像進(jìn)行掃描,從而生成每個灰度圖像的輸出概率向量。在本研究中,我們使用了一個滑動窗口,灰度圖像大小M=28,滑動窗的大小為k=26,滑動步長為j=1,因此,子圖像個數(shù)S=9。
級聯(lián)森林是深度森林執(zhí)行深度學(xué)習(xí)策略的核心。它接收MGS的概率向量,并輸出最終的分類結(jié)果。級聯(lián)森林采用多層結(jié)構(gòu),每層有兩個完全隨機(jī)森林和兩個隨機(jī)森林。與MGS中的森林相似,級聯(lián)森林中的每個隨機(jī)森林模型都輸出一個C元素的概率向量,因此,每一層輸出的維數(shù)為4C。在訓(xùn)練過程中自適應(yīng)地確定層數(shù),在每一層中使用交叉驗證來檢查訓(xùn)練性能。
圖3描述了梯級森林的訓(xùn)練過程。對于每個灰度圖像,第一層的輸入為MGS的P(=S×2C)概率元素。然后將第一層的輸出(即4C個概率元素)與原P個概率元素連接,形成一個新的向量(即4C+P個概率元素)作為第二層的輸入。重復(fù)類似的連接,為下面的層生成輸入向量,直到最后一層。最后一層的四個森林模型的輸出被平均,以產(chǎn)生C類的最終概率。深度森林采取最終概率中的最大值作為結(jié)果。由于級聯(lián)森林的層數(shù)是根據(jù)訓(xùn)練性能自適應(yīng)確定的,因此可以針對不同大小的數(shù)據(jù)集調(diào)整模型的復(fù)雜度,這比固定層深度神經(jīng)網(wǎng)絡(luò)更有效。所以,本文提出的電力負(fù)荷預(yù)測方法能夠靈活多變地處理不同批次數(shù)據(jù),且可以自適應(yīng)數(shù)據(jù)規(guī)模變化,保證穩(wěn)定可靠的預(yù)測精度。
圖3 深度森林學(xué)習(xí)策略Fig.3 Deep forest learning strategy
智能電網(wǎng)核心技術(shù)之一是要實現(xiàn)電力供求的優(yōu)化管理;其中對短時電力負(fù)荷的預(yù)測尤為重要。為了解決這個問題,本文提出了考慮預(yù)測不確定性因素的新型深度學(xué)習(xí)方法。為了驗證該方法的有效性,對某市電網(wǎng)某段時間的電力負(fù)荷歷史數(shù)據(jù)進(jìn)行了分析。所提出的新型深度學(xué)習(xí)模型由Python IDE (pycharm 2019)執(zhí)行,所使用的計算機(jī)配置為:Intel Core i7-9700K 3.60GHz CPU,32 GB內(nèi)存,512 GB SSD,1 TB硬盤。
該電網(wǎng)連續(xù)記錄了2019年完整的電力負(fù)荷數(shù)據(jù),由于數(shù)據(jù)量較多,圖4僅給出了兩天完整的電力負(fù)荷歷史數(shù)據(jù)。從數(shù)據(jù)曲線中可知,原始電力負(fù)荷數(shù)據(jù)展現(xiàn)出明顯的波動情況,說明電力負(fù)荷在電網(wǎng)運行過程中存在較多不確定性,從而造成數(shù)據(jù)曲線并未呈現(xiàn)出有用的規(guī)律或者趨勢。
圖4 兩天的電力負(fù)荷歷史數(shù)據(jù)Fig.4 Electric load curve for 48 hours
進(jìn)一步,本文對歷史數(shù)據(jù)進(jìn)行了細(xì)節(jié)分析,以便提前掌握數(shù)據(jù)的自身特性,分析電力負(fù)荷波動的頻繁程度,特別是不同時間段和不同季節(jié)對電力負(fù)荷波動影響情況,從而為歷史數(shù)據(jù)的分析提供思路。通過仔細(xì)分析該歷史數(shù)據(jù)發(fā)現(xiàn),周末(周六和周日)的電力負(fù)荷曲線在每個時間點上的分布較為相似,而工作日(周一至周五)由于用電需求復(fù)雜多變,導(dǎo)致電力負(fù)荷曲線在不同時間點上的分布更加隨機(jī),并未出現(xiàn)規(guī)律性的概率分布情況,因此對周末的預(yù)測難度會比工作日更大;另外,通過分析還發(fā)現(xiàn)該數(shù)據(jù)在夏季的曲線波動情況比其他季節(jié)更加頻繁,表現(xiàn)出更加復(fù)雜的不確定性,從而對電力負(fù)荷預(yù)測帶來了更多不利影響。
為了定量地分析該電網(wǎng)2019年電力曲線在工作日、周末以及夏季的波動情況,對此三個時間段的數(shù)據(jù)進(jìn)行了方差計算,結(jié)果如表1所示。
表1 電力負(fù)荷波動方差Tab. 1 Variance of electric load fluctuation
從表1計算結(jié)果可見,該歷史數(shù)據(jù)的電力波動程度一次是周末、工作日、夏季等時間段??梢灶A(yù)見,由于波動帶來的不確定性,其預(yù)測難度依次為周末、工作日、夏季等時間段。但是,如果能夠較好控制電力負(fù)荷波動的不確定性,則可以減小不同時間段的預(yù)測精度,輸出穩(wěn)定準(zhǔn)確的電力負(fù)荷預(yù)測結(jié)果。為了驗證這個學(xué)術(shù)觀點,對該歷史數(shù)據(jù)分別進(jìn)行了不同時間段的預(yù)測。
為了檢驗預(yù)測精度,采用了均方根誤差(RMSE)和平均絕對百分比誤差(MAPE)兩個指標(biāo)。結(jié)果如表2-4所示。其中,分別對比了較為流行的LSTM、SVM、隨機(jī)森林等方法。
表2為對工作日的電力負(fù)荷預(yù)測結(jié)果。分析中選取了電網(wǎng)連續(xù)100周工作日(去掉周末)的完整電力負(fù)荷數(shù)據(jù)。從預(yù)測結(jié)果來看,隨機(jī)森林和LSTM算法預(yù)測結(jié)果較為接近,比SVM要準(zhǔn)確,但是不如本文方法。這是因為:本文方法對模型進(jìn)行了不確定性的分析,網(wǎng)絡(luò)會自適應(yīng)補(bǔ)償隨機(jī)電力波動造成的影響。
表2 工作日電力負(fù)荷預(yù)測結(jié)果Tab.2 Forecast results of workday electric load
表3為對周末的電力負(fù)荷預(yù)測結(jié)果。分析中選取了電網(wǎng)連續(xù)100周周末(去掉工作日)的完整電力負(fù)荷數(shù)據(jù)。從預(yù)測結(jié)果來看,隨機(jī)森林和LSTM算法預(yù)測結(jié)果較為接近,RMSE分別為17.3和17.1,而SVM預(yù)測RMSE誤差較大,為27.5;本文方法預(yù)測效果最好,為14.8。這是因為本文方法能夠利用深度森林對樣本量的自適應(yīng)能力,故而該方法會根據(jù)實際的樣本大小調(diào)節(jié)森林參數(shù),以實現(xiàn)對不同樣本的準(zhǔn)確預(yù)測。
表3 周末電力負(fù)荷預(yù)測結(jié)果Tab.3 Forecast results of weekend electric load
表4專門分析了夏季三個月的電力負(fù)荷預(yù)測結(jié)果。由于夏季用電波動較大,所產(chǎn)生的不確定性也隨之增加。從預(yù)測結(jié)果來看,隨機(jī)森林和LSTM算法預(yù)測RMSE分別為27.8和27.5,SVM預(yù)測RMSE誤差為35.1;本文方法的預(yù)測效果RMSE為18.3??梢婋娏Σ▌訉︻A(yù)測精度的影響較大,但是本文方法仍然能夠準(zhǔn)確預(yù)測電力負(fù)荷。由此可見,本文方法是合理有效的電力負(fù)荷預(yù)測方法。
表4 夏季三個月電力負(fù)荷預(yù)測結(jié)果Tab.3 Forecast results of three-month electric load in summer
本文針對目前智能電網(wǎng)系統(tǒng)中電力負(fù)荷準(zhǔn)確預(yù)測的關(guān)鍵問題,提出了一種新的深度學(xué)習(xí)方法,能夠解決電力隨機(jī)波動造成的現(xiàn)有預(yù)測方法精度下降的問題。實際電力數(shù)據(jù)分析結(jié)果表明,由于采用了基于丟棄正則化的不確定評估,所提出的深度學(xué)習(xí)方法能夠在電力波動較大情況下準(zhǔn)確預(yù)測電力負(fù)荷,且精度比目前較為流行的方法高。因此,鑒于本文方法的穩(wěn)定有效性,有望為解決智能電網(wǎng)核心問題提供重要的技術(shù)支撐。