黃冬梅,吳志浩,孫 園,胡安鐸,時 帥,孫錦中
(1.上海電力大學電子與信息工程學院,上海 201306;2.上海電力大學電氣工程學院,上海 200090;3.海電力大學數(shù)理學院,上海 201306)
近年來,隨著電力物聯(lián)網(wǎng)智能化的飛速發(fā)展,越來越多的高級量測體系投入運營[1],使用戶用電數(shù)據(jù)大量積累,而采集到的負荷數(shù)據(jù)往往呈現(xiàn)類別多及不平衡等特點[2-3]。如何從海量負荷數(shù)據(jù)中挖掘并提取有價值的潛在信息,已成為當前的研究熱點[4]。因此,研究合理有效的負荷分類算法,有利于制定個性化的用電策略,對于電力資源合理調(diào)控、提升能源利用率和提高企業(yè)經(jīng)濟效益具有重要意義,同時也有助于實現(xiàn)“碳達峰,碳中和[5]”。
目前,對負荷數(shù)據(jù)進行分類的方法可分為無監(jiān)督聚類和有監(jiān)督分類。無監(jiān)督聚類是在未知樣本的標簽下,按照指定的規(guī)則對數(shù)據(jù)進行劃分,例如k-均值[6]、模糊c-均值FCM[7](fuzzy c-means)和密度聚類DBSCAN[8](density-based spatial clustering of applications with noise)等,然而該方法存在調(diào)參復雜及對數(shù)據(jù)敏感等問題。隨著負荷數(shù)據(jù)量的快速增長,無監(jiān)督聚類往往需要大量的運行時間,并浪費其中部分有標簽的數(shù)據(jù),難以勝任大量負荷數(shù)據(jù)背景下快速分類的需求。
針對上述問題可采用有監(jiān)督分類進行解決。有監(jiān)督分類是在獲得樣本標簽的情況下,提取數(shù)據(jù)的特征與規(guī)律并對其進行有效分類。文獻[9]使用稀疏自動編碼器對負荷數(shù)據(jù)進行重新表達并優(yōu)化初始參數(shù),然后訓練支持向量機,實現(xiàn)大規(guī)模負荷數(shù)據(jù)的分類;文獻[10]利用模糊理論優(yōu)化反向傳播BP(back propagation)神經(jīng)網(wǎng)絡的參數(shù),實驗表明該方法在不影響收斂精度的前提下,有更快地收斂速度;文獻[11]利用Spark平臺將BP算法并行化,實現(xiàn)大量負荷數(shù)據(jù)的高性能分類;文獻[12]建立以BP神經(jīng)網(wǎng)絡為基礎的Adaboost集成分類器,相比于傳統(tǒng)的神經(jīng)網(wǎng)絡,該方法有更高地分類準確度和更低地運行時間;文獻[13]利用次梯度下降算法改善支持向量機SVM(support vector machine)訓練過程中耗時長且運行效果不佳等問題。
上述有監(jiān)督分類方法能有效的兼顧分類速度和分類精度,但仍存在以下問題:①用戶的用電行為往往具有隨機性和多樣性等特點,使負荷數(shù)據(jù)存在類別之間數(shù)據(jù)量不平衡的問題,某些類別的負荷數(shù)量遠少于其余類別的負荷數(shù)量;其中的生成式對抗網(wǎng)絡GAN(generative adversarial networks)作為一種生成式模型,在負荷數(shù)據(jù)生成方面也能取得很好的效果[14-16],然而GAN存在訓練困難,容易崩潰等缺陷[17]。②對負荷數(shù)據(jù)進行分類的方法僅從序列角度出發(fā),難以挖掘其深層特征,存在特征提取不足的問題。
綜上所述,針對負荷數(shù)據(jù)分類中存在的類別不平衡及特征提取不足的問題,本文提出一種基于變分自編碼器VAE(variational auto-encoder)預處理和遞歸圖-二維卷積神經(jīng)網(wǎng)絡RP-2D CNN(recurrence plot-two-dimensional convolutional neural network)的不平衡負荷數(shù)據(jù)類型辨識方法。首先,使用VAE對少數(shù)類數(shù)據(jù)進行擴充,實現(xiàn)數(shù)據(jù)增強。然后,使用遞歸圖算法將負荷曲線編碼為二維圖像,實現(xiàn)特征增強。最后,使用二維卷積神經(jīng)網(wǎng)絡2D CNN(twodimensional convolutional neural network)求取分類結(jié)果。算例表明,VAE 能有效的改善負荷數(shù)據(jù)類別不平衡的問題,同時相比于序列輸入的分類器模型,經(jīng)過遞歸圖編碼后,其圖像輸入的2D CNN 模型有更高的分類準確度。
VAE 由編碼器和解碼器組成。編碼器通過對原始訓練數(shù)據(jù)X編碼得到隱藏層的隱向量Z;給定Z分布的均值μ和方差σ,根據(jù)生成的隱變量Z的變分概率分布,再利用解碼器還原得到近似的原始訓練數(shù)據(jù)X',進而獲得能表征原始訓練數(shù)據(jù)X的隱層特征。其中,編碼器和生成器使用神經(jīng)網(wǎng)絡進行擬合[18],圖1為VAE的基本結(jié)構(gòu)。
圖1 變分自編碼器基本結(jié)構(gòu)Fig.1 Basic structure of variational auto-encoder
VAE 中隱變量Z的分布可由后驗概率密度函數(shù)pθ(Z|X) 表示,θ為訓練過程中學習的網(wǎng)絡參數(shù)。由于真實的后驗分布無法直接觀察,為解決此問題,引入識別模型qφ(Z|X)并將其作為Z近似后驗概率,φ為訓練過程中學習的網(wǎng)絡參數(shù);然后使用KL散度DKL(Kullback-Leibler divergence)描述pθ(Z|X)與qφ(Z|X)之間的相似度,即
式中,logpθ(X)為X的對數(shù)似然函數(shù)。由于DKL大于0 恒成立,因此最小化DKL可轉(zhuǎn)化為最大化L(θ,φ,X),其中將L(θ,φ,X)稱作變分下界。經(jīng)推導,VAE的變分下界優(yōu)化目標可表示為
式中,Eqφ(Z|X)logpθ(Z|X)為pθ(Z|X)的似然期望。為了簡化計算過程,將正態(tài)分布N(0,1)作為先驗分布pθ(Z)。
本文利用VAE對不平衡負荷曲線進行預處理,實現(xiàn)少數(shù)類數(shù)據(jù)的生成和擴充,其基本過程如下。
(1)以少數(shù)類樣本作為VAE 的輸入,通過訓練VAE學習少數(shù)類樣本的分布特征。
(2)從標準正態(tài)分布N(0,1)中采樣隱變量ε,并輸入生成器生成指定數(shù)量的樣本。
(3)重復執(zhí)行上述步驟,將VAE 生成的數(shù)據(jù)與原始的少數(shù)類數(shù)據(jù)進行合并,實現(xiàn)少數(shù)類樣本的擴充,從而完成不平衡樣本的預處理流程。
圖2為基于VAE的不平衡樣本預處理流程,輸入信號為少數(shù)類的負荷曲線,通過VAE學習負荷曲線的分布特征,并將生成數(shù)據(jù)與原始數(shù)據(jù)進行合并,實現(xiàn)對少數(shù)類負荷曲線的擴充。其中,編碼器和解碼器的結(jié)構(gòu)需要對稱,以編碼器為例,它包含3個全連接層,神經(jīng)元個數(shù)分別為50、100、50,并使用批歸一化BN(batch normalization)層優(yōu)化網(wǎng)絡,用于加快訓練速度。
婚后,他們一邊過著極其簡樸的日常生活,一邊追求著非常偉大的夢想。據(jù)說,在當時結(jié)婚的新房里,只有兩把椅子,一人一把。
圖2 基于VAE 的不平衡樣本預處理流程Fig.2 Flow chart of preprocessing of imbalanced samples based on VAE
遞歸圖是研究系統(tǒng)非線性動力學特征的有效方法,可將一維時間序列編碼為二維圖像,揭示時間序列的混沌性、平穩(wěn)性和固有的相似性,實現(xiàn)特征的增強[19-20]。本文利用遞歸圖對負荷曲線的特征進行編碼,挖掘負荷曲線的隱含特征。對于給定的負荷曲線xi,使用遞歸圖對其進行相空間重構(gòu),即
式中:τ為延遲時間;m為嵌入維度;Xi為xi在相空間映射后的向量。
遞歸圖可表示為
式中,Eij為向量Xi和Xj之間的歐氏距離。
選取合適的的閾值ε,其遞歸矩陣Rij可表示為
式中,θ(·)為Heaviside函數(shù),可表示為
當閾值ε的選取不恰當時,遞歸圖會損失大量的特征信息[21],因此,本文將日負荷曲線轉(zhuǎn)換為相應的無閾值遞歸圖。
2D CNN主要由卷積層、池化層、扁平層和全連接層組成。卷積層提取數(shù)據(jù)中的潛藏的特征;池化層對特征進行壓縮;經(jīng)過多個卷積池化后,扁平層將多維的輸入一維化;全連接層對獲取的特征進行分類處理,得到最終輸出結(jié)果。這種網(wǎng)絡結(jié)構(gòu)減少了權重參數(shù)數(shù)量[22],提高了輸出結(jié)果的精度。2D CNN結(jié)構(gòu)如圖3所示。
圖3 2D CNN 結(jié)構(gòu)Fig.3 Structure of convolutional neural network
本文提出的不平衡負荷類型辨識模型如圖4所示。由圖4 可知,首先,將輸入的負荷曲線使用最大、最小值法歸一化至0~1,從而提升神經(jīng)網(wǎng)絡的訓練速度;其次,判斷用電數(shù)據(jù)是否存在類別不平衡問題,若存在類別不平衡問題則使用VAE將小類別的負荷曲線數(shù)量擴充至與大類別樣本數(shù)量相同;然后,使用遞歸圖算法將一維負荷曲線編碼為二維圖像;最后,為圖像分類。對于經(jīng)過編碼后的圖像,將接受到的圖像劃分為訓練集和測試集,進行有監(jiān)督分類;使用卷積層提取特征,池化層對特征進行壓縮,扁平化層將多維的輸入一維化,分類層通過計算模型的輸出結(jié)果和真實值之間的交叉熵損失來判斷網(wǎng)絡是否收斂;最后使用該模型求取測試集上的分類結(jié)果。
圖4 不平衡負荷類型辨識模型Fig.4 Identification model of imbalanced load types
選取愛爾蘭可持續(xù)能源管理局SEAI(sustainable energy authority of ireland)發(fā)布的愛爾蘭智能電表[23]實際量測數(shù)據(jù)中的7類典型負荷數(shù)據(jù)進行實驗,日負荷曲線每30 min 采集一次,即每條負荷曲線由48個功率點組成。第3類和第5類為小樣本,個數(shù)分別為50、25,其余5 類個數(shù)均為100。7 類典型負荷曲線如圖5 所示。為了驗證本文方法的效果,在類別不平衡實驗中,首先,對比GAN 擴充曲線和VAE擴充曲線的質(zhì)量,并將上述擴充后的負荷曲線與未處理的負荷曲線使用RP-2D CNN 求取在7 類數(shù)據(jù)上的召回率。然后,根據(jù)序列輸入與圖像輸入,分別對比極端梯度提升XGBOOST(extreme gradient boosting)、SVM、一維卷積神經(jīng)網(wǎng)絡1D CNN(one-dimensional convolutional neural network)和本文所提的RP-2DCNN。實驗相關參數(shù)設置如下:遞歸圖像空間維度為3,時間延遲為3,即將1×48 維度的負荷曲線轉(zhuǎn)為42×42 維度的圖像;2D CNN 卷積核個數(shù)為3,濾波器個數(shù)為3,池化層尺寸為2,步長為1,填充方式為“same”,激活函數(shù)均為“relu”,訓練樣本與測試樣本比例為1.5∶1;XGBOOST 與SVM 的參數(shù)使用網(wǎng)格搜索法選取參數(shù);而1D CNN的參數(shù)與2D CNN參數(shù)相同。
圖5 7 類典型負荷曲線Fig.5 Seven types of typical load curve
4.1.1 不平衡數(shù)據(jù)生成
首先,對第3 類、第5 類數(shù)據(jù)分別使用VAE、GAN擴充,通過比較生成曲線與原始典型負荷曲線的質(zhì)心曲線,從而比較出生成曲線的質(zhì)量。生成的負荷曲線和累計概率分布如圖6、7所示。由圖6、7可以看出,GAN 生成的曲線有大幅度的波動性,尤其是第5 類數(shù)據(jù),其生成曲線震蕩明顯,這是由于GAN 在訓練過程不穩(wěn)定,波動劇烈,難以收斂;而VAE生成的曲線形狀非常接近與原始曲線,同時保持一定的波動性,這說明VAE 具有較強的泛化能力,產(chǎn)生的曲線比較符合實際場景。
圖6 第三類生成負荷曲線和累計概率分布Fig.6 Curve generated from the third type of load and cumulative probability distribution
圖7 第五類生成負荷曲線和累計概率分布Fig.7 Curve generated from the fifth type of load and cumulative probability distribution
除直接觀察負荷曲線的形狀以外,還可以進一步從累積分布函數(shù)上對VAE 的有效性進行驗證。由圖6、7中對應的累計概率分布圖可以看出,GAN生成的曲線與原始曲線的累計概率分布函數(shù)偏差較大,尤其是第5類數(shù)據(jù),幾乎沒有重疊部分,生成的曲線質(zhì)量很差;而VAE擴充的數(shù)據(jù)與原始典型曲線在累積概率分布上非常接近,即使是波動性強的第5類負荷曲線,其擴充的曲線仍與原始曲線的累計概率分布曲線保持接近,說明VAE在學習負荷樣本形狀的同時,還能兼顧數(shù)據(jù)的分布特點,生成負荷曲線的性能較好。
4.1.2 召回率比較
將GAN過采樣和VAE過采樣的負荷數(shù)據(jù)使用RP-2D CNN 算法,并與不處理的負荷數(shù)據(jù)進行對比,實驗結(jié)果選取5 次實驗的平均值如圖8 所示。由圖8可知,對GAN過采樣處理后的負荷數(shù)據(jù)進行分類,盡管在第5類的召回率相比于不處理的負荷數(shù)據(jù)略有提升,但其提升不大,且在第3 類的召回率上出現(xiàn)下降,其原因在于GAN 生成的曲線質(zhì)量差,導致第3 類出現(xiàn)誤分類;而VAE 過采樣處理后的數(shù)據(jù)在第3類和第5類的召回率相比于不處理的負荷數(shù)據(jù)則有明顯的提升,并且其余負荷類別的召回率并沒有下降,表明經(jīng)過VAE過采樣能有效改善類別不平衡問題,提高少數(shù)類的召回率,同時不影響其余類別的分類準確度。
圖8 類別不平衡實驗結(jié)果Fig.8 Result of class imbalance experiment
對使用VAE類別平衡后的數(shù)據(jù),再使用遞歸算法將其圖像化,為了對比序列輸入與圖像輸入的區(qū)別,本文分別使用XGBOOST,SVM,1D CNN 與RP-2D CNN 進行對比。圖9 為典型負荷曲線的質(zhì)心曲線所對應的無閾值遞歸圖。由圖9可以看出,負荷曲線使用遞歸圖算法后具有明顯不同的圖像特征表達,表1 為不同方法的分類準確率。由表1 可以看出,對負荷曲線進行遞歸圖編碼后,使用2D CNN的分類準確率高于使用序列輸入的1D CNN,XGBOOST,以及SVM 分類方法,其原因在于負荷曲線經(jīng)過遞歸圖處理后,能有效的增強特征表達,再利用2D CNN 強大的特征提取能力,從而提高模型的分類準確率。
表1 測試集上的分類準確率Tab.1 Classification accuracy on test dataset
圖9 典型負荷曲線的質(zhì)心曲線對應的無閾值遞歸圖Fig.9 Non-threshold recurrence plot corresponding to center-of-mass curve of typical load curve
為了驗證本文方法的泛化能力,選取keel公開數(shù)據(jù)集[24]進行分析,數(shù)據(jù)集相關屬性如表2 所示。由表2 可以看出,在3 類數(shù)據(jù)集(天秤座運動數(shù)據(jù)集,紋理數(shù)據(jù)集,保險公司基準數(shù)據(jù)集)上,RP-2D CNN的分類準確度仍高于其余3種分類方法,說明經(jīng)過遞歸圖算法后,能增加該序列的特征表達;使用2D CNN 能提取到更豐富的特征,表明該方法具有一定的適用性。
表2 三類數(shù)據(jù)集屬性及不同方法的分類準確率Tab.2 Attributes of three types of dataset and the classification accuracy of different methods
本文針對負荷數(shù)據(jù)類別不平衡及特征提取不足的問題,提出一種基于VAE 預處理和RP-2D CNN的不平衡負荷類型辨識方法。通過算例分析,得到如下結(jié)論。
(1)本文所提的VAE不平衡樣本預處理方法能有效地生成與原始負荷曲線具有相似的形狀和分布特征的曲線,改善了負荷類別不平衡問題,在不影響其余類別分類準確度的情況下,提高了少數(shù)類的召回率。
(2)本文所提的RP-2D CNN 負荷類型辨識方法,能將負荷曲線編碼為二維圖像,其編碼后的圖像信息更豐富,實現(xiàn)特征增強;實驗結(jié)果表明,相比于序列輸入分類器,使用2D CNN提取圖像特征,分類準確率更高。