田 野, 王大鵬, 劉榮權(quán), 鐘佳晨
(1.國(guó)電南瑞南京控制系統(tǒng)有限公司, 江蘇 南京 211106;2.國(guó)網(wǎng)內(nèi)蒙古東部電力有限公司供電服務(wù)監(jiān)管與支持中心, 內(nèi)蒙古 通遼 028000;3.南京農(nóng)業(yè)大學(xué) 人工智能學(xué)院, 江蘇 南京 210095)
隨著 “雙碳”發(fā)展目標(biāo)的提出,新型電力系統(tǒng)以新能源為主體,在降低碳排放領(lǐng)域有著明顯特征和優(yōu)勢(shì)。但由于源荷不確定性以及低碳訴求,電網(wǎng)結(jié)構(gòu)和運(yùn)行模式也面臨新的問(wèn)題[1-2]。以電力系統(tǒng)消費(fèi)側(cè)為例,能源設(shè)備的電能配置容量由用能比例、用戶(hù)需求等因素決定,如不能對(duì)其精細(xì)化預(yù)測(cè)和控制,很可能出現(xiàn)電力資源浪費(fèi)、用戶(hù)體驗(yàn)下降等問(wèn)題,最終影響系統(tǒng)業(yè)務(wù)的營(yíng)銷(xiāo)增長(zhǎng)[2]。因此,對(duì)電能負(fù)荷預(yù)測(cè)進(jìn)行研究分析對(duì)于優(yōu)化電力負(fù)荷調(diào)度、改進(jìn)電網(wǎng)結(jié)構(gòu)進(jìn)而實(shí)現(xiàn)“雙碳”目標(biāo)具有重要意義。
數(shù)據(jù)驅(qū)動(dòng)技術(shù)在能源負(fù)荷預(yù)測(cè)問(wèn)題中應(yīng)用廣泛[3-4],從技術(shù)角度可以分為兩類(lèi),即傳統(tǒng)方法和現(xiàn)代方法。其中,傳統(tǒng)方法包括回歸分析法[5]、時(shí)間序列法[6]和灰色模型法[7-8]。在相關(guān)研究中,蘇振宇等提出了一種結(jié)合季節(jié)調(diào)節(jié)和Holt-Winters 方法的月度負(fù)荷預(yù)測(cè)方法,實(shí)現(xiàn)了較高的預(yù)測(cè)精度[9]。李震等提出了一種基于數(shù)據(jù)驅(qū)動(dòng)線(xiàn)性聚類(lèi)和自回歸積分滑動(dòng)平均法進(jìn)行長(zhǎng)期電力負(fù)荷預(yù)測(cè)的方法,解決了負(fù)荷波動(dòng)大導(dǎo)致的長(zhǎng)期負(fù)荷預(yù)測(cè)精度低的問(wèn)題[10]。
現(xiàn)有方法包括人工神經(jīng)網(wǎng)絡(luò)[11-14]、模糊控制、支持向量機(jī)[15]和組合模型。J.Munkhammar 等使用馬爾科夫鏈混合分配模型(MCM)對(duì)澳大利亞住宅用電量進(jìn)行超短期預(yù)測(cè),取得了很好的效果[16]。徐先峰等提出了一種多層Bi-LSTM 的Seq2seq 深度學(xué)習(xí)模型(BL-Seq2seq),實(shí)現(xiàn)了短期用電負(fù)荷預(yù)測(cè)[17]。但是,這些方法的局限性在于無(wú)法應(yīng)用于數(shù)據(jù)周期較長(zhǎng)的場(chǎng)景中。為此,魏明奎等采用BFGS-FA 優(yōu)化的分?jǐn)?shù)階灰色預(yù)測(cè)模型對(duì)中長(zhǎng)期負(fù)荷進(jìn)行預(yù)測(cè)。該方法利用BFGS-FA 尋優(yōu)算法對(duì)分?jǐn)?shù)階灰色預(yù)測(cè)模型進(jìn)行優(yōu)化,最后得到最優(yōu)階數(shù)的分?jǐn)?shù)階灰色預(yù)測(cè)模型[18]。
綜上,從現(xiàn)有的應(yīng)用場(chǎng)景來(lái)看,絕大多數(shù)對(duì)于電力負(fù)荷的預(yù)測(cè)方法都是應(yīng)用于短期內(nèi)的電力變化數(shù)據(jù),通常為某一地區(qū)在幾個(gè)月內(nèi)的負(fù)荷數(shù)據(jù)。這樣的數(shù)據(jù)通常周期性較短且變化的幅度較小,在使用現(xiàn)有方法進(jìn)行擬合時(shí)往往能夠獲得不錯(cuò)的效果。但是如果電力數(shù)據(jù)的周期變長(zhǎng),同時(shí)其中峰值低估的變化幅度也變大,則現(xiàn)有的許多方法效果會(huì)有所下降。
現(xiàn)有的大多數(shù)方法中使用的核函數(shù)往往是預(yù)先設(shè)定好的,這樣的設(shè)計(jì)依賴(lài)于較強(qiáng)的先驗(yàn)知識(shí)以及較大的數(shù)據(jù)量,單一的核函數(shù)無(wú)法很好地匹配多變的應(yīng)用情況,導(dǎo)致只有與該核函數(shù)預(yù)設(shè)參數(shù)較為匹配的數(shù)據(jù)能夠被很好的擬合。此外,這些方法的可解釋性與操作性門(mén)檻較高,進(jìn)一步限制了其大范圍的推廣和使用。
對(duì)于周期長(zhǎng)、變化幅度大的電能數(shù)據(jù),需要所使用的方法能夠?qū)κ褂玫暮撕瘮?shù)進(jìn)行自適應(yīng)選擇,使其能夠根據(jù)應(yīng)用場(chǎng)景的數(shù)據(jù)特點(diǎn)來(lái)進(jìn)行匹配。因此,本文采用基于內(nèi)核時(shí)變回歸模型(Kernel-based Time-varying Regression Model, KTR)[19],該模型將時(shí)間序列視為局部趨勢(shì)、季節(jié)性和附加回歸量的加法組合,這三個(gè)分量的系數(shù)都隨時(shí)間變化。其使用核回歸產(chǎn)生時(shí)變系數(shù),用貝葉斯框架合并實(shí)驗(yàn)結(jié)果,從而擬合用電數(shù)據(jù)曲線(xiàn)。實(shí)驗(yàn)結(jié)果與對(duì)比分析證明了本文方法在電能負(fù)荷預(yù)測(cè)上的可行性以及準(zhǔn)確性方面的明顯優(yōu)勢(shì)。
傳統(tǒng)的線(xiàn)性回歸方法通常擬合出一維直線(xiàn),核回歸則可以將低維的數(shù)據(jù)上升到高維,利用核函數(shù)作為權(quán)重函數(shù)來(lái)建立非線(xiàn)性回歸模型。而內(nèi)核時(shí)變回歸模型(Kernel-based Time-varying Regression Model, KTR)[19]則是在核回歸的基礎(chǔ)上,將時(shí)間序列作為自變量參數(shù)從而更好地獲取因變量隨時(shí)間變化的關(guān)系。本文將貝葉斯建模和核回歸的思想結(jié)合在一起,目的是更好地結(jié)合試驗(yàn)結(jié)果對(duì)因變量與時(shí)間自變量之間的關(guān)系加以解釋。
基礎(chǔ)的回歸函數(shù)會(huì)將預(yù)測(cè)值表現(xiàn)為與自變量參數(shù)相關(guān)的收益遞減函數(shù)形式?,F(xiàn)有的方法中較為常見(jiàn)的是用公式(1)來(lái)描述電能負(fù)荷預(yù)測(cè):
式中:xt,p是回歸變量,在本文的研究中指不同的測(cè)量日期;y^t是電能負(fù)荷的測(cè)量值;g是一個(gè)表現(xiàn)時(shí)間序列的過(guò)程;f指變化趨勢(shì)函數(shù);P是回歸變量的個(gè)數(shù);T是時(shí)間點(diǎn)的個(gè)數(shù)。本文在擬合的過(guò)程中需要對(duì)函數(shù)f進(jìn)行選擇,使得y^t的可解釋性增強(qiáng),同時(shí)可以分解為不同的驅(qū)動(dòng)因素。為使公式更加直觀,可將其描述為如下形式:
式中:elt是非周期上的變化趨勢(shì);而est則是周期性的變化趨勢(shì);βt,p是特定節(jié)點(diǎn)的時(shí)間變化系數(shù)。
但是,傳統(tǒng)的方法在應(yīng)對(duì)時(shí)間周期過(guò)長(zhǎng)的數(shù)據(jù)時(shí),因?yàn)橛?jì)算過(guò)于冗雜導(dǎo)致效率不高,計(jì)算開(kāi)銷(xiāo)較大。為此,本文使用KTR 模型對(duì)電能進(jìn)行預(yù)測(cè)。
KTR 模型是在貝葉斯框架下基于內(nèi)核的時(shí)變回歸模型,其核心在于:將回歸系數(shù)表示為局部潛在變量的加權(quán)和,使用潛在變量來(lái)定義模型系數(shù)的平滑時(shí)變表示,而這些平滑表示形式是核平滑[19]。與典型的動(dòng)態(tài)線(xiàn)性模型相比,KTR 模型有著更少的參數(shù),因此有著更快的計(jì)算速度。
KTR 模型將公式兩邊取對(duì)數(shù),可以將其表示為:
以回歸項(xiàng)為例,KTR 模型定義了一個(gè)潛在變量bjp作為第p個(gè)回歸量在時(shí)間tj時(shí)的回歸系數(shù),p= 1,2,…,P,j= 1,2,…,J,tj∈{ }1,2,…,T。對(duì)于每個(gè)回歸量,共有J個(gè)潛在變量,可以將bjp視為第p個(gè)回歸量分布在tj處的一個(gè)節(jié)點(diǎn)。因此,第p個(gè)回歸量的回歸系數(shù)就可以表示為J個(gè)局部潛在變量的加權(quán)和,第p個(gè)回歸量的回歸系數(shù)為:
其次,KTR 模型使用基于時(shí)間的權(quán)重函數(shù),本文中使用t和tj距離的加權(quán)函數(shù)可以更好地獲取t和tj時(shí)間點(diǎn)上數(shù)據(jù)的關(guān)系,公式如下:
式中k(·,·)為核函數(shù),分母為標(biāo)準(zhǔn)化節(jié)點(diǎn)的權(quán)值。
根據(jù)實(shí)際數(shù)據(jù)集中的不同,數(shù)據(jù)特征選擇的核函數(shù)不同。對(duì)于趨勢(shì)和周期性變化,本文所選用的核函數(shù)為:
式中ρ是scale 參數(shù)。
將方程改寫(xiě)成矩陣形式,即:
式中:B為T(mén)×p的系數(shù)矩陣(元素為βt,j);K是T×J的內(nèi)核矩陣(元素為wj(t));b是J×P的節(jié)點(diǎn)矩陣(元素為bjp)。
因此,回歸項(xiàng)的公式為:
式中:Bt=(βt,1,βt,2,…,βt,p)和Xt是回歸或協(xié)變量矩陣的第t行。
同時(shí),在KTR 模型中,局部趨勢(shì)、周期性和回歸項(xiàng)的區(qū)別不大,因此都有類(lèi)似的表達(dá)形式。則對(duì)于趨勢(shì)部分,有:
對(duì)于周期性成分,有:
式中:Xt,seas表示由傅里葉級(jí)數(shù)導(dǎo)出的季節(jié)協(xié)變量矩陣第t行。
除了時(shí)變系數(shù)回歸之外,KTR 模型同樣使用貝葉斯框架和可設(shè)置的后驗(yàn)進(jìn)行后驗(yàn)采樣,估計(jì)局部節(jié)點(diǎn)參數(shù)(b、blev和bseas),目的是對(duì)擬合結(jié)果的可能性加以數(shù)量化的評(píng)價(jià),使得在長(zhǎng)期數(shù)據(jù)中進(jìn)行預(yù)測(cè)更加精準(zhǔn),避免過(guò)擬合的情況發(fā)生。對(duì)于趨勢(shì)和周期性成分,使用拉普拉斯先驗(yàn)(Laplace Prior)對(duì)相鄰節(jié)點(diǎn)建模,即:
式中:初始值b0,lev和bseas可以從均值為0 的拉普拉斯分布中采樣。
而對(duì)于回歸,KTR 模型設(shè)計(jì)了一個(gè)兩層的層次結(jié)果來(lái)獲得更穩(wěn)健的采樣,即:
式中:上標(biāo)“+”表示折疊的正態(tài)分布(系數(shù)符號(hào)的正限制)。
模型訓(xùn)練過(guò)程中,先對(duì)潛在變量先驗(yàn)進(jìn)行采樣獲得潛在變量采樣,然后使用隨機(jī)變分推斷(Stochastic Variational Inference, SVI)[20]估計(jì)潛在變量后驗(yàn),之后繼續(xù)上述的采樣估計(jì)得到節(jié)點(diǎn)系數(shù)后驗(yàn),最后利用公式(6)~式(8)得到時(shí)變系數(shù)lt、st、rt的估計(jì)值,并最終在測(cè)試集上進(jìn)行檢驗(yàn)。
基于內(nèi)核時(shí)變回歸模型的電能預(yù)測(cè)主要分為實(shí)驗(yàn)預(yù)處理、超參數(shù)選擇、模型訓(xùn)練三部分,處理步驟如圖1所示。為了避免原始數(shù)據(jù)中的缺失或異常值影響模型訓(xùn)練的精度,首先需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,該過(guò)程包括異常值處理、填充缺失值和對(duì)數(shù)化。本文的預(yù)處理步驟為:
圖1 基于KTR 的用電數(shù)據(jù)預(yù)測(cè)處理流程
1) 原始數(shù)據(jù)存在因?yàn)橛涗浾`差導(dǎo)致的錯(cuò)誤數(shù)據(jù),會(huì)影響整體數(shù)據(jù)趨勢(shì)的變化,所以需要將出錯(cuò)的數(shù)據(jù)刪除或置0,防止實(shí)驗(yàn)結(jié)果被錯(cuò)誤的極端數(shù)據(jù)所影響。
2) 由于設(shè)備故障等原因?qū)е碌臄?shù)據(jù)缺失也會(huì)影響模型的擬合,在填充缺失數(shù)據(jù)的過(guò)程中,本文選擇后項(xiàng)數(shù)據(jù)填充的方法,將數(shù)據(jù)的后一個(gè)應(yīng)用于前列則更能體現(xiàn)數(shù)據(jù)的連續(xù)性。
3) 少數(shù)時(shí)間段的數(shù)據(jù)變化幅度會(huì)高于平均變化幅度,使得整體趨勢(shì)的預(yù)測(cè)受到影響。為了減少該影響,本文對(duì)現(xiàn)有的數(shù)據(jù)進(jìn)行對(duì)數(shù)化,縮小數(shù)據(jù)的絕對(duì)數(shù)值,將后續(xù)復(fù)雜的乘法運(yùn)算轉(zhuǎn)變?yōu)榧臃ㄟ\(yùn)算,降低了運(yùn)算的難度。
在獲取經(jīng)過(guò)預(yù)處理的完整數(shù)據(jù)集后,需要進(jìn)行超參數(shù)選擇實(shí)驗(yàn),確定在模型訓(xùn)練中所使用的最優(yōu)參數(shù)。由于本實(shí)驗(yàn)數(shù)據(jù)只有電能負(fù)荷數(shù)據(jù),沒(méi)有其他回歸量,因此需要考慮的參數(shù)只有分段數(shù)(level segments)和迭代次數(shù)(steps)。
為了確保獲取參數(shù)的可靠性,本研究使用回溯測(cè)試,遞增每次的訓(xùn)練集數(shù)量,同時(shí)測(cè)試集數(shù)量保持不變。本文設(shè)定起始窗口天數(shù)為380,每次擴(kuò)展天數(shù)為120,預(yù)測(cè)天數(shù)為20。從完整的數(shù)據(jù)集中隨機(jī)選擇一名用戶(hù)的用電量數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),在實(shí)驗(yàn)的過(guò)程中,每一代分別計(jì)算SMAPE,并且判斷該值是否為當(dāng)前最優(yōu),最終選定獲取最優(yōu)SMAPE 的參數(shù)作為正式模型訓(xùn)練時(shí)的參數(shù)。確定超參數(shù)之后便獲得了正式訓(xùn)練所需要的分段數(shù)以及迭代次數(shù),將該參數(shù)輸入KTR 模型中,同時(shí)從所有完整數(shù)據(jù)集中隨機(jī)選取10 個(gè)用戶(hù)的用電量數(shù)據(jù)分別進(jìn)行訓(xùn)練。對(duì)每個(gè)用戶(hù)數(shù)據(jù)訓(xùn)練所得到的模型進(jìn)行測(cè)試,最終對(duì)10 個(gè)用戶(hù)的測(cè)試SMAPE 值求平均作為預(yù)測(cè)結(jié)果。
本 文 的 實(shí) 驗(yàn) 硬 件 環(huán) 境 為 Intel Core i9 -12900K , 4 900 MHz;內(nèi) 存 為32 GB; NVIDIA GeForce RTX 3060 Ti (8 GB)。軟件環(huán)境為Windows 10操作系統(tǒng),編程語(yǔ)言為Python 3.7。
本文使用對(duì)稱(chēng)平均絕對(duì)百分比誤差(Symmetric Mean Absolute Percentage Error, SMAPE)作為指標(biāo)來(lái)衡量模型預(yù)測(cè)的準(zhǔn)確度,SMAPE 的計(jì)算公式如下:
式中:y^i是樣本預(yù)測(cè)值;yi是樣本真實(shí)值;n是樣本數(shù)量。SMAPE 越小表示預(yù)測(cè)得越準(zhǔn)確。
本文用于實(shí)驗(yàn)測(cè)試的數(shù)據(jù)來(lái)源于電網(wǎng),包含42 372個(gè)用戶(hù)的用電量數(shù)據(jù),電能負(fù)荷數(shù)據(jù)按天統(tǒng)計(jì),范圍從2014 年1 月1 日—2016 年9 月9 日,共1 036 天。數(shù) 據(jù)集 按 照8∶2 劃 分,即80% 作 為 訓(xùn) 練 集, 20% 作 為 測(cè)試集。
數(shù)據(jù)存在缺失值過(guò)多的情況,圖2 為樣本缺失數(shù)據(jù)示例。由于數(shù)據(jù)具有時(shí)序性,因此本文使用后向填充,使用缺失值后面的第1 個(gè)觀測(cè)值進(jìn)行填補(bǔ)。同時(shí),為了避免填充數(shù)據(jù)過(guò)多而影響預(yù)測(cè)效果,最終選擇以10 為界限,刪除連續(xù)的缺失值數(shù)大于10 的樣本。
為了縮小數(shù)據(jù)的絕對(duì)數(shù)值同時(shí)避免偽回歸,消除異方差,讓數(shù)據(jù)更加符合正態(tài)分布,本實(shí)驗(yàn)對(duì)數(shù)據(jù)進(jìn)行對(duì)數(shù)處理,處理前后效果分別如圖3 和圖4 所示。觀察可知,取對(duì)數(shù)后的數(shù)據(jù)波動(dòng)變小,樣本的異方差程度顯著降低。
圖3 處理前的電能時(shí)間序列圖
圖4 處理后的電能時(shí)間序列圖
由于存在時(shí)間先后的問(wèn)題,時(shí)間序列數(shù)據(jù)不能簡(jiǎn)單地使用交叉驗(yàn)證,會(huì)出現(xiàn)一些時(shí)序特征交叉的情況,如用未來(lái)的數(shù)據(jù)去預(yù)測(cè)過(guò)去的數(shù)據(jù)。因此,本文使用基于時(shí)間的交叉驗(yàn)證進(jìn)行超參數(shù)優(yōu)化選擇?;跁r(shí)間序列的交叉驗(yàn)證有擴(kuò)展和滾動(dòng)兩種窗口,本文選擇擴(kuò)展窗口,即訓(xùn)練開(kāi)始日期固定,結(jié)束日期向前擴(kuò)展。對(duì)于其他參數(shù),本文設(shè)定起始窗口為380(以天為單位),每次擴(kuò)展120,預(yù)測(cè)20,基于回溯的超參數(shù)最優(yōu)化選擇如圖5 所示。
圖5 基于回溯的超參數(shù)最優(yōu)化結(jié)果
由于本實(shí)驗(yàn)數(shù)據(jù)只有電能負(fù)荷數(shù)據(jù),沒(méi)有其他回歸量,因此本文的KTR 模型的參數(shù)在分段數(shù)(level segments)和迭代次數(shù)(steps)上考慮優(yōu)化。其中,分段數(shù)選擇10、20、30、40,迭代次數(shù)選擇301、601、901、1 201。然后使用回溯測(cè)試進(jìn)行超參數(shù)選擇,結(jié)果如表1 所示,表中黑色加粗處為最優(yōu)參數(shù)行。
表1 超參數(shù)選擇結(jié)果
由表1 結(jié)果可以看出,最佳參數(shù)為(30,1 201),此時(shí)的預(yù)測(cè)SMAPE 值為10.29%。
使用超參數(shù)優(yōu)化得到的最佳參數(shù)(30,1 201)構(gòu)建KTR 模型;然后使用與上文相同的回溯測(cè)試參數(shù)(擴(kuò)展窗口,起始窗口380,每次擴(kuò)展120,預(yù)測(cè)20)對(duì)時(shí)間序列進(jìn)行交叉驗(yàn)證。本文給出最后一個(gè)模型的擬合效果,如圖6 所示,其中黑點(diǎn)表示原始的電能負(fù)荷數(shù)據(jù),灰色的線(xiàn)是使用KTR 模型擬合得到的曲線(xiàn),灰色的區(qū)域是置信區(qū)間,表示預(yù)測(cè)的上下界,豎著的虛線(xiàn)將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,左側(cè)為訓(xùn)練集,右側(cè)為測(cè)試集。經(jīng)實(shí)驗(yàn)計(jì)算可得,總體的電能量數(shù)據(jù)預(yù)測(cè)值和原始值的SMAPE 值為8.46%,模型擬合效果較好。
圖6 KTR 模型預(yù)測(cè)整體擬合效果
本文將KTR 模型與業(yè)內(nèi)常用的Prophet[21]和SARIMA 模型進(jìn)行了對(duì)比。Prophet 是Facebook 開(kāi)源的基于STL 分解思想的時(shí)序預(yù)測(cè)模型,具有速度快、可解釋性強(qiáng)等優(yōu)點(diǎn)。
SARIMA 模型全稱(chēng)為季節(jié)性差分自回歸滑動(dòng)平均模型,通過(guò)對(duì)時(shí)間序列進(jìn)行變換和擬合來(lái)建模,對(duì)數(shù)據(jù)的平穩(wěn)性有著很高的要求。
實(shí)驗(yàn)使用SMAPE 作為評(píng)價(jià)標(biāo)準(zhǔn),隨機(jī)選取10 組樣本,取10 組平均值作為最終的SMAPE。對(duì)于每組樣本,訓(xùn)練集和測(cè)試集的劃分比例為3∶2,即預(yù)測(cè)步長(zhǎng)h為100,每個(gè)模型的參數(shù)設(shè)置基本一致。不同模型平均SMAPE 比較結(jié)果如表2 所示。從表2 結(jié)果可以看出,本文模型的預(yù)測(cè)精度優(yōu)于其他兩種模型。
表2 模型平均SMAPE 比較 %
本文基于KTR 模型實(shí)現(xiàn)了對(duì)電能負(fù)荷時(shí)間序列的預(yù)測(cè),并驗(yàn)證了該模型在電能負(fù)荷預(yù)測(cè)的可行性和準(zhǔn)確性。通過(guò)基于時(shí)間的交叉驗(yàn)證,本文得到了模型在數(shù)據(jù)集上的最佳參數(shù);然后使用該最佳參數(shù)建立模型,對(duì)電能負(fù)荷時(shí)序數(shù)據(jù)進(jìn)行擬合預(yù)測(cè),最終的模型SMAPE 值達(dá)到8.46%,具有較高的預(yù)測(cè)精度。此外。將本文模型與Prophet 和SARIMA 模型進(jìn)行對(duì)比分析,結(jié)果證明本文模型的預(yù)測(cè)精度更佳。最后,通過(guò)真實(shí)電能負(fù)荷時(shí)序數(shù)據(jù)的擬合預(yù)測(cè)結(jié)果,驗(yàn)證了本文方法在優(yōu)化電力負(fù)荷調(diào)度工作、提升電力服務(wù)質(zhì)量方面是切實(shí)可行的。