呂志星,張 虓,王沈征,王 一,程思瑾,秦承龍
(國(guó)網(wǎng)山東省電力公司 泰安供電公司,泰安 271000)
智能電網(wǎng)的發(fā)展推動(dòng)了用戶側(cè)智能電表的普及,同時(shí)各種監(jiān)控系統(tǒng)的大規(guī)模部署使得電網(wǎng)公司能夠獲得多尺度、全方位的用戶用電信息[1],這些大量、高分辨率的用戶負(fù)荷數(shù)據(jù)不但可以用于刻畫用戶用電習(xí)慣,還可以對(duì)用戶的用電負(fù)荷進(jìn)行預(yù)測(cè),因此,挖掘用戶負(fù)荷數(shù)據(jù)對(duì)于電網(wǎng)系統(tǒng)的調(diào)度優(yōu)化、精細(xì)化經(jīng)營(yíng)管理以及服務(wù)于市場(chǎng)用戶等方面具有重要價(jià)值[2].
長(zhǎng)期以來,負(fù)荷預(yù)測(cè)是電力系統(tǒng)的研究熱點(diǎn)之一.按照時(shí)間期限分類,電力負(fù)荷預(yù)測(cè)可以劃分為長(zhǎng)期負(fù)荷預(yù)測(cè)(10 年及以上)、中期負(fù)荷預(yù)測(cè)(5 年左右)和短期負(fù)荷預(yù)測(cè).其中,長(zhǎng)期負(fù)荷預(yù)測(cè)主要用于電力系統(tǒng)未來規(guī)劃,短期負(fù)荷預(yù)測(cè)主要是為了合理安排發(fā)電機(jī)組的啟停、減少旋轉(zhuǎn)備用容量,從而降低發(fā)電成本、保障電網(wǎng)的安全穩(wěn)定性.根據(jù)電力負(fù)荷數(shù)據(jù)時(shí)序性和非線性的特點(diǎn),短期負(fù)荷預(yù)測(cè)模型一般可以分為兩類,一類是時(shí)間序列方法,通常是將電力負(fù)荷看成一種時(shí)間序列的集合,根據(jù)電力負(fù)荷的歷史數(shù)據(jù)、相關(guān)影響因素構(gòu)建預(yù)測(cè)模型,從而實(shí)現(xiàn)預(yù)測(cè)未來負(fù)荷值.常用的方法包括:傅里葉展開法[3],指數(shù)平滑模型[4],自回歸積分滑動(dòng)平均模型[5].這些傳統(tǒng)的時(shí)間序列方法對(duì)歷史數(shù)據(jù)隨時(shí)間的平穩(wěn)性要求比較高,在一定程度上過于強(qiáng)調(diào)對(duì)歷史數(shù)據(jù)的擬合,導(dǎo)致預(yù)測(cè)精度不高.另一類是以機(jī)器學(xué)習(xí)為代表的人工智能方法,主要包括:統(tǒng)計(jì)機(jī)器學(xué)習(xí)方法中的隨機(jī)森林算法(Random Forest,RF),支持向量機(jī),以及深度學(xué)習(xí)方法中的長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short Term Memory,LSTM)等.鄒云峰等[6]將數(shù)據(jù)類進(jìn)行K-means 聚類后分別進(jìn)行線性回歸,在線損率預(yù)測(cè)上取得較好結(jié)果,但由于其采用線性回歸,對(duì)非線性數(shù)據(jù)建模能力有限.黃晗等[7]提出了基于隨機(jī)森林的方法,針對(duì)歷史負(fù)荷數(shù)據(jù)和天氣信息對(duì)某地區(qū)進(jìn)行預(yù)測(cè).文獻(xiàn)[8]將小波變化與極限學(xué)習(xí)機(jī)組合,提出了一種集成學(xué)習(xí)預(yù)測(cè)模型.以上方法相較于傳統(tǒng)的預(yù)測(cè)方法有了很大的提升,但難以兼顧到時(shí)序數(shù)據(jù)時(shí)間相關(guān)性.文獻(xiàn)[9,10]利用了LSTM 的時(shí)間序列性,可以更好地預(yù)測(cè)非穩(wěn)定狀態(tài)的負(fù)荷數(shù)據(jù).雖然這些方法可以在系統(tǒng)級(jí)負(fù)荷預(yù)測(cè)上取得很好的效果,但由于單個(gè)用戶用電的波動(dòng)性和隨機(jī)性較大,系統(tǒng)級(jí)負(fù)荷預(yù)測(cè)方法在單個(gè)用戶的負(fù)荷預(yù)測(cè)上的預(yù)測(cè)性能較差,無法滿足電網(wǎng)精益化管理的需求.
當(dāng)前短期負(fù)荷預(yù)測(cè)多以電網(wǎng)系統(tǒng)級(jí)負(fù)荷為研究對(duì)象,而對(duì)于用戶級(jí)對(duì)象的研究工作較少.文獻(xiàn)[11]研究了不同內(nèi)核的支持向量回歸(Support Vactor Regerssion,SVR)模型對(duì)單個(gè)家庭用電負(fù)荷的預(yù)測(cè)效果.文獻(xiàn)[12]針對(duì)呈指數(shù)級(jí)增長(zhǎng)的電力用戶數(shù)據(jù)提出一種改進(jìn)的并行化的基于隨機(jī)森林的負(fù)荷預(yù)測(cè)方法.文獻(xiàn)[13]考慮到了用戶用電行為的變化,提出了擴(kuò)展卡爾曼濾波及核函數(shù)極限學(xué)習(xí)機(jī)相結(jié)合的方法對(duì)用戶側(cè)短期負(fù)荷進(jìn)行預(yù)測(cè).文獻(xiàn)[14]提出了一種基于決策樹和小波去噪相結(jié)合的預(yù)測(cè)方法,對(duì)不同用電模式的用戶進(jìn)行個(gè)性化負(fù)荷預(yù)測(cè).這些模型考慮了用戶用電負(fù)荷影響因素,對(duì)不同用戶的用電特性進(jìn)行分析,但忽略了時(shí)間序列相關(guān)性對(duì)單個(gè)用戶負(fù)荷預(yù)測(cè)的影響.
從相關(guān)工作來看,對(duì)于用戶電力負(fù)荷預(yù)測(cè)而言,需解決兩方面問題:一是如何有效提取與預(yù)測(cè)目標(biāo)相關(guān)的抽象特征,以便預(yù)測(cè)模型學(xué)習(xí)其中規(guī)律;二是不同用戶負(fù)荷特點(diǎn)差異較大,單一預(yù)測(cè)模型不能對(duì)特征差別較大的用戶進(jìn)行負(fù)荷預(yù)測(cè),建立組合預(yù)測(cè)模型以提升預(yù)測(cè)精度是很有必要的.因此,本文從用戶負(fù)荷數(shù)據(jù)特性出發(fā),利用K-means 聚類得到不同用戶類別,針對(duì)每類用戶的負(fù)荷數(shù)據(jù)時(shí)間相關(guān)性,搭建不同的負(fù)荷預(yù)測(cè)模型.為了能夠提取與負(fù)荷相關(guān)的抽象特征,本文利用不同時(shí)間序列信息構(gòu)建不同張量作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,構(gòu)建出深層卷積網(wǎng)絡(luò)來預(yù)測(cè)單個(gè)用戶的負(fù)荷.最后,本文結(jié)合某地23 個(gè)用戶一年的真實(shí)用電負(fù)荷數(shù)據(jù)對(duì)本文提出的方法進(jìn)行驗(yàn)證.
圖1 為隨機(jī)選擇的5 個(gè)用戶的某周負(fù)荷曲線圖,不同顏色的曲線表示不同用戶的周負(fù)荷變化情況.其中,橫軸表示時(shí)刻點(diǎn),每15 分鐘采樣一次負(fù)荷數(shù)據(jù),縱軸表示負(fù)荷數(shù)據(jù).通過觀察曲線發(fā)現(xiàn),對(duì)于單個(gè)用戶而言,由于生產(chǎn)和經(jīng)營(yíng)一般具有較強(qiáng)的周期性和規(guī)律性,其日負(fù)荷數(shù)據(jù)也具有規(guī)律性,具體可以表現(xiàn)為以下2 個(gè)方面:如無重大突發(fā)情況,其短時(shí)間內(nèi)負(fù)荷曲線波動(dòng)較小(相鄰時(shí)刻相關(guān));不同日的相同時(shí)刻的負(fù)荷波動(dòng)差異不大(日相關(guān)).為此,首先我們利用K-means 聚類算法來研究用戶用電行為模式.
K-means 算法是一種無監(jiān)督學(xué)習(xí)方法,算法通過設(shè)定好的中心點(diǎn)對(duì)靠近它們的點(diǎn)進(jìn)行歸類,通過迭代的方式,逐次更新各聚類中心的值,直到得到最好的聚類結(jié)果.對(duì)處理大數(shù)據(jù)集而言,K-means 聚類算法保持了較高的可伸縮性和高效性.算法描述如下:
(1)選擇合適的k值作為聚類的初始中心點(diǎn).
(2)計(jì)算其他的點(diǎn)到這k個(gè)中心點(diǎn)的距離,離哪個(gè)中心點(diǎn)的距離最小就被劃分到哪個(gè)類.距離的具體計(jì)算公式如下:
(3)通過求平均值的方法更新該類的中心.
(4)按步驟(2)、(3)迭代更新后,直至各類中心點(diǎn)的值均不再變化,迭代結(jié)束.
圖1 某5 個(gè)用戶一周的負(fù)荷曲線圖
本文采用K-means 算法對(duì)真實(shí)數(shù)據(jù)集中的23 個(gè)用戶的歷史數(shù)據(jù)進(jìn)行聚類分析,然后按照其時(shí)間序列的不同的相關(guān)性,將不同類別的用戶負(fù)荷序列轉(zhuǎn)換為張量后輸入至不同的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行抽象特征提取.聚類得到的結(jié)果如表1 所示.其中,A 類表示日相關(guān)性和相鄰時(shí)刻相關(guān)性均較為明顯的用戶,B 類表示僅相鄰時(shí)刻相關(guān)性較強(qiáng)的用戶.
表1 用戶聚類結(jié)果
在深度學(xué)習(xí)的諸多算法中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)因其特殊的網(wǎng)絡(luò)結(jié)構(gòu),在計(jì)算機(jī)視覺領(lǐng)域應(yīng)用廣泛.然而,在電力負(fù)荷預(yù)測(cè)方面的應(yīng)用較少.CNN 的典型網(wǎng)絡(luò)結(jié)構(gòu)由輸入層、卷積層、池化層、全連接層和輸出層組成[15].其中,卷積層是CNN 的核心,包括卷積核、卷積層參數(shù)和激勵(lì)函數(shù)3 個(gè)重要部分.卷積層內(nèi)部包含多個(gè)卷積核,組成卷積核的每個(gè)元素都對(duì)應(yīng)一個(gè)權(quán)重系數(shù)和一個(gè)偏差量,類似于前饋神經(jīng)網(wǎng)絡(luò)的一個(gè)神經(jīng)元.CNN 的優(yōu)勢(shì)在于能夠通過較少的權(quán)重參數(shù)訓(xùn)練提取得到特征[16].
本文采用CNN 網(wǎng)絡(luò)來提取用戶歷史負(fù)荷的特征.對(duì)于A 類用戶,CNN 模型用相鄰的前16 個(gè)負(fù)荷數(shù)據(jù)點(diǎn)和待預(yù)測(cè)點(diǎn)前16 天的相同時(shí)刻的數(shù)據(jù)點(diǎn)分別構(gòu)造成 4×4的矩陣形式,將這兩個(gè)矩陣組成的張量作為CNN 模型的輸入,如圖2 所示.
圖2 A 類用戶卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
對(duì)于B 類用戶,模型僅以相鄰的前16 個(gè)負(fù)荷數(shù)據(jù)點(diǎn)構(gòu)建為 4 ×4×1的網(wǎng)絡(luò)輸入,如圖3 所示.CNN 模型有兩個(gè)卷積層,卷積核分別為2 ×2×32和 2 ×2×64.
圖3 B 類用戶卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
考慮到輸入數(shù)據(jù)的維度不高,因此本文在卷積層后直接接了兩個(gè)全連接層,而未使用池化層進(jìn)行下采樣,保證了數(shù)據(jù)的完整性.模型使用ReLU 作為激活函數(shù),選擇均方誤差(Mean Square Error,MSE)作為損失函數(shù).
將歷史負(fù)荷數(shù)據(jù)經(jīng)過數(shù)據(jù)預(yù)處理得到用戶用電負(fù)荷曲線,通過K-means 聚類將用戶分為日相關(guān)性強(qiáng)和相鄰時(shí)刻相關(guān)性強(qiáng)的兩類用戶.針對(duì)不同用戶負(fù)荷特性,構(gòu)建不同張量輸入的CNN 模型,具體處理流程如圖4 所示.
圖4 基于K-means 和CNN 的用戶短期電力負(fù)荷預(yù)測(cè)流程
本文所用數(shù)據(jù)集為某市23 個(gè)用戶2015 年全年的負(fù)荷數(shù)據(jù),每15 分鐘采集一個(gè)樣本點(diǎn),每天可獲得96 個(gè)負(fù)荷點(diǎn)數(shù)據(jù).通過觀察數(shù)據(jù),發(fā)現(xiàn)原始采集數(shù)據(jù)存在缺失、數(shù)據(jù)為負(fù)或遠(yuǎn)大于該用戶其他時(shí)刻點(diǎn)的負(fù)荷數(shù)據(jù)等失真情況.因此在用于模型訓(xùn)練和測(cè)試前,本文首先對(duì)采集到的負(fù)荷數(shù)據(jù)進(jìn)行異常處理.對(duì)于缺失或失真的數(shù)據(jù),本文利用該數(shù)據(jù)的前15 個(gè)相鄰數(shù)據(jù)點(diǎn)的平均值對(duì)其進(jìn)行填充或修正,得到完整的負(fù)荷數(shù)據(jù)序列.同時(shí),將所有的負(fù)荷數(shù)據(jù)通過歸一化映射到[0,1]之間,公式如下:
其中,xi為原始負(fù)荷數(shù)據(jù),為歸一化后的負(fù)荷數(shù)據(jù),xmax為數(shù)據(jù)集樣本中的最大負(fù)荷,xmin為數(shù)據(jù)集樣本中的最小負(fù)荷.
為了有效評(píng)價(jià)模型的準(zhǔn)確度以及與其他方法進(jìn)行對(duì)比,本文選取平均絕對(duì)誤差(Mean Absolute Percentage Error,MAPE)作為評(píng)價(jià)指標(biāo),計(jì)算公式如下:
其中,n表示預(yù)測(cè)點(diǎn)的個(gè)數(shù),yi表示第i個(gè)預(yù)測(cè)點(diǎn)的負(fù)荷真實(shí)值,表示第i個(gè)預(yù)測(cè)點(diǎn)的負(fù)荷預(yù)測(cè)值,即MAPE值越小,預(yù)測(cè)準(zhǔn)確率越高.
采用本文提出的CNN 算法對(duì)經(jīng)過K-means 算法分類的電力用戶進(jìn)行負(fù)荷預(yù)測(cè),訓(xùn)練集與測(cè)試集劃分比例為8:2.訓(xùn)練集采用的是2015 年1 月1 日至2015 年10 月15 日的數(shù)據(jù),共有28 128 條記錄;測(cè)試集采用的是2015 年10 月15 日至2015 年12 月31 日的數(shù)據(jù),共有7007 條記錄.
(1)將本文模型與隨機(jī)森林和支持向量回歸機(jī)進(jìn)行比較,結(jié)果見表2.
表2 不同電力負(fù)荷預(yù)測(cè)方法MAPE 比較(%)
本文模型對(duì)絕大多數(shù)用戶的預(yù)測(cè)效果都優(yōu)于現(xiàn)有算法,平均MAPE為30.91%,相對(duì)于現(xiàn)有最好的RF 方法MAPE降低了20%,說明本文模型可有效提高短期負(fù)荷的預(yù)測(cè)準(zhǔn)確度.其中user5 的準(zhǔn)確度相較其他模型提高得最多,因?yàn)閡ser5 的數(shù)據(jù)波動(dòng)很大,通過歸一化可以增加數(shù)據(jù)的穩(wěn)定性,提高預(yù)測(cè)的準(zhǔn)確度.由表2 可見,不同用戶的MAPE差距很大,這是因?yàn)椴煌脩舻挠秒娦袨榱?xí)慣差異很大.
圖5 為user1 和user8 在2015 年1 月1 日至2015 年2 月28 日的負(fù)荷曲線.圖5 中,user1 歷史負(fù)荷曲線較平穩(wěn),其用電模式較規(guī)律,因此可得到較準(zhǔn)確的預(yù)測(cè)結(jié)果,而user8 在同段時(shí)間的用電行為模式難以捕捉,無法達(dá)到較好的預(yù)測(cè)效果.這說明了針對(duì)不同用戶采用不同預(yù)測(cè)模型的有效性和重要性.
(2)為了驗(yàn)證聚類方法的有效性,將本文模型與僅輸入相鄰時(shí)刻相關(guān)的CNN 模型、輸入相鄰時(shí)刻序列和日相關(guān)特征序列的CNN 模型進(jìn)行比較,結(jié)果如表3所示.
圖5 user1 和user8 2015 年1 月1 日至2015 年2 月28 日負(fù)荷曲線
表3 聚類效果MAPE 分析(%)
從表3 不難看出,本文模型的MAPE比簡(jiǎn)單將數(shù)據(jù)放入CNN 模型的MAPE降低了5%,證明了應(yīng)用聚類算法可更好區(qū)別不同用戶的特性,有助于提高預(yù)測(cè)性能.
針對(duì)用戶負(fù)荷差異明顯、波動(dòng)性大的問題,本文利用K-means 算法將用戶用電歷史負(fù)荷曲線進(jìn)行聚類,針對(duì)不同類別的用戶利用CNN 構(gòu)造不同的特征提取網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練建立預(yù)測(cè)模型.實(shí)驗(yàn)結(jié)果表明本文模型均比RF、SVR 及未經(jīng)聚類的CNN 模型的預(yù)測(cè)效果優(yōu)秀,預(yù)測(cè)MAPE降低了21.22%.由于當(dāng)前預(yù)測(cè)模型僅參考了用戶的歷史負(fù)荷作為模型輸入,實(shí)際上用戶負(fù)荷與溫度、濕度及用戶所在行業(yè)經(jīng)濟(jì)形勢(shì)等多種因素相關(guān),后續(xù)將考慮篩選更多的相關(guān)因素輸入模型中,進(jìn)一步提高模型的預(yù)測(cè)準(zhǔn)確度.