張慧波, 王守相, 趙倩宇, 任杰, 王海
(1. 智能電網(wǎng)教育部重點實驗室(天津大學(xué)),天津 300072;2. 國網(wǎng)冀北張家口風光儲輸新能源有限公司,河北 張家口 075061)
用戶用電行為分析是電網(wǎng)分析規(guī)劃的重要環(huán)節(jié)。隨著智能采集裝置的廣泛應(yīng)用,用戶用電活動可通過智能電表采樣并以負荷曲線等形式表現(xiàn),其數(shù)據(jù)具有體量大、速度快、價值密度低等特征。針對用戶負荷數(shù)據(jù)特點,研究高效的負荷曲線分類方法有助于電力公司從海量用電側(cè)數(shù)據(jù)中挖掘用戶潛在用電規(guī)律,對開展負荷預(yù)測、需求響應(yīng)、電價決策等工作有著重要意義[1—2]。
目前,負荷曲線分類方法主要有無監(jiān)督聚類、有監(jiān)督分類以及無監(jiān)督與有監(jiān)督相結(jié)合等。近來年關(guān)于負荷曲線無監(jiān)督聚類所做的研究主要集中于改進聚類算法[3—4]和改進聚類特征2個方面。在算法方面,文獻[5]提出一種分段聚類方法對建筑負荷曲線分類,能夠更高效地獲取建筑的日典型用電模式。在聚類特征改進方面,主要聚焦在特征提取方法[6—8]和相似度度量計算方法[9—10],文獻[11]提出一種基于負荷曲線斜率分段的形狀聚類方法,能夠更好地捕捉曲線的形狀特征;文獻[12]采用樣本皮爾遜相關(guān)系數(shù)距離作為相似度度量,算例表明優(yōu)于歐幾里得距離。在負荷有監(jiān)督分類方面,應(yīng)用最廣泛的是反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)[13—14],但BPNN存在梯度爆炸、梯度消失等問題。在無監(jiān)督與有監(jiān)督結(jié)合方面,負荷數(shù)據(jù)作為無標簽數(shù)據(jù),利用無監(jiān)督聚類獲得類別標簽,訓(xùn)練有監(jiān)督學(xué)習模型進行分類,可將無監(jiān)督與有監(jiān)督的優(yōu)勢相結(jié)合,實現(xiàn)海量負荷數(shù)據(jù)的高效分類,其首先應(yīng)獲得訓(xùn)練集的精準類別標簽[15—17]。
不均衡數(shù)據(jù)是指數(shù)據(jù)集中歸屬于某一類別的樣本數(shù)量和密度與其他類別有較大差異。由于用戶用電行為的隨機性與多樣性,負荷數(shù)據(jù)同樣存在不均衡的現(xiàn)象,某些類別的負荷數(shù)量遠少于其他類別的負荷數(shù)量。傳統(tǒng)的K-means算法處理此類數(shù)據(jù)時容易出現(xiàn)“均勻效應(yīng)”[18—19],小類會吞噬大類中的部分樣本,而傳統(tǒng)分類方法同樣在小樣本類別上分類效果欠佳。目前在負荷曲線分類時考慮不均衡數(shù)據(jù)問題的研究較少,文獻[20]改進密度峰值聚類(density peak clustering,DPC)算法實現(xiàn)了對多類別分布不均衡的負荷曲線聚類,但該算法計算復(fù)雜度較高,難以處理海量負荷數(shù)據(jù);文獻[21—23]利用過采樣技術(shù)處理類別不平衡問題后訓(xùn)練分類模型,但其前提是訓(xùn)練集需要精準的類別標簽,而負荷數(shù)據(jù)是無標簽數(shù)據(jù),難以獲得準確的類別信息。
為了解決上述問題,提出一種無監(jiān)督與有監(jiān)督相結(jié)合的負荷曲線分類方法。首先,采用長短期記憶(long short-term memory,LSTM)神經(jīng)網(wǎng)絡(luò)自編碼器對負荷曲線進行特征降維;然后,基于相對k近鄰密度峰值(relatedk-nearest neigh ̄bor density peaks,RKDP)初始聚類中心選取方法改進K-means獲得訓(xùn)練集精準類別標簽;最后訓(xùn)練搭建的LSTM-卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)分類模型,實現(xiàn)大規(guī)模負荷數(shù)據(jù)分類。
DPC算法的核心思想為:聚類中心本身的局部密度大,即其被小于其密度的鄰居所包圍;聚類中心與其他具有更大密度的數(shù)據(jù)點之間有相對大的距離[24]。在DPC算法中,每個數(shù)據(jù)點i有2個重要參數(shù):局部密度ρi與相對距離δi。
基于高斯核計算數(shù)據(jù)點i的局部密度ρi為:
(1)
式中:di,j為數(shù)據(jù)點i,j之間的距離;dc為截斷距離,即距離閾值。與數(shù)據(jù)點i距離小于dc的點越多,該點的局部密度ρi就越大。
相對距離δi為數(shù)據(jù)點i與其他密度比它大的數(shù)據(jù)點的所有距離中的最小值,計算公式為:
(2)
根據(jù)DPC算法的核心思想,將相對距離大且局部密度值大的點選定為聚類中心,然后將剩余數(shù)據(jù)分配到密度比它高的最近數(shù)據(jù)點所在類別,快速完成聚類。然而,DPC算法在數(shù)據(jù)集密集程度不均時效果較差,這是由于該算法定義的局部密度是由全局數(shù)據(jù)進行計算,未考慮數(shù)據(jù)內(nèi)部局部結(jié)構(gòu)差異。當數(shù)據(jù)集不同類別間密集程度差異較大時,全局范圍內(nèi)密度較高的點可能全分布在密集類別中,容易忽略密度稀疏的類別,難以找到正確的初始聚類中心[25]。因此,通過計算數(shù)據(jù)點與其近鄰點間相對密度可能更能反映該點是否為潛在的聚類中心。
文中基于DPC算法思想,提出RKDP初始聚類中心選取方法,該方法須提前設(shè)定2個參數(shù):聚類中心數(shù)K和k近鄰的參數(shù)n,其具體流程如下。
(1) 首先,通過數(shù)據(jù)點i與其近鄰點的距離來計算其局部密度,新的局部密度ρi計算公式如式(3)所示,Ni為i的n個近鄰點集合。
(3)
(4)
(3) 基于DPC算法思想(聚類中心有著較大的局部密度與相對距離)引入聚類中心權(quán)值γi來選擇初始聚類中心,計算公式如下:
(5)
自編碼器(auto-encoder,AE)是一種常用于特征提取與降維的神經(jīng)網(wǎng)絡(luò),包括編碼與解碼2個過程,其基本結(jié)構(gòu)如圖1所示,包括輸入層、隱藏層和輸出層3個部分[8]。AE的思想就是在輸出層最大程度重構(gòu)輸入數(shù)據(jù),同時通過隱藏層提取輸入數(shù)據(jù)的隱藏特征,通過設(shè)置隱藏層神經(jīng)元數(shù)量小于輸入數(shù)據(jù)維度即可實現(xiàn)特征降維。
LSTM神經(jīng)網(wǎng)絡(luò)是一種改進的時間循環(huán)網(wǎng)絡(luò),依靠其獨特的門控結(jié)構(gòu)和記憶單元可有效處理長時間序列,目前在時序預(yù)測、分類等領(lǐng)域有廣泛的應(yīng)用。LSTM神經(jīng)網(wǎng)絡(luò)基本單元主要包括遺忘門、輸入門和輸出門3個門控單元[23—24]。
圖1 AE結(jié)構(gòu)Fig.1 Structure of AE
文中將傳統(tǒng)AE與LSTM神經(jīng)網(wǎng)絡(luò)相結(jié)合,提取負荷數(shù)據(jù)的時序特征,所提出的LSTM-AE網(wǎng)絡(luò)結(jié)構(gòu)如表1所示。
表1 LSTM-AE網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Network structure of LSTM-AE
CNN近年來在深度學(xué)習領(lǐng)域被廣泛應(yīng)用,其內(nèi)部基于局部連接和共享權(quán)值的方式可有效提取數(shù)據(jù)的潛在特征[26—27]。文中使用CNN提取負荷數(shù)據(jù)的深層次特征,同時與LSTM神經(jīng)網(wǎng)絡(luò)提取的時序特征拼接作為特征向量,實現(xiàn)特征增強,從而提升分類模型對不平衡數(shù)據(jù)的處理能力。所提出的LSTM-CNN分類模型如圖2所示,主要包括CNN子模塊、LSTM子模塊以及分類模塊。CNN子模塊主要由2層的一維卷積層與池化層組成。Reshape層轉(zhuǎn)換輸入數(shù)據(jù)維度,2層卷積層提取數(shù)據(jù)特征,激活函數(shù)為Relu;池化層對卷積層提取特征進行下采樣,實現(xiàn)特征約簡。LSTM子模塊由2層LSTM網(wǎng)絡(luò)層構(gòu)成,神經(jīng)元數(shù)量均為64,激活函數(shù)為Relu,用于提取負荷的內(nèi)在時序特征。分類模塊中,特征拼接層對LSTM及CNN子模塊提取的特征進行拼接,輸出為一維特征向量;第一層全連接層實現(xiàn)特征降維,激活函數(shù)為Relu,數(shù)量為32;第二層全連接層激活函數(shù)設(shè)置為Softmax,其神經(jīng)元數(shù)量取決于負荷類別數(shù),輸出最后的分類結(jié)果。
圖2 LSTM-CNN分類模型結(jié)構(gòu)Fig.2 Structure of LSTM-CNN classification model
4.1.1 實驗數(shù)據(jù)介紹
由于負荷數(shù)據(jù)缺乏類別標簽,無法直接測試所提方法對不均衡數(shù)據(jù)的分類能力,文中基于UCI數(shù)據(jù)集中的DIris,DWine,DSeed數(shù)據(jù)集來驗證RKDP初始聚類中心選取方法的有效性,同時選取Synthetic Control時序數(shù)據(jù)集對所提出的LSTM-CNN分類模型進行測試。最后,選取倫敦智能電表數(shù)據(jù)集DL及愛爾蘭負荷數(shù)據(jù)DI作為實際負荷數(shù)據(jù)進行負荷聚類及分類實驗(采樣時間間隔均為30 min,即每天有48個采樣點),驗證所提方法的有效性。文中所使用的實驗平臺處理器型號為AMD Ryzen Threadripper 3970X,操作系統(tǒng)為Windows 10,所用編程語言為Python 3.7,所提出的神經(jīng)網(wǎng)絡(luò)模型采用keras深度學(xué)習框架搭建。
4.1.2 評價指標介紹
在聚類性能評估指標方面,對于有類別標簽的數(shù)據(jù)集,選取調(diào)整互信息(adjusted mutual in ̄for ̄ma ̄tion,AMI)iAMI、調(diào)整蘭德系數(shù)(adjusted rand in ̄dex,ARI)iARI和Fowlkes-Mallows指數(shù)(fowlkes-mal ̄lows index,F(xiàn)MI)iFMI3項指標來描述聚類結(jié)果與實際標簽的吻合程度,上限均為1,其值越接近1表示聚類效果越好。對于無標簽負荷數(shù)據(jù),選取常用的輪廓系數(shù)(silhouette coefficient,SC)iSC和戴維森堡丁指數(shù)(Davies-Bouldin index,DBI)iDBI,iSC值越大、iDBI越小意味著類內(nèi)距離越小,類間距離越大,聚類效果越好[28—30]。在分類模型評估指標方面,直接選擇分類準確率作為分類模型的評價指標。
4.2.1 RKDP有效性驗證
首先將RKDP-K-means算法直接與K-means算法進行對比,驗證RKDP初始聚類中心選取方法能夠提升K-means方法對不均衡數(shù)據(jù)的聚類精度。基于DIris,DWine,DSeed3個真實數(shù)據(jù)集,采用隨機抽樣法分別構(gòu)建不平衡比例為3∶1,5∶1,10∶1的數(shù)據(jù)集,聚類數(shù)均為各數(shù)據(jù)集的類別數(shù),k近鄰參數(shù)在3~20之間選取,每種不平衡比例下重復(fù)5次,即每個數(shù)據(jù)集進行15次實驗,2種方法的iARI,iAMI,iFMI及其平均值分別見表2和表3,iIter為迭代次數(shù)均值。
由表2和表3可知,K-means算法聚類精度隨著不平衡比例加重逐漸下降,以DWine數(shù)據(jù)集為例,數(shù)據(jù)不平衡比例由3∶1變?yōu)?0∶1時,iARI指標由0.858變?yōu)?.670,而RKDP-K-means算法由0.876變?yōu)?.804,仍保持較高水平;在各指標平均值方面,相對于K-means算法,RKDP-K-means算法的iARI,iAMI,iFMI均有提升,且迭代次數(shù)減少。綜上,文中所提出的RKDP初始聚類中心選取方法能夠有效提升K-means算法對不平衡數(shù)據(jù)的處理能力。
表2 K-means實驗結(jié)果Table 2 Experimental results of K-means
表3 RKDP-K-means實驗結(jié)果Table 3 Experimental results of the RKDP-K-means
4.2.2 聚類效果對比分析
為了更加客觀地驗證所提算法處理不均衡數(shù)據(jù)的有效性,將RKDP-K-means算法與基于劃分的K-means、基于空間密度的聚類(density-based spatial clustering of applications with noise,DBSCAN)[31]、基于層次的凝聚聚類(agglomerative clustering,AG)及基于圖論的譜聚類(spectral clustering,SP)4種方法進行對比。其中,K-means、AG及SP聚類數(shù)設(shè)置為3,DBSCAN鄰域半徑以0.02為步長,在0.1~0.5之間選取,鄰域內(nèi)最少樣本數(shù)在5~25之間選取,RKDP-K-means的k近鄰參數(shù)在3~20之間選取。所有結(jié)果均為最佳參數(shù)下測得,每組不平衡數(shù)據(jù)同樣重復(fù)5次,表4為5種方法的準確率。
由表4可知,RKDP-K-means算法在各數(shù)據(jù)集下均優(yōu)于K-means算法,以DWine數(shù)據(jù)集為例,隨著不平衡比例加大,K-means的準確率從0.957變?yōu)?.829,RKDP-K-means從0.964變?yōu)?.915,仍有較高準確度。整體上看,RKDP-K-means算法的準確率均值均優(yōu)于其他4種方法。因此,RKDP-K-means算法在處理不平衡數(shù)據(jù)時具有優(yōu)勢。
表4 5種聚類算法準確率Table 4 Accuracy of five clustering algorithms
采用實際負荷數(shù)據(jù)來對LSTM-AE的性能進行評價分析。從DL數(shù)據(jù)集中隨機選取500條負荷曲線為實驗對象,基于K-means算法計算不同聚類數(shù)下的iSC,iDBI指標,結(jié)果如圖3所示,當聚類數(shù)目為4時,2項指標所反映的聚類效果較好,因此設(shè)置聚類數(shù)為4。分別采用LSTM-AE、主成分分析(prin ̄cipal component analysis,PCA)、核主成分分析(kernel PCA,KPCA)、AE 4種降維方法(維度均設(shè)置為8)降維后采用RKDP-K-means聚類以及K-means,RKDP-K-means不降維直接聚類進行對比,重復(fù)10次試驗。同時基于DI重復(fù)上述實驗進行驗證,聚類中心數(shù)設(shè)置為3,結(jié)果如表5所示。
圖3 SC和DBI與聚類數(shù)目關(guān)系Fig.3 Relationship between SC,DBI and cluster number
表5 LSTM-AE有效性驗證實驗結(jié)果Table 5 Results of validity verification of LSTM-AE
為表述方便,將經(jīng)LSTM-AE降維后RKDP-K-means聚類命名為LARK聚類算法。由表5可知,RKDP-K-means在iSC指標上優(yōu)于K-means算法,iDBI指標基本持平。與RKDP-K-means聚類相比,LARK算法的各項指標均有較大幅度的改善,在DL和DI數(shù)據(jù)集上,iSC指標分別提升0.121和0.05,這表明LSTM-AE能夠提升RKDP-K-means的聚類精度。通過對比4種降維方法可以發(fā)現(xiàn),LSTM-AE的特征提取能力優(yōu)于其他3種方法。
4.4.1 LSTM-CNN網(wǎng)絡(luò)測試
首先,使用Synthetic Control時序數(shù)據(jù)集測試所提出的LSTM-CNN分類模型,與相同結(jié)構(gòu)的LSTM網(wǎng)絡(luò)模型以及傳統(tǒng)支持向量機(support vector machine,SVM)模型進行對比,訓(xùn)練集與測試集比例為1∶1,神經(jīng)網(wǎng)絡(luò)迭代次數(shù)設(shè)置為100,優(yōu)化器為adam,損失函數(shù)為MSE;SVM算法中核參數(shù)為徑向基,分類準確率如表6所示。由表6可知,3種方法在訓(xùn)練集上均有100%的準確率,在測試集上,LSTM模型最弱,僅有95.3%,而所提出的LSTM-CNN分類模型與SVM均達到了97.7%的準確率。
表6 3種方法分類準確率對比Table 6 Classification accuracy comparisonof three methods %
為了驗證LSTM-CNN模型對不平衡時序數(shù)據(jù)的分類性能,基于Synthetic Control時序數(shù)據(jù)集構(gòu)建了15種類別不平衡數(shù)據(jù)集,與LSTM模型和SVM模型進行對比,傳統(tǒng)SVM模型處理不平衡時序數(shù)據(jù)性能較弱,準確率均值僅有80.7%,LSTM模型準確率均值為87.9%,而所提LSTM-CNN模型相對其他2種方法有著更好的分類性能,準確率高達92.2%。由此可見,提出的基于LSTM-CNN模型能夠有效處理時序不平衡數(shù)據(jù)分類問題。
4.4.2 實際負荷數(shù)據(jù)分類測試
(1) 算法分類性能測試?;贒L和DI負荷數(shù)據(jù),分別隨機選取10萬條負荷曲線,按照3∶7構(gòu)造訓(xùn)練集與測試集,基于LARK獲得訓(xùn)練集標簽數(shù)據(jù),訓(xùn)練LSTM-CNN模型實現(xiàn)對測試集的分類,與K-means和LARK直接聚類進行對比,DL,DI的聚類中心數(shù)分別設(shè)為6和8,iSC和iDBI指標如表7所示。由表7可知,文中方法聚類精度優(yōu)于LARK算法,在2個數(shù)據(jù)集上,iSC指標分別提升0.043和0.044。K-means算法雖然在DI上iDBI指標最小,但其iSC指標僅有0.074,文中方法iSC指標相較于K-means提升0.118,iDBI指標提升0.172,整體上看,所提出的分類方法分類性能優(yōu)于其他2種方法。
表7 3種方法SC、DBI對比Table 7 Comparison of SC,DBI of three methods
(2) 負荷分類結(jié)果。圖4為基于DI歸一化后的負荷分類結(jié)果,可以看出用戶的用電模式多種多樣,8種典型負荷曲線可大致分為平穩(wěn)型用電和尖峰型用電。類別1一整天始終保持較高的負荷水平,在凌晨用電量較大。類別5也是平穩(wěn)型用電類型,但其負荷水平一直很低。其余6種皆為尖峰型用電,但用電高峰時段不同,類別7是典型的午間負荷,類別4和類別6用電高峰分別出現(xiàn)在下午和傍晚,類別2、類別3和類別8是典型的晚間負荷,其中類別3的用電高峰時間持續(xù)較長。通過挖掘用戶的典型用電模式,有助于電力公司制定更好的售電方案,提高服務(wù)水平。
圖4 典型負荷曲線Fig.4 Typical daily load profiles
(3) 算法效率測試。文中所提方法包括LARK聚類獲取樣本標簽、LSTM-CNN模型訓(xùn)練及分類3個環(huán)節(jié),實驗對比了K-means、LARK及文中方法(訓(xùn)練集∶ 測試集=3∶7)在不同規(guī)模負荷數(shù)據(jù)集下的計算速度,執(zhí)行時間如圖5所示。
圖5 算法效率對比Fig.5 Comparison of algorithmic efficiency
從圖5可以看出,LARK聚類算法隨著數(shù)據(jù)規(guī)模增加運行時間急劇增大,在對30萬條負荷曲線分類時,LARK算法運行時間達到167 s,而文中方法僅用時37.4 s,相比于LARK算法效率提升3.46倍;傳統(tǒng)K-means算法用時20.5 s,文中方法雖相較于K-means算法較差,但在分類性能上表現(xiàn)更好,同時文中方法主要耗時在于標簽獲取與訓(xùn)練分類模型環(huán)節(jié)(共耗時34.2 s),分類階段用時僅3.22 s,分類模型一旦訓(xùn)練完成后可重復(fù)使用。因此,文中所提方法在面對大規(guī)模負荷分類時具有效率優(yōu)勢。
文中提出了一種考慮數(shù)據(jù)分布不均衡的負荷曲線分類方法,主要包括基于LSTM-AE實現(xiàn)負荷數(shù)據(jù)降維、基于RKDP-K-means聚類算法獲得負荷類別標簽及訓(xùn)練LSTM-CNN分類模型實現(xiàn)大規(guī)模負荷分類三部分。通過算例分析驗證了文中方法的有效性,得到以下結(jié)論:
(1) 基于UCI公共數(shù)據(jù)集驗證了所提出的RKDP初始聚類中心選取方法可有效提升K-means算法對不均衡數(shù)據(jù)的聚類性能,其中iARI指標提升6.6%,迭代次數(shù)減少17.1%;
(2) 在RKDP-K-means算法對負荷進行聚類分析時,所提出的LSTM-AE特征提取方法可有效提升RKDP-K-means的聚類精度,在倫敦負荷測試集,iSC指標提升35.4%;
(3) 在大規(guī)模負荷分類上,基于LARK聚類與LSTM-CNN分類模型相結(jié)合的負荷分類方法相比于LARK算法有著更好的負荷分類性能,其中iSC指標提升29.7%,效率提升3.46倍。