黃朝凱,吳丹妍,鄭惠哲,黃小奇
(廣東電網(wǎng)有限責(zé)任公司汕頭供電局,廣東 汕頭 515041)
隨著網(wǎng)絡(luò)、大數(shù)據(jù)、物聯(lián)網(wǎng)、通信技術(shù)[1-3]的不斷發(fā)展,智能電網(wǎng)可基于智能電表收集大量用電數(shù)據(jù)。因此,對(duì)這些海量數(shù)據(jù)進(jìn)行分析,可推動(dòng)電力系統(tǒng)服務(wù)質(zhì)量的提升。然而,在電力供應(yīng)過程中存在有意或無(wú)意攻擊引起的異常用電行為,如非技術(shù)損失[4-5]的竊電行為。這種違法行為不僅嚴(yán)重?cái)_亂了電力的正常使用,而且給電力系統(tǒng)造成了巨大的經(jīng)濟(jì)損失。同時(shí),未經(jīng)授權(quán)修改線路或儀表容易導(dǎo)致停電和火災(zāi)等事故,并對(duì)相關(guān)電力系統(tǒng)的安全構(gòu)成嚴(yán)重威脅。
為此,大量學(xué)者對(duì)電力系統(tǒng)竊電檢測(cè)方法進(jìn)行研究,并取得了豐碩成果。文獻(xiàn)[6]提出了基于遺傳算法-反向傳播(genetic algorithm- back propagation,GA-BP)神經(jīng)網(wǎng)絡(luò)的竊漏電用戶識(shí)別方法,可實(shí)現(xiàn)電力系統(tǒng)實(shí)時(shí)運(yùn)行數(shù)據(jù)記錄和竊漏電用戶識(shí)別。文獻(xiàn)[7]提出了1種基于隨機(jī)森林(random forest,RF)的電網(wǎng)用戶竊電檢測(cè)方法。文獻(xiàn)[8]提出了基于時(shí)延細(xì)胞神經(jīng)網(wǎng)絡(luò)提取特征和支持向量機(jī)(support vector machine,SVM)的竊電檢測(cè)方法。文獻(xiàn)[9]基于差分整合移動(dòng)平均自回歸模型和遞歸貝葉斯(recursive Bayes,RB),構(gòu)建了1種針對(duì)配電網(wǎng)低壓竊電行為的識(shí)別方法。這些傳統(tǒng)的數(shù)據(jù)挖掘方法易于實(shí)現(xiàn),適用于小樣本的竊電檢測(cè)。
然而,這些方法特征提取能力低且檢測(cè)精度有限。相對(duì)而言,深度神經(jīng)網(wǎng)絡(luò)不僅具有強(qiáng)大的特征提取能力,而且可以映射復(fù)雜的非線性關(guān)系。這使其相比傳統(tǒng)方法具有更高的檢測(cè)精度[10-11]。此外,竊電檢測(cè)中另一個(gè)嚴(yán)重的問題是數(shù)據(jù)集中沒有足夠數(shù)量的竊電功率曲線。該問題為深度學(xué)習(xí)、SVM等監(jiān)督學(xué)習(xí)方法帶來(lái)了挑戰(zhàn)。因此,有必要使用有限的竊電功率曲線進(jìn)行數(shù)據(jù)增強(qiáng),從而提高模型檢測(cè)精度。
為改善上述問題,本文提出了1種基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的電力數(shù)據(jù)分析模型。首先,為了提高竊電檢測(cè)的準(zhǔn)確性,本文提出了1種基于條件變分自動(dòng)編碼器的竊電曲線數(shù)據(jù)增強(qiáng)方法。其次,本文設(shè)計(jì)了基于CNN的竊電檢測(cè)分類模型。
一般情況下,變分自動(dòng)編碼器主要根據(jù)歷史數(shù)據(jù)X={x1,x2,…,xn}學(xué)習(xí)竊電功率曲線數(shù)據(jù)分布pθ(X)。竊電功率曲線數(shù)據(jù)分布可以分解為:
(1)
式中:n為歷史數(shù)據(jù)個(gè)數(shù)。
為了簡(jiǎn)化計(jì)算過程,可對(duì)式(1)應(yīng)用對(duì)數(shù)函數(shù),獲得如式(2)所示結(jié)果。
(2)
本文令功率曲線的每個(gè)數(shù)據(jù)點(diǎn)包含潛在變量z,則任意數(shù)據(jù)點(diǎn)x可以重構(gòu)如下。
(3)
式中:pθ(z)為先驗(yàn)概率;pθ(x|z)為后驗(yàn)概率。
竊電功率曲線的生成過程通常包含以下步驟。
首先,根據(jù)pθ(z)獲得潛在變量z;然后,根據(jù)pθ(x|z)生成竊電功率曲線pθ(x)。
然而,一般情況下pθ(z)以及pθ(x|z)無(wú)法獲取。根據(jù)貝葉斯式,有:
(4)
由于后驗(yàn)概率通常非常復(fù)雜,因此可基于1個(gè)簡(jiǎn)單的分布和參數(shù)φ近似估計(jì)后驗(yàn)概率。
為有效獲取竊電功率曲線的分布,根據(jù)式(2),可先對(duì)log∏pθ(xi)進(jìn)行估計(jì)?;贙ullback-Leibler散度與變分下界定義,有:
(5)
Eqφ(z|x)[-logqφ(z|x)+logpθ(x|z)]
(6)
本文將Kullback-Leibler散度用作對(duì)數(shù)似然的下界,則:
logpθ(x)≥L(θ,φ;x)
(7)
在這種情況下,L(θ,φ;x)可為:
Eqφ(z|x)[logpθ(x|z)]
(8)
基于上述條件,模型可以參數(shù)化為:
(9)
式中:f和g分別為具有1組參數(shù)的深度神經(jīng)網(wǎng)絡(luò)。
Eqφ(z|x){logpθ[(x|y)|z]}
(10)
條件變分自動(dòng)編碼器的主要優(yōu)點(diǎn)是不需要假設(shè)竊電功率曲線的概率分布,因此只需要少量樣本即可訓(xùn)練模型,且可以生成與原始竊電功率曲線相似的樣本。生成竊電功率曲線的執(zhí)行流程如圖1所示。
圖1 生成竊電功率曲線的執(zhí)行流程Fig.1 Execution process for generating power theft curves
根據(jù)圖1,基于條件變分自動(dòng)編碼器的數(shù)據(jù)增強(qiáng)過程描述如下。
①在將數(shù)據(jù)輸入條件變分自動(dòng)編碼器前,必須對(duì)竊電曲線的數(shù)據(jù)進(jìn)行預(yù)處理,如歸一化操作等。否則,訓(xùn)練的收斂速度將較慢,并且訓(xùn)練模型的性能將較差。因此,在保留數(shù)據(jù)的統(tǒng)計(jì)特征的同時(shí),本文基于最小-最大重縮放變換將所有特征轉(zhuǎn)換為固定范圍[m,M]。對(duì)于給定的時(shí)間序列{xi},數(shù)據(jù)重縮放過程可表示為:
(11)
(12)
式中:xmax為時(shí)間序列{xi}的最大值。
②使用深度CNN構(gòu)造編碼器,將輸入數(shù)據(jù)映射到低維潛在變量,計(jì)算編碼器輸出數(shù)據(jù)的均值和方差,用于生成相應(yīng)的高斯噪聲。所得高斯噪聲為解碼器的輸入數(shù)據(jù)。
③將高斯噪聲饋送到由深度轉(zhuǎn)置CNN組成的解碼器,從而生成新的竊電功率曲線。利用解碼器的輸出數(shù)據(jù)和實(shí)際數(shù)據(jù)計(jì)算損失函數(shù)。該損失函數(shù)用于通過反向傳播方法更新編碼器和解碼器的權(quán)重。
④在訓(xùn)練條件變分自動(dòng)編碼器后,將高斯噪聲饋送到解碼器,以生成指定攻擊模型下的竊電功率曲線。將生成的竊電功率曲線和來(lái)自訓(xùn)練集的原始樣本進(jìn)行融合,以形成增強(qiáng)數(shù)據(jù)集,并分別代入分類器進(jìn)行訓(xùn)練,以實(shí)現(xiàn)竊電檢測(cè)。
竊電功率曲線可分為4類,分別為一般竊電、拒絕攻擊竊電、注入攻擊竊電和交換攻擊竊電。
一般竊電功率曲線低于正常功率,具體可表示為:
(13)
改裝路由表、丟棄數(shù)據(jù)包和斷開連接電表等攻擊會(huì)導(dǎo)致拒絕服務(wù)。在這種情況下,電力表將停止報(bào)告消費(fèi)者信息,即電力表數(shù)值為0。上述攻擊下竊電功率曲線描述為:
(14)
虛假信息攻擊通過信息注入、特權(quán)訪問、錯(cuò)誤配置等手段生成虛假消費(fèi)記錄。注入攻擊模型下,竊電功率曲線描述為:
(15)
此外,交換低電價(jià)時(shí)段和高電價(jià)時(shí)段之間的消費(fèi)記錄,也構(gòu)成竊電行為。其竊電功率曲線描述為:
(16)
作為深度學(xué)習(xí)技術(shù)的代表算法之一,CNN以其強(qiáng)大的特征提取能力而廣泛應(yīng)用于圖像分類、故障診斷和時(shí)間序列預(yù)測(cè)等領(lǐng)域。與傳統(tǒng)分類方法相比,CNN不僅可以映射更復(fù)雜的非線性關(guān)系,而且具有良好的泛化能力。因此,本文選擇CNN作為竊電檢測(cè)的分類器。
2.2.1 模型結(jié)構(gòu)
CNN由卷積層、池化層、展平層、全連接層等組成。具體而言,卷積層和池化層負(fù)責(zé)提取竊電功率曲線的特征。其數(shù)學(xué)式如下。
(17)
式中:xi為第i個(gè)卷積層的輸入數(shù)據(jù);yi為第i個(gè)卷積層的輸出數(shù)據(jù);y′為第i個(gè)最大池層的輸出數(shù)據(jù);fi為激活函數(shù);bi和wi分別為第i個(gè)卷積層的偏移向量和權(quán)重。
為了緩解過度擬合,本文引入Dropout層以使某些神經(jīng)元以一定的概率失去效能。同時(shí),全連接層的數(shù)學(xué)式為:
(18)
考慮用電功率曲線的特點(diǎn),本文提出的CNN結(jié)構(gòu)如圖2所示。
圖2 CNN結(jié)構(gòu)示意圖Fig.2 Schematic diagram of CNN structure
圖2中方塊表示特征的維度,且每個(gè)特征大小已在方塊上方說明。首先,為了便于訓(xùn)練,本文使用1×49維用電功率曲線將數(shù)據(jù)預(yù)處理為三維向量,并將其作為卷積層的輸入數(shù)據(jù)。然后,本文使用2個(gè)卷積層和最大池層來(lái)提取功率曲線的關(guān)鍵特征。此外,2個(gè)卷積層中的卷積核數(shù)量分別為16和32。池化層后面接1個(gè)Dropout層,并令失效概率為0.25。最后,模型包括2個(gè)完全連接層,分別有15個(gè)和6個(gè)神經(jīng)元。同時(shí),模型中除最后一層使用softmax函數(shù)作為激活函數(shù),其余層均使用ReLU函數(shù)作為激活函數(shù)。損失函數(shù)是分類交叉熵。優(yōu)化器是Adadelta算法。
2.2.2 損失函數(shù)
一般情況下,網(wǎng)絡(luò)訓(xùn)練時(shí)采用測(cè)量預(yù)測(cè)輸出的絕對(duì)誤差作為損失函數(shù)。具體描述如式(19)所示。
(19)
(20)
(21)
式中:α為調(diào)整權(quán)重的常數(shù)。
(22)
此外,對(duì)于第i個(gè)數(shù)據(jù)鏈,時(shí)間步t處的用電功率曲線可計(jì)算如下。
(23)
(24)
(25)
因此,縮放前的絕對(duì)誤差計(jì)算如下。
(26)
在原始尺度上,不同樣本的絕對(duì)誤差具有不同的重要性。考慮到誤差率為評(píng)估結(jié)果更常用的測(cè)量方法,本文進(jìn)一步修正每個(gè)樣本的損失。具體計(jì)算式如式(27)所示。
(27)
為驗(yàn)證所提模型的有效性,本節(jié)基于中國(guó)某電網(wǎng)公司智能電表數(shù)據(jù)集進(jìn)行模擬和分析。該數(shù)據(jù)集統(tǒng)計(jì)了中國(guó)某市2018年3月至2020年12月住宅及部分商業(yè)用戶用電情況。功率曲線的采樣周期設(shè)置為30 min。本文根據(jù)竊電曲線分類模型,隨機(jī)選擇一些樣本生成竊電功率曲線,同時(shí)結(jié)合真實(shí)樣本構(gòu)成混合電力數(shù)據(jù)樣本集。
上述數(shù)據(jù)集中竊電功率曲線樣本均衡性較差,部分樣本數(shù)量較低。為此,本文根據(jù)所提基于條件變分自動(dòng)編碼器的數(shù)據(jù)增強(qiáng)模型對(duì)竊電數(shù)據(jù)進(jìn)行增強(qiáng),從而進(jìn)一步提高樣本均衡性、加快模型訓(xùn)練速度及訓(xùn)練性能。數(shù)據(jù)增強(qiáng)后樣本集數(shù)據(jù)統(tǒng)計(jì)情況如表1所示。
表1 數(shù)據(jù)增強(qiáng)后樣本集數(shù)據(jù)統(tǒng)計(jì)情況Tab.1 Data statistics of sample set after data enhancement
為保證相同試驗(yàn)條件,所有試驗(yàn)均運(yùn)行在相同的環(huán)境。仿真環(huán)境具體如下:軟件環(huán)境為由pycharm搭建算法框架,并由Python基于keras 2.2.4和tensorflow 1.12.0搭建CNN基礎(chǔ)網(wǎng)絡(luò);硬件環(huán)境為酷睿i7 CPU、內(nèi)存為128 GB ARM的聯(lián)想服務(wù)器;操作系統(tǒng)為Ubuntu 18.04 64位,顯卡為 NVIDIA RTX2080Ti 11G。
本文采用隨機(jī)梯度下降(stochastic gradient descent,SGD)優(yōu)化器訓(xùn)練模型。試驗(yàn)時(shí),部分參數(shù)定義如下:批量大小設(shè)置為16;初始學(xué)習(xí)率設(shè)置為10-2;學(xué)習(xí)率衰減率設(shè)置為10-1;學(xué)習(xí)率衰減周期設(shè)置為10;最大迭代次數(shù)設(shè)置為150;每次迭代訓(xùn)練次數(shù)設(shè)置為100次。為消除試驗(yàn)過程因隨機(jī)誤差造成的影響,本文對(duì)不同模型分別執(zhí)行30組試驗(yàn),并取平均值作為測(cè)試結(jié)果。
3.3.1 基礎(chǔ)網(wǎng)絡(luò)性能對(duì)比分析
首先,本節(jié)對(duì)比了所提模型與RF、SVM、RB、人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)等模型的性能,從而驗(yàn)證所提模型的優(yōu)勢(shì)。試驗(yàn)時(shí)選取均方根誤差(root mean square error,RMSE)指標(biāo)來(lái)衡量模型性能。RMSE計(jì)算如式(28)所示。
(28)
式中:Pi為第i個(gè)樣本的真實(shí)值;Oi為第i個(gè)樣本的估計(jì)值。
RMSE較小表示模型估計(jì)能力較高,較大表示模型估計(jì)能力較低。不同模型比較結(jié)果如表2所示。
表2 不同模型比較結(jié)果Tab.2 Comparison results of different models
由表2可知,RF和SVM模型在測(cè)試數(shù)據(jù)上產(chǎn)生的RMSE通常比在訓(xùn)練數(shù)據(jù)上產(chǎn)生的RMSE高得多。這表明這些模型存在過度擬合問題。同時(shí),RB和ANN等模型較RF和SVM模型性能有所提升,但RMSE仍有提升空間。所提模型性能優(yōu)勢(shì)明顯,訓(xùn)練集中RMSE為3.69%,測(cè)試集中為4.80%。所提模型較RB和ANN在測(cè)試集中的RMSE分別下降5.26%和4.09%。
3.3.2 數(shù)據(jù)增強(qiáng)策略性能分析
為了驗(yàn)證所提模型生成竊電功率曲線的有效性,本節(jié)對(duì)比了基于隨機(jī)過采樣(random over-sampling,ROS)、人工少數(shù)類過采樣技術(shù)(synthetic minority over-sampling technique,SMOTE)和生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)等數(shù)據(jù)增強(qiáng)算法在所提基礎(chǔ)CNN模型下的性能。對(duì)比指標(biāo)分別選取準(zhǔn)確率、F1分?jǐn)?shù)和G均值。其中,指標(biāo)G均值可有效評(píng)估不平衡樣本性能。不同數(shù)據(jù)增強(qiáng)方法性能對(duì)比如表3所示。
表3 不同數(shù)據(jù)增強(qiáng)方法性能對(duì)比Tab.3 Performance comparison of different data enhancement methods
由表3可知,通過不同方法增加數(shù)據(jù)后,基礎(chǔ)CNN的檢測(cè)性能得到了顯著改善。具體而言,在通過ROS進(jìn)行數(shù)據(jù)增強(qiáng)后,與原始數(shù)據(jù)集相比,CNN的準(zhǔn)確率、F1分?jǐn)?shù)和G均值分別提高了2.00%、1.64%和1.69%。經(jīng)過SOMTE數(shù)據(jù)增強(qiáng)后,與原始數(shù)據(jù)集相比,CNN的準(zhǔn)確率、F1分?jǐn)?shù)和G均值分別提高了3.50%、2.90%和3.33%。經(jīng)過GAN數(shù)據(jù)增強(qiáng)后,與原始數(shù)據(jù)集相比,CNN的準(zhǔn)確率、F1分?jǐn)?shù)和G均值分別提高了4.46%、4.46%和4.68%。經(jīng)過無(wú)數(shù)據(jù)增強(qiáng)后,與原始數(shù)據(jù)集相比,CNN的準(zhǔn)確率、F1分?jǐn)?shù)和G均值分別提高了7.00%、6.65%和6.01%。因此,與現(xiàn)有的數(shù)據(jù)增強(qiáng)方法相比,所提數(shù)據(jù)增強(qiáng)方法可以根據(jù)竊電功率曲線的實(shí)際形狀和分布特征擴(kuò)展訓(xùn)練集,并且對(duì)CNN性能改善效果更優(yōu)。
本文對(duì)電力網(wǎng)電力數(shù)據(jù)進(jìn)行了研究與分析,建立了1種基于CNN的電力數(shù)據(jù)分析模型。首先,本文基于條件變分自動(dòng)編碼器的數(shù)據(jù)增強(qiáng),提高了樣本的多樣性和均衡性,提升了模型的準(zhǔn)確性和訓(xùn)練效率。其次,本文提出了1種基于CNN的竊電檢測(cè)模型,從而實(shí)現(xiàn)了用電數(shù)據(jù)的準(zhǔn)確分類。該模型為電力數(shù)據(jù)分析及安全故障隱患的發(fā)現(xiàn)提供了借鑒。未來(lái)可對(duì)電力數(shù)據(jù)安全管理領(lǐng)域進(jìn)行研究,如引入?yún)^(qū)塊鏈、云計(jì)算等技術(shù)提高混合配電網(wǎng)數(shù)據(jù)交互可靠性及效率,以進(jìn)一步完善智能化電力故障診斷及定位方案。