基于Transformer模型的電力負(fù)荷預(yù)測(cè)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
電力系統(tǒng)的主要任務(wù)是為用戶提供標(biāo)準(zhǔn)且穩(wěn)定的電能,以滿足生活中各類負(fù)荷的用電需求,由于目前難以實(shí)現(xiàn)電能的大量存儲(chǔ),故為使電力系統(tǒng)穩(wěn)定運(yùn)行,需要實(shí)時(shí)動(dòng)態(tài)地平衡發(fā)電量與負(fù)荷變化。為保證電網(wǎng)經(jīng)濟(jì)且穩(wěn)定運(yùn)行,應(yīng)按需發(fā)電并合理分配負(fù)荷,其關(guān)鍵點(diǎn)在于如何對(duì)電力系統(tǒng)負(fù)荷進(jìn)行精準(zhǔn)預(yù)測(cè)。
電力系統(tǒng)負(fù)荷預(yù)測(cè)是電力系統(tǒng)規(guī)劃的重要組成部分,也是電力系統(tǒng)經(jīng)濟(jì)運(yùn)行的基礎(chǔ)[2]。細(xì)化到民用領(lǐng)域,居民用電量本質(zhì)上是一系列的時(shí)序數(shù)據(jù),故可用時(shí)序預(yù)測(cè)問題予以建模,它能從已知的歷史用電需求出發(fā)來預(yù)測(cè)未來的用電需求。傳統(tǒng)的電力系統(tǒng)負(fù)荷預(yù)測(cè)常采用基于時(shí)間序列的方法,例如文獻(xiàn)從負(fù)荷影響因素的復(fù)雜性和隨機(jī)性考慮,以電力系統(tǒng)負(fù)荷為因變量,經(jīng)濟(jì)、人口、季節(jié)為自變量構(gòu)建回歸方程,利用多元線性回歸模型進(jìn)行預(yù)測(cè):文獻(xiàn)利用灰色模型(GreyModel,GM)擬合電力負(fù)荷的增長(zhǎng)趨勢(shì),再利用馬爾可夫鏈(MarkovChain,MC)修正預(yù)測(cè)結(jié)果:文獻(xiàn)利用粒子群算法(ParticleSwarm0ptimization,PS0)對(duì)灰色模型的參數(shù)進(jìn)行適當(dāng)優(yōu)化,并使用傅里葉變換對(duì)預(yù)測(cè)誤差進(jìn)行修正,但灰色預(yù)測(cè)法需要負(fù)荷序列連續(xù)平滑且符合指數(shù)變化規(guī)律,該方法雖聯(lián)合了尋優(yōu)算法,但仍未擺脫灰色模型的框架。
電力系統(tǒng)負(fù)荷最大的特點(diǎn)在于非線性,以上方法雖然計(jì)算速度快,但是無法解決序列非線性的問題,故精度欠佳,難以在電力系統(tǒng)規(guī)劃與電網(wǎng)調(diào)度中發(fā)揮重要作用。為解決電力負(fù)荷序列非線性強(qiáng)從而導(dǎo)致難以準(zhǔn)確預(yù)測(cè)的問題,一批機(jī)器學(xué)習(xí)算法開始涌現(xiàn):支持向量機(jī)(SupportVectorMachine,SVM)對(duì)高維度的非線性問題有較好的處理能力,文獻(xiàn)使用SVM對(duì)某區(qū)域一天內(nèi)的短期電力負(fù)荷進(jìn)行預(yù)測(cè),一定程度上解決了歷史數(shù)據(jù)有限且系統(tǒng)非線性的問題:文獻(xiàn)等采用了隨機(jī)森林(RandomForeSt,RF)算法,但該方法在噪聲較大的數(shù)據(jù)上會(huì)出現(xiàn)較為明顯的過擬合問題。近年來火熱的人工智能算法在傳統(tǒng)機(jī)器學(xué)習(xí)算法的基礎(chǔ)上更進(jìn)一步提高了對(duì)非線性數(shù)據(jù)的擬合能力,理論上神經(jīng)網(wǎng)絡(luò)模型可以擬合任意非線性函數(shù),其中基于反向傳播(BackPropagation,BP)的神經(jīng)網(wǎng)絡(luò)模型被最早應(yīng)用于電力系統(tǒng)負(fù)荷預(yù)測(cè)領(lǐng)域,并在短期預(yù)測(cè)領(lǐng)域取得了較為成熟的結(jié)果。
但電力實(shí)際調(diào)度時(shí),不僅要進(jìn)行短期預(yù)測(cè),往往還需要進(jìn)行中長(zhǎng)期預(yù)測(cè),處理長(zhǎng)時(shí)序數(shù)據(jù),這要求算法必須具備記憶能力,以從海量數(shù)據(jù)中提取有效的時(shí)間特征,保證算法預(yù)測(cè)精度,傳統(tǒng)BP算法無法滿足要求,被以長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(LongShort-TermMemory,LSTM)為首的循環(huán)神經(jīng)網(wǎng)絡(luò)(RecurrentNeuralNetwork,RNN)算法取代,其緩解了傳統(tǒng)RNN存在的梯度爆炸及梯度消失問題,且具備記憶能力。文獻(xiàn)采用LSTM算法及其變體取得了優(yōu)于傳統(tǒng)時(shí)間序列方法與人工智能算法的預(yù)測(cè)精度:文獻(xiàn)利用LSTM模型對(duì)中國(guó)股市中的一些銀行股股價(jià)進(jìn)行預(yù)測(cè),其預(yù)測(cè)結(jié)果在200個(gè)時(shí)間步內(nèi)較好地捕捉了股價(jià)的漲跌趨勢(shì)。LSTM并非完美,受其原理所限,LSTM網(wǎng)絡(luò)無法進(jìn)行并行計(jì)算,在工程實(shí)踐中極大地浪費(fèi)了計(jì)算資源,并且該網(wǎng)絡(luò)模型記憶能力有限,對(duì)于數(shù)據(jù)中的長(zhǎng)期依賴特征無法很好地提取,在處理中長(zhǎng)期預(yù)測(cè)任務(wù)時(shí),其性能表現(xiàn)仍有進(jìn)一步的提升空間。TranSformer克服了傳統(tǒng)LSTM存在的一些問題,可以在時(shí)序中建立較好的長(zhǎng)時(shí)依賴性。文獻(xiàn)[l4]利用TranSformer模型對(duì)網(wǎng)購(gòu)平臺(tái)多種商品的價(jià)格與銷量進(jìn)行預(yù)測(cè),很好地體現(xiàn)了TranSformer在處理長(zhǎng)時(shí)序信息時(shí)的能力:文獻(xiàn)[l5]將TranSformer模型應(yīng)用于行人軌跡預(yù)測(cè),并取得了比LSTM更好的預(yù)測(cè)結(jié)果。
在本文中,受TranSformer模型優(yōu)勢(shì)的啟發(fā),將TranSformer模型從機(jī)器翻譯領(lǐng)域引入電力系統(tǒng)負(fù)荷預(yù)測(cè)領(lǐng)域,構(gòu)建基于TranSformer的用電負(fù)荷預(yù)測(cè)模型,并對(duì)某區(qū)域內(nèi)20戶用戶一年內(nèi)的用電負(fù)荷以小時(shí)為粒度構(gòu)建數(shù)據(jù)集,以訓(xùn)練模型并驗(yàn)證預(yù)測(cè)精度。實(shí)驗(yàn)結(jié)果表明,TranSformer模型取得了優(yōu)秀的預(yù)測(cè)精度,較好地預(yù)測(cè)了用電負(fù)荷可能出現(xiàn)的波動(dòng),且無時(shí)滯效應(yīng)。
1TranSformer電力負(fù)荷預(yù)測(cè)模型
TranSformer是一種以編碼器-解碼器為結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),核心是自注意力機(jī)制,在20l7年由VaSwani等人首次提出,并在需要處理海量長(zhǎng)文本信息的機(jī)器翻譯領(lǐng)域取得了極大的成功。該領(lǐng)域常以整本小說作為訓(xùn)練數(shù)據(jù),要準(zhǔn)確翻譯必須建立相當(dāng)跨度的長(zhǎng)期依賴關(guān)系以理解文本中包含的大量上下文信息。TranSformer很好地解決了這個(gè)問題,同時(shí)該網(wǎng)絡(luò)模型可以進(jìn)行并行計(jì)算,且具備強(qiáng)于LSTM的長(zhǎng)期記憶能力。此外,在序列輸入模型進(jìn)行訓(xùn)練的過程中,不同時(shí)間步數(shù)據(jù)之間的距離均為0(l),從而徹底克服了RNN模型梯度爆炸和梯度消失的問題,大大提升了模型訓(xùn)練成功的概率及計(jì)算效率。
TranSformer整體結(jié)構(gòu)如圖1所示,從組織結(jié)構(gòu)的角度來看,該模型主要可以分為三個(gè)部分:嵌入部分、編碼器-解碼器部分與邏輯回歸部分。
1.1嵌入部分
電力負(fù)荷數(shù)據(jù)一大特點(diǎn)是序列性,RNN網(wǎng)絡(luò)通過對(duì)輸入序列進(jìn)行迭代操作的方式將序列中每個(gè)時(shí)間步的位置信息賦予網(wǎng)絡(luò)模型,這也直接導(dǎo)致了RNN網(wǎng)絡(luò)無法并行計(jì)算,必須串行迭代,而TranSformer神經(jīng)網(wǎng)絡(luò)打破了該桎梏,但也面臨一個(gè)問題,即如何將每個(gè)時(shí)間步的位置信息準(zhǔn)確提供給模型,讓模型明白輸入序列的順序關(guān)系。為解決該問題,TranSformer神經(jīng)網(wǎng)絡(luò)首先對(duì)輸入序列中的每個(gè)數(shù)據(jù)進(jìn)行詞嵌入(wordEmbedding,wE)操作,詞嵌入將原本一維的數(shù)據(jù)升維成二維矩陣,將輸入序列中的每個(gè)數(shù)值均映射為5l2維的特征行向量。之后TranSformer神經(jīng)網(wǎng)絡(luò)通過正余弦函數(shù)對(duì)輸入序列進(jìn)行編碼并生成固定的絕對(duì)位置表示,即位置編碼(PoSitionalEncoding,PE),再將其與之前完成詞嵌入的序列對(duì)位相加。其位置編碼公式如下:
式中:poS為某時(shí)間步數(shù)據(jù)所在輸入序列中的位置索引:dmodel為輸入序列詞嵌入的維度:i為向量的某一維度。
1.2編碼器-解碼器部分
1.2.1自注意力機(jī)制
編碼器-解碼器的核心是自注意力機(jī)制。自注意力機(jī)制將輸入序列映射為問題-鍵-值(query-key-value)并計(jì)算一個(gè)問題與所有鍵的點(diǎn)積以得到權(quán)重,從而學(xué)習(xí)到每個(gè)數(shù)據(jù)與序列中所有其他數(shù)據(jù)之間的相對(duì)重要性。其計(jì)算過程如下:
式中:Q代表問題:K代表鍵:V代表值,并以詞嵌入維度dmodel作為縮放因子,可以使梯度在訓(xùn)練過程中更加穩(wěn)定。
TranSformer神經(jīng)網(wǎng)絡(luò)通過自注意力機(jī)制,使得模型更關(guān)注輸入序列數(shù)據(jù)之間的內(nèi)在聯(lián)系,降低了模型發(fā)生反常預(yù)測(cè)的概率,從而為電力負(fù)荷預(yù)測(cè)任務(wù)提供了偶然性過濾能力,使網(wǎng)絡(luò)模型更加穩(wěn)定與魯棒。
1.2.2多頭自注意力
在工程實(shí)際中,TranSformer神經(jīng)網(wǎng)絡(luò)在自注意力機(jī)制的基礎(chǔ)上升級(jí)為多頭注意力機(jī)制,該機(jī)制將單個(gè)注意力拆分成8個(gè),即將式(2)中的一組Q、K、V拆分成8組等大小的0i、Ki、Vi,i=1,2,…,8,并在這些組內(nèi)分別進(jìn)行注意力操作,最后將每個(gè)小組的輸出重新拼接為原始大小,作為多頭注意力層的輸出。多頭注意力層可以形成多個(gè)子空間,讓模型去關(guān)注不同子空間內(nèi)的信息,最后將各個(gè)方面的信息綜合起來,有助于網(wǎng)絡(luò)捕捉到更豐富的特征信息,提升模型預(yù)測(cè)精度。
1.2.3編碼器整體結(jié)構(gòu)
TranSformer神經(jīng)網(wǎng)絡(luò)編碼器的結(jié)構(gòu)由圖l左側(cè)部分組成,設(shè)輸入序列為用戶耗電量x,則編碼器計(jì)算過程可表示為如下四步:
(1)對(duì)輸入序列進(jìn)行詞嵌入與位置編碼:
(2)自注意力機(jī)制先計(jì)算問題矩陣Q、鍵矩陣K、值矩陣V:
式中:w0、wK、wV為隨著電力負(fù)荷預(yù)測(cè)模型訓(xùn)練而不停學(xué)習(xí)更新的權(quán)值矩陣,經(jīng)過嵌入后的輸入序列與之點(diǎn)乘、進(jìn)行線性變換而得到矩陣Q、K、V。
之后按公式(2)計(jì)算自注意力得分:
(3)殘差連接與層歸一化:
(4)以ReLU為激活函數(shù)的全連接線性映射,得到編碼器向隱藏層的輸入:
1.2.4帶遮擋的自注意力
解碼器的整體計(jì)算流程與編碼器大致相同。傳統(tǒng)序列到序列模型中的解碼器常使用RNN模型,該網(wǎng)絡(luò)模型由時(shí)間驅(qū)動(dòng),在訓(xùn)練中,模型只能看到當(dāng)前4時(shí)刻的輸入,無論如何也看不到未來時(shí)刻的值。而基于自注意力機(jī)制的解碼器在訓(xùn)練時(shí),整個(gè)序列都暴露在解碼器中,會(huì)導(dǎo)致真值提前泄露,故需要對(duì)輸入解碼器的序列進(jìn)行遮擋(MaSk)操作,具體操作如圖2所示。
圖2(a)為自注意力矩陣,考慮到負(fù)無窮經(jīng)過Softmax函數(shù)映射后為0,故選用下三角全零、上三角負(fù)無窮的矩陣作為遮擋矩陣,如圖2(b)所示。將自注意力矩陣與遮擋矩陣逐元素相加即可得到帶遮擋的自注意力得分。
1.3邏輯回歸部分
邏輯回歸部分如圖1中右側(cè)灰色部分所示,由一個(gè)線性變換與Softmax映射組成,其作用是將解碼器的輸出回歸到輸出向量空間中并重新映射為下一時(shí)刻用電負(fù)荷的預(yù)測(cè)概率。
2基于TranSformer的電力負(fù)荷預(yù)測(cè)
2.1用電負(fù)荷數(shù)據(jù)預(yù)處理
在用電負(fù)荷預(yù)測(cè)問題中,每戶用戶的用電量都存在一些潛在特征,這些特征的量綱與數(shù)值量級(jí)上均存在差異,如果直接將用戶原始的用電數(shù)據(jù)提供給預(yù)測(cè)模型進(jìn)行訓(xùn)練,將容易導(dǎo)致模型難以收斂而達(dá)不到理想的訓(xùn)練效果。為此,本研究引入標(biāo)準(zhǔn)化(Normalization)以克服以上問題,它將不同的特征規(guī)整到統(tǒng)一尺度上,使其具有可比性。其計(jì)算方法如下:
式中:x為用戶原始用電負(fù)荷樣本:x'為標(biāo)準(zhǔn)化后的用電負(fù)荷樣本:μ為全部樣本的樣本均值:a為全部樣本的標(biāo)準(zhǔn)差。
經(jīng)過標(biāo)準(zhǔn)化后,所有樣本的均值為0,標(biāo)準(zhǔn)差為l,且可以提升模型在訓(xùn)練時(shí)梯度下降的速度。
2.2用電負(fù)荷預(yù)測(cè)流程
用電負(fù)荷預(yù)測(cè)的重點(diǎn)是對(duì)用戶歷史耗電數(shù)據(jù)的長(zhǎng)時(shí)依賴特征進(jìn)行學(xué)習(xí)并擬合其背后的非線性曲線,TranSformer神經(jīng)網(wǎng)絡(luò)具有可以擬合強(qiáng)非線性曲線的優(yōu)秀性質(zhì),故本文采用TranSformer神經(jīng)網(wǎng)絡(luò)對(duì)用戶用電負(fù)荷進(jìn)行預(yù)測(cè),其過程如下:
步驟1,收集某區(qū)域20戶用戶以每小時(shí)為粒度的歷史用電數(shù)據(jù)。
步驟2,標(biāo)準(zhǔn)化數(shù)據(jù)。
步驟3,對(duì)標(biāo)準(zhǔn)化后的用戶歷史用電數(shù)據(jù)建立時(shí)序數(shù)據(jù)集,并將其劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。
步驟4,構(gòu)建TranSformer神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,設(shè)置參數(shù)與超參數(shù)后使用訓(xùn)練集訓(xùn)練模型,使用驗(yàn)證集驗(yàn)證模型訓(xùn)練效果。
步驟5,取測(cè)試集中一定幀數(shù)的歷史用電數(shù)據(jù)樣本輸入TranSformer神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,由模型預(yù)測(cè)后續(xù)一定時(shí)長(zhǎng)的用戶用電負(fù)荷。
3實(shí)驗(yàn)結(jié)果及結(jié)論分析
3.1實(shí)驗(yàn)設(shè)定
為充分且有效地訓(xùn)練模型,本文使用某地區(qū)20戶居民2012年1月1日00:00至2012年12月31日24:00以每小時(shí)為粒度的用電負(fù)荷構(gòu)建數(shù)據(jù)集,共計(jì)8784h、l75680個(gè)數(shù)據(jù)點(diǎn)。進(jìn)一步地,將其中85%的數(shù)據(jù)作為訓(xùn)練集,由于數(shù)據(jù)量較為充足,所以采用其中的5%作為驗(yàn)證集便能很好地檢驗(yàn)?zāi)P陀?xùn)練效果,而最后的10%則作為測(cè)試集用于測(cè)試模型訓(xùn)練完成后的最終預(yù)測(cè)精度。在驗(yàn)證模型預(yù)測(cè)精度時(shí),選用均方誤差(MeanSquareError,MSE)與平均絕對(duì)誤差(MeanAbSoluteError,MAE)度量,設(shè)一共預(yù)測(cè)mh的用電負(fù)荷,yi為實(shí)際用電負(fù)荷值,i為模型預(yù)測(cè)用電負(fù)荷值,則MSE與MAE的計(jì)算方式如下:
在結(jié)構(gòu)選擇時(shí),TranSformer的電力負(fù)荷預(yù)測(cè)模型共使用6層編碼器、3層解碼器:輸入數(shù)據(jù)的詞嵌入維度為512維:在多頭注意力層中使用8個(gè)頭,以將特征投影到8個(gè)不同的特征空間中。在訓(xùn)練模型時(shí),初始學(xué)習(xí)率為0.001,且每輪訓(xùn)練之后先將學(xué)習(xí)率乘以0.8再開始新一輪訓(xùn)練,這樣做既可以讓模型快速收斂,又可以盡量去逼近損失函數(shù)的全局最優(yōu)值。本文損失函數(shù)采用的是最小均方誤差(MSE),將損失從解碼器的輸出傳播回整個(gè)模型。
3.2實(shí)驗(yàn)結(jié)果
為充分探究TranSformer預(yù)測(cè)模型對(duì)用電負(fù)荷進(jìn)行預(yù)測(cè)的潛力,使用該模型對(duì)20戶用戶用電負(fù)荷進(jìn)行24、48、168、512h四種不同時(shí)長(zhǎng)的預(yù)測(cè),每種時(shí)長(zhǎng)預(yù)測(cè)10次,其以MSE與MAE度量的預(yù)測(cè)精度展示如圖3所示。
由圖3可見,TranSformer模型對(duì)用電負(fù)荷進(jìn)行預(yù)測(cè)時(shí)精度相當(dāng)高且表現(xiàn)穩(wěn)定,在時(shí)序預(yù)測(cè)領(lǐng)域MSE與MAE低于1則視為可用,本文所研究模型精度高于可用精度閾值的5~7倍。此外,該模型的預(yù)測(cè)誤差雖然隨預(yù)測(cè)時(shí)長(zhǎng)的增加而上升,但趨勢(shì)非常緩慢:預(yù)測(cè)24h最小MSE與MAE分別為0.12182與0.23651,預(yù)測(cè)512h最大MSE與MAE分別為0.17631與0.29246,以24h預(yù)測(cè)結(jié)果為基準(zhǔn)可知,預(yù)測(cè)時(shí)長(zhǎng)增加至21.33倍時(shí),MSE預(yù)測(cè)誤差僅增長(zhǎng)44.73%,MAE預(yù)測(cè)誤差僅增長(zhǎng)23.66%。由此可見,TranSformer模型可以充分捕捉用戶用電負(fù)荷中的長(zhǎng)期依賴特征并由此進(jìn)行精準(zhǔn)的預(yù)測(cè),在預(yù)測(cè)時(shí)長(zhǎng)倍增的同時(shí)能夠有效控制住誤差的增長(zhǎng),具備非常強(qiáng)的長(zhǎng)期預(yù)報(bào)能力,方便電網(wǎng)工作人員進(jìn)行長(zhǎng)期規(guī)劃,提前為可能出現(xiàn)的用電高峰或低谷做準(zhǔn)備,以保證電網(wǎng)的經(jīng)濟(jì)運(yùn)行。
圖4為進(jìn)行標(biāo)準(zhǔn)化后的預(yù)測(cè)結(jié)果,選用標(biāo)準(zhǔn)化后的結(jié)果進(jìn)行展示可以消除量綱對(duì)預(yù)測(cè)結(jié)果的影響,更直觀地展示模型的預(yù)測(cè)精度。由圖4可知,雖然預(yù)測(cè)負(fù)荷的精度在波動(dòng)的峰值處可能有所欠缺,但TranSformer模型無論預(yù)測(cè)時(shí)間長(zhǎng)短,均可較好地預(yù)測(cè)用電負(fù)荷波動(dòng)的趨勢(shì),且沒有明顯的時(shí)滯效應(yīng)。
4結(jié)語(yǔ)
數(shù)字化技術(shù)在電網(wǎng)企業(yè)生產(chǎn)經(jīng)營(yíng)等多個(gè)專業(yè)領(lǐng)域得到了推廣運(yùn)用,運(yùn)用人工智能方法,對(duì)電力系統(tǒng)負(fù)荷進(jìn)行準(zhǔn)確的預(yù)測(cè),全面挖掘數(shù)據(jù)價(jià)值,對(duì)于電網(wǎng)穩(wěn)定且經(jīng)濟(jì)運(yùn)行具有重要意義。鑒于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法受限于RNN結(jié)構(gòu)的劣勢(shì),無法進(jìn)行長(zhǎng)期精準(zhǔn)預(yù)測(cè),本文提出了基于TranSformer模型的用電負(fù)荷預(yù)測(cè)方法,并通過仿真實(shí)驗(yàn)證明了該方法在預(yù)測(cè)長(zhǎng)期用電負(fù)荷時(shí)精度高,可以較好地預(yù)測(cè)用電負(fù)荷可能出現(xiàn)的波動(dòng)且無時(shí)滯效應(yīng)。后續(xù)工作可以考慮加入先驗(yàn)的專家知識(shí),如季節(jié)、氣候等因素,以進(jìn)一步提高模型的預(yù)測(cè)精度,優(yōu)化模型在波動(dòng)峰值處的表現(xiàn)。