趙厚翔,沈曉東,呂 林,蘭 鵬,劉俊勇,劉代勇
(1.四川大學(xué)電氣工程學(xué)院,四川省成都市 610065;2.國網(wǎng)四川省電力公司德陽供電公司,四川省德陽市 618000)
隨著電動(dòng)汽車(EV)的廣泛普及,電池中儲(chǔ)存的電能為電網(wǎng)實(shí)施需求響應(yīng)以及極端情況下的電網(wǎng)支撐提供了可能[1]。然而EV的高普及率也會(huì)給電網(wǎng)帶 來眾多不利影 響[2]。EV充電站作為EV與 電 網(wǎng)的連接點(diǎn),充電站的負(fù)荷預(yù)測(cè)精確度關(guān)乎電網(wǎng)的運(yùn)行效率和安全。同時(shí),EV作為一種電網(wǎng)資源,利用智能充電提高EV利用效率也離不開精確的負(fù)荷預(yù)測(cè)。因此,更加精確的EV負(fù)荷預(yù)測(cè)結(jié)果,對(duì)于支持EV充電發(fā)展[3]、促進(jìn)EV高效使用[4]以及保障電網(wǎng)安全至關(guān)重要。
隨著智能充電設(shè)施的大規(guī)模部署,可獲得的實(shí)際EV歷史充電數(shù)據(jù)為傳統(tǒng)電力負(fù)荷預(yù)測(cè)中使用時(shí)間序列分析[5-7]、機(jī)器學(xué)習(xí)[6-9]、深度學(xué)習(xí)[10]等算法進(jìn)行預(yù)測(cè)提供了數(shù)據(jù)支撐。但這種基于數(shù)據(jù)驅(qū)動(dòng)的預(yù)測(cè)算法的性能表現(xiàn)也一定程度依賴數(shù)據(jù)集質(zhì)量,高質(zhì)量的數(shù)據(jù)集往往能提高數(shù)據(jù)驅(qū)動(dòng)算法的預(yù)測(cè)精度[11-12]。
由于終端數(shù)據(jù)采集器或者網(wǎng)絡(luò)通信故障等原因,常常使得歷史負(fù)荷數(shù)據(jù)集中存在數(shù)據(jù)缺失和數(shù)據(jù)異常的問題[13]。而不同的數(shù)據(jù)修復(fù)方法對(duì)預(yù)測(cè)精度的提高也有不同[14],現(xiàn)有文獻(xiàn)中對(duì)于缺失值和異常值的處理方法主要有3種:①直接刪除法[15-16],這種方法往往會(huì)忽略數(shù)據(jù)中的重要信息,并且缺失率越高,對(duì)于后續(xù)數(shù)據(jù)分析的影響越大;②簡(jiǎn)單插補(bǔ)法,通常采用均值插補(bǔ)、中位數(shù)插補(bǔ)以及其他數(shù)學(xué)插補(bǔ)方法[17-18],這種方法只關(guān)注數(shù)值之間的聯(lián)系,以統(tǒng)計(jì)學(xué)方法實(shí)現(xiàn)插補(bǔ);③基于機(jī)器學(xué)習(xí)的插補(bǔ)方法[19-21],這種方法一般包含基于最大似然期望最大化的插值、基于k近鄰(k-NN)的插值和基于矩陣分解的插值等。然而,這些方法幾乎只關(guān)注數(shù)據(jù)本身的統(tǒng)計(jì)學(xué)特征,忽視了時(shí)間序列數(shù)據(jù)中的時(shí)序特征,插補(bǔ)精度較低。
生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)是近年來新提出的一種生成式的學(xué)習(xí)算法。由于GAN在解決數(shù)據(jù)生成任務(wù)時(shí)的無模型重構(gòu)優(yōu)勢(shì)[22],已有研究將其應(yīng)用于電力系統(tǒng)數(shù)據(jù)生成場(chǎng)景。文獻(xiàn)[23]將GAN應(yīng)用于電力系統(tǒng)量測(cè)缺失數(shù)據(jù)重構(gòu),并且取得了較好的精度。文獻(xiàn)[24]以新的約束方法提高對(duì)抗損失函數(shù)的約束能力,提升了GAN的重構(gòu)精度。
因此,為了在低質(zhì)量的EV負(fù)荷數(shù)據(jù)集上獲取更加精確的預(yù)測(cè)結(jié)果,本文以基于用于插補(bǔ)的門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)(gated recurrent unit neural network cells for imputation,GRUI)和GAN(下文簡(jiǎn)稱GRUI-GAN)的數(shù)據(jù)插補(bǔ)模型對(duì)負(fù)荷數(shù)據(jù)中的空缺值(待插補(bǔ)的缺失值和異常值)進(jìn)行精確插補(bǔ),提高數(shù)據(jù)質(zhì)量。由于長短期記憶(long short-term memory,LSTM)網(wǎng)絡(luò)在多種短期負(fù)荷預(yù)測(cè)場(chǎng)景下都取得了良好的預(yù)測(cè)效果[10,18,25-26],本文以最近提出的Mogrifier門控機(jī) 制[27]進(jìn) 一步提升LSTM網(wǎng)絡(luò) 性能,以在經(jīng)處理過的數(shù)據(jù)集上獲取更加精確的EV短期負(fù)荷預(yù)測(cè)結(jié)果。
本文EV負(fù)荷數(shù)據(jù)集從某35 kV配電系統(tǒng)供電區(qū) 域 內(nèi)2019年1月1日 至2019年8月31日 共158個(gè)充電站的充電交易數(shù)據(jù)集中提取,充電交易數(shù)據(jù)形式及提取方法見附錄A表A1。由于該區(qū)域內(nèi)EV滲透率較低,導(dǎo)致該區(qū)域內(nèi)充電站記錄的數(shù)據(jù)并不連續(xù),為便于算法驗(yàn)證,將數(shù)據(jù)進(jìn)行聚合和重采樣(聚合和重采樣方法見圖A1),得到該區(qū)域以30 min為間隔的連續(xù)EV負(fù)荷數(shù)據(jù)集。通過初步整理可以發(fā)現(xiàn),原始數(shù)據(jù)集中存在連續(xù)片段的數(shù)據(jù)缺失問題,這對(duì)于應(yīng)用數(shù)據(jù)驅(qū)動(dòng)算法來進(jìn)行精確的負(fù)荷預(yù)測(cè)很不利。本文所使用的數(shù)據(jù)集數(shù)據(jù)缺失情況見表A2。
同時(shí),數(shù)據(jù)集中的異常值也會(huì)影響數(shù)據(jù)驅(qū)動(dòng)算法的性能表現(xiàn)。為了快速識(shí)別數(shù)據(jù)中的異常值,本文選取了被廣泛使用的箱形圖異常值檢測(cè)方法。該方法是基于統(tǒng)計(jì)的檢測(cè)方法,通過確定數(shù)據(jù)中的上下四分位數(shù)以及四分位距來識(shí)別異常值,具體分析方法見文獻(xiàn)[10]。根據(jù)文獻(xiàn)[10]中箱形圖分析過程,本文的箱形圖分析結(jié)果以及異常值分布結(jié)果見附錄A圖A2。
根據(jù)統(tǒng)計(jì)結(jié)果可知,原始數(shù)據(jù)集中,數(shù)據(jù)缺失點(diǎn)和數(shù)據(jù)異常點(diǎn)共583個(gè),接近數(shù)據(jù)集的5%,并且數(shù)據(jù)集中涉及許多連續(xù)片段的缺失。因此,可以認(rèn)為原始數(shù)據(jù)集的質(zhì)量較差。為了提高數(shù)據(jù)驅(qū)動(dòng)算法在這種數(shù)據(jù)集上的預(yù)測(cè)表現(xiàn),有必要研究一種方法來對(duì)空缺值進(jìn)行精確插補(bǔ)以提高數(shù)據(jù)集質(zhì)量。
負(fù)荷數(shù)據(jù)中的數(shù)據(jù)插補(bǔ)問題實(shí)際就是一個(gè)數(shù)據(jù)生成問題,是通過某種方式生成數(shù)據(jù)來實(shí)現(xiàn)對(duì)空缺值的插補(bǔ)。而GAN是由Goodfellow等人[28]受博弈論中二人零和博弈思想啟發(fā)而開發(fā)的一種新的生成式學(xué)習(xí)算法。其基本結(jié)構(gòu)由一個(gè)生成器和一個(gè)鑒別器構(gòu)成,分別用于生成偽造數(shù)據(jù)和實(shí)現(xiàn)對(duì)偽造數(shù)據(jù)與真實(shí)數(shù)據(jù)的區(qū)分[29]。通過生成器和鑒別器相互對(duì)抗訓(xùn)練,最終使得生成器能夠生成與真實(shí)數(shù)據(jù)非常接近的新數(shù)據(jù)[24]。但是,由于GAN存在模式崩潰的問題,使得傳統(tǒng)GAN很難訓(xùn)練。而以Wasserstein距離來優(yōu)化的GAN模型(下文簡(jiǎn)稱WGAN)[23]可 以有效擺脫GAN的模式崩潰 問題并提高其學(xué)習(xí)穩(wěn)定性。因此,在本文中所采用的GAN為WGAN。
對(duì)于給定的一個(gè)包含空缺值的d維時(shí)間序列x=[x0,x1,…,xn-1]∈Rd×n以 及 對(duì) 應(yīng) 的 時(shí) 間 節(jié) 點(diǎn)t=[t0,t1,…,tn-1],完成空缺值的插補(bǔ)。首先,需得到空缺值在時(shí)間序列中的具體位置,為此定義空缺值位置矩陣S∈Rd×n,以0-1變量來確定時(shí)間節(jié)點(diǎn)ti是否存在觀測(cè)值xi,j數(shù)據(jù)空缺。若有數(shù)據(jù)空缺,則對(duì)應(yīng)位置矩陣的元素sti,j=0,若沒有空缺,則sti,j=1。為了更加直觀地理解,給出一個(gè)含空缺值的3維時(shí)間序列(每行代表每個(gè)特征量在ti為0、1、2、3時(shí)刻的觀測(cè)值)如式(1)所示。
其中,None為數(shù)據(jù)空缺值。從上面這個(gè)例子中可以直觀地看到,由于None的存在,使得2個(gè)相鄰有效觀測(cè)值之間的時(shí)滯存在變化,而這種時(shí)滯的變化也顯示出了空缺值之間的分布特征。同時(shí),不同的時(shí)滯對(duì)后續(xù)觀測(cè)值的影響也會(huì)有所不同,如果觀測(cè)值缺失了一段時(shí)間,其影響也應(yīng)隨時(shí)間衰減。為了記錄2個(gè)相鄰有效觀測(cè)值之間的時(shí)滯,引入時(shí)滯矩陣δ∈Rd×n來描述時(shí)滯變化,其元素的表達(dá)式為:
前述含空缺值的3維時(shí)間序列對(duì)應(yīng)的時(shí)滯矩陣為:
由于目前大多數(shù)的GAN框架主要應(yīng)用于圖像處理,對(duì)于時(shí)間序列的插補(bǔ)并不具有適應(yīng)性。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是一種非常適用于處理時(shí)間序列的網(wǎng)絡(luò)結(jié)構(gòu),但是傳統(tǒng)的RNN在處理較長的時(shí)間序列時(shí)存在梯度爆炸和梯度消失問題。近年來,已經(jīng)有很多的變體,比如LSTM網(wǎng)絡(luò),門控循環(huán)單元(GRU)等,可以有效克服這一問題。為了簡(jiǎn)化GAN的構(gòu)建,本文采用具有更高計(jì)算效率和可擴(kuò)展性的GRU來構(gòu)建生成器和鑒別器的基本網(wǎng)絡(luò)結(jié)構(gòu)??紤]到數(shù)據(jù)的不完整以及2次連續(xù)有效觀測(cè)值之間的時(shí)滯變化很大,使得傳統(tǒng)的GRU結(jié)構(gòu)并不適用于數(shù)據(jù)插補(bǔ)的場(chǎng)景。因此,為了更加高效地處理這種不規(guī)則的時(shí)滯并從時(shí)滯中學(xué)習(xí)隱式信息,本文提出了基于GRU的GRUI,其基本結(jié)構(gòu)見圖1。
圖1 GRUI結(jié)構(gòu)圖Fig.1 GRUI structure diagram
其 中,Wβ和bβ為 需 要 學(xué) 習(xí) 的 參 數(shù);δti=(δti,j)1×n。為 了 使β∈(0,1],使 用 負(fù) 指 數(shù) 函 數(shù) 來 進(jìn)行限制。此外,為了獲取δ矩陣的相互作用,Wβ為全權(quán)重矩陣。在獲得衰減向量之后,將逐元素乘以衰減向量β來更新GRU的隱藏狀態(tài)hti-1。因?yàn)樵跀?shù)據(jù)預(yù)處理時(shí)常采用歸一化的方法,所以選擇將hti-1與衰減向量相乘來更新隱藏狀態(tài),使得更新之后的隱藏狀態(tài)的值不至于過小。
GRUI的更新公式如下。
由于自編碼器旨在重構(gòu)目標(biāo)樣本,因此,本文在生成器中采用了自編碼器和GRUI結(jié)構(gòu)。為了強(qiáng)制自編碼器學(xué)習(xí)到更加有用的信息,本文借鑒了降噪自編碼器的思想。降噪自編碼器的主要思想是刪除一些原始樣本(破壞原始樣本)并重建原始樣本。但是,考慮到數(shù)據(jù)體量較少,如果進(jìn)行刪除樣本,會(huì)使數(shù)據(jù)量進(jìn)一步減少,不利于自編碼器學(xué)習(xí)到更多的信息。因此,本文通過向原始樣本中引入從正態(tài)分布N(0,0.01)中采樣的隨機(jī)噪聲η來達(dá)到對(duì)原始樣本破壞的效果。生成器的函數(shù)G(·)如下。
式中:x為真實(shí)數(shù)據(jù);x'為偽造數(shù)據(jù)。
為了讓生成器生成最接近x的完整時(shí)間序列x',本文在生成器的損失函數(shù)中加入了平方誤差損失函數(shù),生成器的損失函數(shù)L2(x)如下。
式中:λ為控制鑒別器損失和方差損失權(quán)重的超參數(shù);D(·)為鑒別器的函數(shù)。
鑒別器的網(wǎng)絡(luò)結(jié)構(gòu)實(shí)際上是一個(gè)解碼器,它是由GRUI層和全連接層組成。鑒別器的目的是區(qū)分偽造數(shù)據(jù)x'和真實(shí)數(shù)據(jù)x,其輸出結(jié)果為生成的x'為真實(shí)數(shù)據(jù)的概率。因此,為了找到一組參數(shù)使得在輸入真實(shí)數(shù)據(jù)x時(shí)輸出較高的概率,而在輸入偽造數(shù)據(jù)x'時(shí)輸出較低的概率,將鑒別器的損失函數(shù)LD定義為:
生成器和鑒別器按式(14)進(jìn)行min-max博弈對(duì)抗訓(xùn)練,最終達(dá)到平衡。
式中:E(·)為數(shù)學(xué)期望;Px(x)和Px'(x')分別為真實(shí)數(shù)據(jù)x和偽造數(shù)據(jù)x'的概率分布。
對(duì)抗訓(xùn)練權(quán)重更新公式見文獻(xiàn)[30],本文所提數(shù)據(jù)質(zhì)量提升方法如下。
1)首先,采用-1值來代替原始數(shù)據(jù)中的空缺值,得到空缺值被標(biāo)記的序列x,并根據(jù)-1值的分布情況構(gòu)建相應(yīng)的位置矩陣S和時(shí)滯矩陣δ。
2)在數(shù)據(jù)加載階段,經(jīng)zero-mean標(biāo)準(zhǔn)化之后將數(shù)據(jù)構(gòu)建成[批樣本數(shù),序列長度,序列特征數(shù)]形式的3維數(shù)組輸入GRUI-GAN模型中。
3)在生成器中,被標(biāo)記并添加了噪聲η的序列x及其時(shí)滯矩陣δ被輸入到GRUI細(xì)胞中,在經(jīng)由GRUI層處理之后會(huì)生成與輸入序列對(duì)應(yīng)的隱藏狀態(tài),該隱藏狀態(tài)會(huì)進(jìn)一步饋入全連接層中以生成低維向量z。然后,z通過另一個(gè)全連接層饋入下一個(gè)GRUI層進(jìn)行處理,該GRUI層的所有輸出將被組合成新的完整序列x'。
4)而在鑒別器中,不完整序列x或者完整序列x'及其相應(yīng)的時(shí)滯矩陣δ同樣借助GRUI得到有效處理。鑒別器中GRUI層的最后一個(gè)隱藏狀態(tài)被饋入全連接層中,全連接層的輸出為被鑒別為真實(shí)數(shù)據(jù)的可能性。
5)經(jīng)過生成器和鑒別器多輪的對(duì)抗訓(xùn)練,生成器將可以生成最接近x的新序列x',然后使用x'去插補(bǔ)x中的空缺值。本文所提的插補(bǔ)框架如圖2所示,數(shù)據(jù)插補(bǔ)公式如下。
圖2 基于GRUI-GAN的負(fù)荷數(shù)據(jù)插補(bǔ)框架Fig.2 Load data imputation framework based on GRUI-GAN
式中:xim為插補(bǔ)完成之后的x。
同時(shí),為了提高生成器擬合原始序列的能力,在本文的GAN中使用了在1次迭代中生成器更新N次,鑒別器更新1次的機(jī)制。
傳統(tǒng)電力短期負(fù)荷預(yù)測(cè)中,LSTM網(wǎng)絡(luò)是一種在多種場(chǎng)景中廣泛適用的算法[10,18,25-26]。附錄A圖A3顯示了LSTM網(wǎng)絡(luò)的一般結(jié)構(gòu)。在LSTM網(wǎng)絡(luò)中,隱藏狀態(tài)h和當(dāng)前輸入x都是相互獨(dú)立地饋入LSTM網(wǎng)絡(luò)細(xì)胞中,使得LSTM網(wǎng)絡(luò)因缺少這種上下文聯(lián)系而導(dǎo)致一些信息的丟失。為了解決這一問題,文獻(xiàn)[27]在LSTM網(wǎng)絡(luò)的基礎(chǔ)上新增加了一種門控機(jī)制,借助這種機(jī)制,可以將隱藏狀態(tài)h和當(dāng)前輸入x進(jìn)行充分交互,極大地提高LSTM網(wǎng)絡(luò)對(duì)于上下文信息的建模能力。
圖3為具有5輪交互更新的Mogrifier LSTM網(wǎng)絡(luò) 結(jié)構(gòu),其 中hti-1,0=hti-1為 輸入當(dāng)前LSTM網(wǎng) 絡(luò)中的隱藏狀態(tài)h,xti,-1=xti為當(dāng)前輸入x。hti-1,0經(jīng)過線性變換(圖中虛線箭頭)和xti,-1饋入sigmoid門中(圖中σ)得到新的輸入xti,1。同樣,在下一輪更新中,xti,1經(jīng) 過 線 性 變 換 和hti-1,0饋 入sigmoid門 中 得到新的隱藏狀態(tài)hti-1,2。通過多輪交替更新的方式最終得到新的隱藏狀態(tài)hnewti-1和新的輸入xnewti,實(shí)現(xiàn)上下文信息的充分交互。
圖3 Mogrifier LSTM網(wǎng)絡(luò)的基本結(jié)構(gòu)Fig.3 Basic structure of Mogrifier LSTM network
Mogrifier LSTM網(wǎng)絡(luò)實(shí)際上是在LSTM網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上對(duì)隱藏狀態(tài)h和輸入x進(jìn)行了交叉運(yùn)算,其運(yùn)算公式如下:
本文所采用的EV短期負(fù)荷預(yù)測(cè)框架與傳統(tǒng)電力短期負(fù)荷預(yù)測(cè)框架大體相同,見附錄A圖A4。為提高原始數(shù)據(jù)集的質(zhì)量,首先對(duì)原始數(shù)據(jù)中的缺失值和異常值進(jìn)行檢測(cè)與識(shí)別,并將缺失值和異常值用-1代替。根據(jù)識(shí)別結(jié)果按照2.2節(jié)所提方法建立位置矩陣S和時(shí)滯矩陣δ。然后,對(duì)替代后的原始數(shù)據(jù)采用zero-mean標(biāo)準(zhǔn)化方法進(jìn)行標(biāo)準(zhǔn)化并構(gòu)建為[批樣本數(shù),序列長度,序列特征數(shù)]的數(shù)組形式,然后輸入GRUI-GAN模型中對(duì)空缺值進(jìn)行插補(bǔ)。
在獲得了質(zhì)量較好的數(shù)據(jù)之后,使用數(shù)據(jù)分析方法抽取了數(shù)據(jù)集中的顯著特征用于構(gòu)建輸入特征集,分析過程見附錄B。根據(jù)分析結(jié)果,本文選取了時(shí)段類型、星期類型、溫度、最高溫度、最低溫度作為本文的特征量,同時(shí)考慮到前后負(fù)荷的相互影響,前2個(gè)時(shí)刻的負(fù)荷值也作為本文的特征。因此,本文EV負(fù)荷預(yù)測(cè)模型的輸入x包含前述7個(gè)特征量。x也需要經(jīng)過標(biāo)準(zhǔn)化后構(gòu)建為[批樣本數(shù),序列長度,序列特征數(shù)]的數(shù)組形式,并輸入基于Mogrifier LSTM網(wǎng)絡(luò)的預(yù)測(cè)模型中進(jìn)行預(yù)測(cè)。最后,經(jīng)過全連接層輸出預(yù)測(cè)結(jié)果y,其形式為[批樣本數(shù),預(yù)測(cè)步長,預(yù)測(cè)變量數(shù)]。
對(duì)于預(yù)測(cè)模型優(yōu)化器的選擇,常用的優(yōu)化器一般 有Adam、SGD、Adagrad以 及RMSProp等。其中,Adam優(yōu)化器以其良好的性能表現(xiàn),在負(fù)荷預(yù)測(cè)中成為較主流的選擇,因此,本文采用Adam優(yōu)化器來優(yōu)化訓(xùn)練過程。
在模型評(píng)估函數(shù)的選擇方面,平均絕對(duì)百分比誤差(MAPE)和均方根誤差(RMSE)在負(fù)荷預(yù)測(cè)中經(jīng)常被采用作為評(píng)估函數(shù)。由于本文數(shù)據(jù)集中EV負(fù)荷存在負(fù)荷值為0的情況,因此MAPE不能用來作為本文所提模型的誤差函數(shù)。而平均絕對(duì)誤差(MAE)相比于其他誤差函數(shù),對(duì)誤差的魯棒性更強(qiáng)。
因此,本文選擇MAE和RMSE作為本文模型的評(píng)估函數(shù),其表達(dá)式分別如下。
式 中:yt為t時(shí) 刻 的 實(shí) 際 值;yt,pre為t時(shí) 刻 的 預(yù) 測(cè) 值;M為樣本數(shù)量。
本文所選EV充電負(fù)荷歷史數(shù)據(jù)集為某35 kV供 電區(qū) 域 內(nèi)2019年1月1日 至2019年8月31日 的多個(gè)充電站實(shí)際交易數(shù)據(jù)。由于該區(qū)域較低的EV滲透率和充電交易的隨機(jī)性,所記錄的數(shù)據(jù)并不能以固定采樣間隔覆蓋每天所有時(shí)段,因此,為便于算法驗(yàn)證,本文通過將數(shù)據(jù)進(jìn)行初步的聚合和重采樣,得到該區(qū)域以30 min為間隔的EV歷史負(fù)荷數(shù)據(jù)集。
本文硬件平臺(tái)為Windows 10,64位操作系統(tǒng),CPU為AMD Ryzen 5 3600 6核 處 理 器,主 頻 為3.59 GHz,內(nèi)存為16 GB,軟件平臺(tái)為Anaconda3,Python3.6,所用庫為TensorFlow1.7.0以及其他常用封裝庫。
在負(fù)荷數(shù)據(jù)插補(bǔ)實(shí)驗(yàn)中,本文選取了傳統(tǒng)負(fù)荷預(yù)測(cè)中常用的幾種空缺值插補(bǔ)方法(均值插補(bǔ)、分段線性插值法插補(bǔ)(用PLI表示)[18]和k-NN插補(bǔ))作為對(duì)比方法以驗(yàn)證所提方法有效性。同時(shí),為比較GAN框架下本文所提出的GRUI細(xì)胞結(jié)構(gòu)相比于GRU細(xì)胞結(jié)構(gòu)的優(yōu)勢(shì),以GRU細(xì)胞構(gòu)建的GRUGAN插補(bǔ)方法也被用于本文插補(bǔ)實(shí)驗(yàn)的對(duì)比。
由于本文數(shù)據(jù)集自身為不完整數(shù)據(jù),因此無法直接評(píng)估不同算法的空缺值插補(bǔ)精度。文獻(xiàn)[23-24]中通過劃分訓(xùn)練集和測(cè)試集來訓(xùn)練和測(cè)試GAN模型的實(shí)驗(yàn)方法在本文中并不適用。因此,本文將所有數(shù)據(jù)在所提出的GRUI-GAN模型中進(jìn)行訓(xùn)練,即訓(xùn)練集為整個(gè)數(shù)據(jù)集。而經(jīng)整個(gè)數(shù)據(jù)集訓(xùn)練之后的GRUI-GAN模型對(duì)數(shù)據(jù)集的插補(bǔ)結(jié)果的好壞只能借助后續(xù)負(fù)荷預(yù)測(cè)結(jié)果來評(píng)估。因此,為驗(yàn)證所提方法的有效性,本文插補(bǔ)實(shí)驗(yàn)包含如下2個(gè)部分。
1)從數(shù)據(jù)集中選取一部分完整數(shù)據(jù)(不包含缺失值且不考慮異常值),隨機(jī)缺失不同比例的數(shù)據(jù)構(gòu)建不完整數(shù)據(jù)進(jìn)行實(shí)驗(yàn),以驗(yàn)證在小數(shù)據(jù)集上采用全數(shù)據(jù)集訓(xùn)練之后模型的插補(bǔ)表現(xiàn)。
2)將整個(gè)不完整數(shù)據(jù)集重新按照上述實(shí)驗(yàn)方法獲取,經(jīng)過不同方法插補(bǔ)得到的不同完整數(shù)據(jù)集用于后續(xù)EV負(fù)荷預(yù)測(cè),通過最終EV負(fù)荷預(yù)測(cè)結(jié)果間接驗(yàn)證所提插補(bǔ)方法的有效性。
在參數(shù)設(shè)置方面,本文主要通過觀察生成器和鑒別器的損失函數(shù)圖像來確定GAN的網(wǎng)絡(luò)參數(shù)。當(dāng)生成器和鑒別器的損失函數(shù)圖像呈現(xiàn)出文獻(xiàn)[22-24]中損失函數(shù)圖像的形式,并且實(shí)現(xiàn)對(duì)抗訓(xùn)練最終收斂,則該參數(shù)就被確定為本文的參數(shù)。本文以文獻(xiàn)[29]的參數(shù)設(shè)置為基礎(chǔ),并結(jié)合本文的場(chǎng)景進(jìn)行調(diào)參,調(diào)參結(jié)果為:隱藏層GRUI神經(jīng)元個(gè)數(shù)為10,學(xué)習(xí)率為0.005,損失函數(shù)權(quán)重超參數(shù)λ為1.2,訓(xùn)練次數(shù)設(shè)值為3 000。
在第1部分實(shí)驗(yàn)中,本文將原始負(fù)荷數(shù)據(jù)中不包含缺失值(2019年5月26日至7月30日)并且不考慮異常值的負(fù)荷數(shù)據(jù)作為完整樣本。考慮到不同場(chǎng)景所導(dǎo)致的負(fù)荷數(shù)據(jù)缺失形式的不同,本文在隨機(jī)缺失(模擬隨機(jī)異常情況導(dǎo)致隨機(jī)單個(gè)數(shù)據(jù)點(diǎn)數(shù)據(jù)的缺失)、片段缺失(模擬系統(tǒng)故障無法及時(shí)恢復(fù)導(dǎo)致整天數(shù)據(jù)缺失)和混合缺失(既包含隨機(jī)缺失,也包含片段缺失,在該實(shí)驗(yàn)中比例為6∶4)3種負(fù)荷數(shù)據(jù)缺失場(chǎng)景下進(jìn)行了插補(bǔ)實(shí)驗(yàn),并將插補(bǔ)結(jié)果與完整樣本進(jìn)行比較以均方誤差[29]來評(píng)估插補(bǔ)精度,如表1至表3所示。
表1 隨機(jī)缺失插補(bǔ)誤差對(duì)比Table 1 Imputation error comparison for random missing
表2 片段缺失插補(bǔ)誤差對(duì)比Table 2 Imputation error comparison for segment deletion
從表1至表3的插補(bǔ)誤差計(jì)算結(jié)果可以看出,所提基于GRUI-GAN的數(shù)據(jù)插補(bǔ)模型的插補(bǔ)精度在3種負(fù)荷缺失場(chǎng)景下都優(yōu)于傳統(tǒng)負(fù)荷預(yù)測(cè)中的負(fù)荷缺失值插補(bǔ)方法。特別是在片段缺失最嚴(yán)重的場(chǎng)景下,所提插補(bǔ)方法的插補(bǔ)精度與傳統(tǒng)方法的精度相比提升了1個(gè)量級(jí)。此外,由于在GRU細(xì)胞中引入了時(shí)間衰減向量β來學(xué)習(xí)空缺值導(dǎo)致的不規(guī)則時(shí)滯對(duì)觀測(cè)值的影響,使用GRUI細(xì)胞構(gòu)建GRUI-GAN在3種插補(bǔ)場(chǎng)景下的結(jié)果都比GRU-GAN結(jié)果更好。因此,可以認(rèn)為,所提插補(bǔ)方法能夠以較好的精度對(duì)原始負(fù)荷數(shù)據(jù)進(jìn)行插補(bǔ)。同時(shí),在附錄A圖A5中展示了缺失率為5%的混合缺失場(chǎng)景下(與本文缺失數(shù)據(jù)場(chǎng)景相似)一段序列的不同方法實(shí)際插補(bǔ)效果,可以看出,基于GAN的數(shù)據(jù)修復(fù)方法能夠以較好的精度修復(fù)數(shù)據(jù)。
表3 混合缺失插補(bǔ)誤差對(duì)比Table 3 Imputation error comparison for mixed missing
在第2部分實(shí)驗(yàn)中,本文采用GRUI-GAN、k-NN插補(bǔ)、均值插補(bǔ)以及PLI對(duì)原始負(fù)荷數(shù)據(jù)中的空缺值進(jìn)行插補(bǔ),以獲取經(jīng)4種不同方法修復(fù)之后的完整負(fù)荷數(shù)據(jù),并在下一節(jié)中用于EV負(fù)荷預(yù)測(cè)。而最終修復(fù)結(jié)果的合理性,將根據(jù)在4個(gè)不同數(shù)據(jù)集上的負(fù)荷預(yù)測(cè)結(jié)果間接反映。
特定的數(shù)據(jù)集選取合適的特征用于模型訓(xùn)練,將會(huì)有效提升模型的性能。因此,本文通過數(shù)據(jù)分析可視化方法從數(shù)據(jù)集中抽取了時(shí)段特征、日期類型和溫度因素(溫度數(shù)據(jù)從氣象網(wǎng)站獲取,不包含缺失值和異常值)作為典型特征構(gòu)建輸入特征集,具體分析過程見附錄B。
基于深度學(xué)習(xí)的負(fù)荷預(yù)測(cè)模型的預(yù)測(cè)精度受到模型結(jié)構(gòu)的影響,而模型結(jié)構(gòu)主要與其數(shù)據(jù)集規(guī)模有關(guān),數(shù)據(jù)集規(guī)模較小而構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型較大容易造成過擬合,反之則容易造成欠擬合。因此,確定合適的網(wǎng)絡(luò)參數(shù)也十分重要。本文首先參考現(xiàn)有文獻(xiàn)中LSTM網(wǎng)絡(luò)的參數(shù)設(shè)置,初步確定其他次要參數(shù)的取值。然后,根據(jù)文獻(xiàn)[17]中的參數(shù)尋優(yōu)方法確定主要參數(shù)的最優(yōu)取值,在確定主要參數(shù)取值之后,再采用同樣的尋優(yōu)方法依次確定其他參數(shù)。最終,本文基于Mogrifier LSTM網(wǎng)絡(luò)的預(yù)測(cè)模型的主要參數(shù)設(shè)置為:隱藏層數(shù)為53,神經(jīng)元個(gè)數(shù)為32,預(yù)測(cè)模型訓(xùn)練的選取時(shí)間步長為10,按批進(jìn)行訓(xùn)練的每批樣本數(shù)目為150,學(xué)習(xí)率為0.000 2,交互輪次為3,降維階數(shù)為1。
為了驗(yàn)證本文所提預(yù)測(cè)模型的有效性,本文選取了文獻(xiàn)中常見的幾種短期負(fù)荷預(yù)測(cè)算法:LSTM網(wǎng)絡(luò)、雙向長短時(shí)記憶(Bi-LSTM)網(wǎng)絡(luò)、GRU、支持向量機(jī)(SVM)、自回歸差分移動(dòng)平均(ARIMA)、季節(jié)性外部信息自回歸差分移動(dòng)平均(SARIMAX)作為對(duì)比實(shí)驗(yàn)。首先,在經(jīng)GRUI-GAN方法修復(fù)之后的數(shù)據(jù)集上進(jìn)行日負(fù)荷預(yù)測(cè)實(shí)驗(yàn),并評(píng)估所選預(yù)測(cè)算法的預(yù)測(cè)誤差。圖4展示了所選算法在測(cè)試集(2019年8月11日至8月31日)上隨機(jī)選取目標(biāo)日的日負(fù)荷預(yù)測(cè)效果,根據(jù)本文所選評(píng)估指標(biāo)計(jì)算的預(yù)測(cè)誤差如表4所示。綜合幾種方法可視化結(jié)果以及預(yù)測(cè)誤差可知,本文使用的Mogrifier LSTM網(wǎng)絡(luò)算法和同樣以改進(jìn)LSTM網(wǎng)絡(luò)上下文信息建模能力為目的的Bi-LSTM網(wǎng)絡(luò)算法在測(cè)試集上都取得了優(yōu)于傳統(tǒng)LSTM網(wǎng)絡(luò)的良好表現(xiàn)。雖然在高峰時(shí)刻的預(yù)測(cè)精度上,本文所提方法略遜于Bi-LSTM網(wǎng)絡(luò)算法,但是其余大部分時(shí)段,Mogrifier LSTM網(wǎng)絡(luò)算法都有更好預(yù)測(cè)表現(xiàn)并且總體誤差也更小。
圖4 某日預(yù)測(cè)結(jié)果對(duì)比Fig.4 Comparison of forecasting results on a day
表4 算法誤差對(duì)比Table 4 Algorithm error comparison
此外,為了進(jìn)一步評(píng)估不同負(fù)荷數(shù)據(jù)修復(fù)方法對(duì)預(yù)測(cè)結(jié)果的影響,本文將4.2節(jié)經(jīng)不同方法修復(fù)之后的負(fù)荷數(shù)據(jù)重新用于訓(xùn)練模型,最終在整個(gè)測(cè)試集上評(píng)估了日負(fù)荷預(yù)測(cè)平均誤差,評(píng)估結(jié)果如圖5所示。從圖中可以明顯看出,本文所選的幾種預(yù)測(cè)算法,在經(jīng)GRUI-GAN修復(fù)之后的數(shù)據(jù)集上都取得了更高的預(yù)測(cè)精度。因此,可以認(rèn)為經(jīng)GRUIGAN方法修復(fù)之后的數(shù)據(jù)集質(zhì)量得到了有效改善,從而使得預(yù)測(cè)模型能夠捕獲更加精確的信息以提高預(yù)測(cè)結(jié)果精度。同時(shí),根據(jù)圖5顯示結(jié)果可以看出,本文所使用的Mogrifier LSTM網(wǎng)絡(luò)算法在測(cè)試集上可以保證一定的穩(wěn)定性。
圖5 不同插補(bǔ)方法對(duì)算法預(yù)測(cè)誤差影響Fig.5 Influence of different imputation methods on forecasting error of algorithm
面對(duì)EV負(fù)荷數(shù)據(jù)質(zhì)量較差情況下的高精度負(fù)荷預(yù)測(cè)需求,本文提出了基于GRUI-GAN的負(fù)荷數(shù)據(jù)修復(fù)方法。通過在傳統(tǒng)GRU細(xì)胞結(jié)構(gòu)中引入時(shí)間衰減向量構(gòu)建GRUI細(xì)胞結(jié)構(gòu)來捕獲不同時(shí)滯對(duì)觀測(cè)值的影響。以這一結(jié)構(gòu)構(gòu)建的GAN可以處理不完整負(fù)荷序列,經(jīng)過對(duì)抗訓(xùn)練生成較高精度的數(shù)據(jù)進(jìn)行插補(bǔ),從而提高負(fù)荷數(shù)據(jù)質(zhì)量。然后,在預(yù)測(cè)算法模型方面,本文在傳統(tǒng)LSTM網(wǎng)絡(luò)中采用的Mogrifier門控機(jī)制以多輪的交互更新方式使LSTM網(wǎng)絡(luò)上下文信息得到充分交互,進(jìn)一步優(yōu)化傳統(tǒng)LSTM網(wǎng)絡(luò)的性能。但在負(fù)荷峰值時(shí)段,Mogrifier LSTM網(wǎng)絡(luò)的擬合精度仍有提高的空間,因此未來將會(huì)研究Mogrifier LSTM網(wǎng)絡(luò)在負(fù)荷峰值時(shí)段的擬合精度提高方法,以進(jìn)一步提高EV負(fù)荷預(yù)測(cè)精度。