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