李晉國, 丁朋鵬, 王亮亮, 周紹景, 呂歡歡
(上海電力大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 上海 200090)
電能的損耗分為技術(shù)損失和非技術(shù)損失。在電力輸送給用戶的過程中必須經(jīng)過輸電、變電和配電設(shè)備,這些器件中存在電阻,少量的電能會以熱能的形式耗散,屬于技術(shù)損失。非技術(shù)損失是指用戶異常用電行為,如竊電、儀表故障、測量誤差等原因造成的未經(jīng)智能計(jì)量裝置計(jì)算的電量之和,非技術(shù)損失對配電網(wǎng)的優(yōu)化運(yùn)行和管理、提高成本和降低電能質(zhì)量具有很大的影響[1]。電力非技術(shù)損失定義為消費(fèi)者或其他方惡意操縱篡改或者無意損壞測量裝置而導(dǎo)致的未計(jì)算電量的總和。
用戶異常用電行為是導(dǎo)致電力非技術(shù)損失的主要部分。一種常見的異常用電行為是繞過儀表,將用戶電源直接連接到低壓電網(wǎng)上,如果連接不正確可能非常危險;另一種是篡改安裝在室內(nèi)的電表位置,縮短電表末端連接,確保流入屋內(nèi)的電流不通過電表,使電表記錄的使用量非常低。這種情況下的電力欺詐消費(fèi)甚至達(dá)到了預(yù)計(jì)消耗量的50%。全世界每年由于用戶異常用電行為而損失的成本超過了250億美元[2]。因此,有效的異常用電行為檢測方法對于保護(hù)電力至關(guān)重要。本文的研究目的是在已知用戶是否存在竊電的情況下,對大量用戶歷史用電數(shù)據(jù)進(jìn)行分析。通過提取特征指標(biāo)建立異常用電行為檢測模型,由此識別出存在異常用電行為的用戶。供電公司只需重點(diǎn)稽查被標(biāo)示為異常用電的用戶,就可以提高稽查準(zhǔn)確率,節(jié)省時間和人力,減少并挽回因竊電導(dǎo)致的經(jīng)濟(jì)損失。
近年來,智能電網(wǎng)的出現(xiàn)使得電網(wǎng)運(yùn)行控制更加靈活經(jīng)濟(jì)。但目前存在的一些異常用電行為,擾亂了電網(wǎng)的正常調(diào)度,甚至引發(fā)安全事故,已引起學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。各種異常用電行為的檢測技術(shù)層出不窮[3]。已有的研究可以分為傳統(tǒng)方案和智能方案。
傳統(tǒng)方案大多是基于硬件設(shè)備和測量狀態(tài)進(jìn)行檢測的?;谟布慕鉀Q方案使用特定的計(jì)量設(shè)備和基礎(chǔ)設(shè)施,例如具有防竊電功能的電表,以便輕松檢測到是否存在異常用電行為,但存在成本高、惡劣的天氣容易損傷硬件設(shè)備且維護(hù)設(shè)備和更換設(shè)備電池困難等[4]?;跔顟B(tài)的檢測方法利用電力系統(tǒng)中的監(jiān)視狀態(tài)來識別電力系統(tǒng)中的欺詐[5]。例如,文獻(xiàn)[6]提出了一種基于狀態(tài)估計(jì)的方法,用于配電變壓器負(fù)載估計(jì),以檢測是否發(fā)生故障和篡改并作為提供異常用電行為的定量證據(jù)。文獻(xiàn)[7]提出了一種加權(quán)輪詢綜合分布狀態(tài)估計(jì),用于中壓和低壓網(wǎng)絡(luò)中的異常用電和能源盜竊檢測。然而,基于狀態(tài)的檢測方法需要部署網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和額外的儀表,并且大多數(shù)基于狀態(tài)的方法依賴于系統(tǒng)網(wǎng)絡(luò)拓?fù)涞膶?shí)時獲取和附加的物理測量,有時是無法實(shí)現(xiàn)的。
人工智能的方案主要是利用分類、聚類等機(jī)器學(xué)習(xí)技術(shù)分析用戶的用電行為特征來發(fā)現(xiàn)異常用電用戶。機(jī)器學(xué)習(xí)技術(shù)主要可以分為監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)。無監(jiān)督學(xué)習(xí)應(yīng)用于無標(biāo)簽的數(shù)據(jù)集。文獻(xiàn)[8]測試了不同的無監(jiān)督學(xué)習(xí)方法用于異常用電行為檢測,但是無法檢測到形狀正常的載荷剖面,導(dǎo)致檢測精度較低。在有監(jiān)督學(xué)習(xí)方法中,支持向量機(jī)(Support Vector Machine,SVM)是比較常用的檢測方法[9]。樸素貝葉斯和決策樹分類方法也應(yīng)用于異常用電行為檢測中[10],然而它們只是一個簡單的概率分類器,在處理復(fù)雜數(shù)據(jù)時具有一定的局限性。將人工神經(jīng)網(wǎng)絡(luò)應(yīng)用于異常用電行為檢測,可以很好地提取大量數(shù)據(jù)中的特征,取得較好的檢測效果[11]。在神經(jīng)網(wǎng)絡(luò)反向傳播(Back Propagation,BP)中采用的是梯度下降優(yōu)化算法,當(dāng)神經(jīng)元數(shù)量增多時,需要優(yōu)化的目標(biāo)誤差函數(shù)變得更為復(fù)雜,導(dǎo)致誤差收斂時間變長,因此亟需改善神經(jīng)網(wǎng)絡(luò)的參數(shù)優(yōu)化過程,提高訓(xùn)練速度。基于上述問題,本文提出了基于改進(jìn)的非線性權(quán)重調(diào)整粒子群優(yōu)化算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(Nonlinear Weight Particle Swarm Optimization Algorithm BP,NWPSO-BP)的用電異常行為檢測算法。PSO是一種求最優(yōu)化問題的計(jì)算方法,能夠模擬群體的行為以迭代方式優(yōu)化數(shù)值問題,將改進(jìn)的NWPSO算法應(yīng)用于BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,相比梯度下降算法具有更快的收斂速度并且避免了易陷入局部最優(yōu)解的缺點(diǎn)[12]。算法流程如圖1所示。
圖1 算法流程
其主要分為兩個部分。
(1) 建立用于模型訓(xùn)練的異常用電行為檢測評價指標(biāo)體系,對原始數(shù)據(jù)進(jìn)行預(yù)處理,對缺失值進(jìn)行插值處理,對量綱不同的數(shù)值進(jìn)行歸一化和標(biāo)準(zhǔn)化處理。從經(jīng)過預(yù)處理的數(shù)據(jù)中進(jìn)行特征工程,即使用從原始數(shù)據(jù)中提取的異常用電行為特征。利用特征選擇方法得到最佳特征來建立異常用電行為評價指標(biāo)體系。
(2) 提出基于NWPSO-BP神經(jīng)網(wǎng)絡(luò)算法的異常用電行為檢測算法。采用BP神經(jīng)網(wǎng)絡(luò)作為基本模型結(jié)構(gòu),將異常用電行為檢測評價指標(biāo)作為模型的輸入。其中包含了消費(fèi)同比下降指標(biāo)、功率損耗率指標(biāo)和計(jì)量監(jiān)測報警次數(shù)指標(biāo)。將改進(jìn)的NWPSO算法應(yīng)用于BP神經(jīng)網(wǎng)絡(luò)權(quán)重參數(shù)優(yōu)化,最后在輸出層輸出異常用電行為檢測結(jié)果。
基于機(jī)器學(xué)習(xí)的異常用電行為檢測方法通常不僅使用原始用電數(shù)據(jù),而且更多的是進(jìn)行特征工程,根據(jù)特征列表和所用到的檢測算法,可以使用一些特征選擇方法定義一組最佳特征來訓(xùn)練檢測算法[12]。本文使用的異常用電行為評價指標(biāo)體系如表1所示。
表1 異常用電行為檢測評價指標(biāo)體系
消費(fèi)同比下降指標(biāo)是指根據(jù)消費(fèi)者的歷史用電負(fù)荷曲線分析得出消費(fèi)者大致的用電規(guī)律。圖2為一正常用戶與一異常用戶的一個月用電趨勢對比。
圖2 正常用戶與異常用電用戶負(fù)荷直線擬合斜率對比
對正常用電用戶和存在異常用電行為的用戶的用電數(shù)據(jù)進(jìn)行周期性分析可以發(fā)現(xiàn),正常用戶的用電量一直較為平穩(wěn)且呈現(xiàn)明顯的周期性,而異常用電用戶的用電量在某個時刻出現(xiàn)很大幅度的下降,然后在一定時間開始趨于很低的平緩趨勢。因此,只要對出現(xiàn)下降趨勢的前后幾天進(jìn)行統(tǒng)計(jì),考慮這前后幾天的總體趨勢,將這些用電量數(shù)據(jù)做一個直線擬合,得到的直線斜率可以衡量下降趨勢,如果直線的斜率隨時間推移呈不斷下降的趨勢,那么此用戶存在異常用電行為的可能性就越大。
圖3表示的是隨時間推移的負(fù)荷直線擬合斜率,即消費(fèi)同比下降趨勢。由圖3可以很明顯看出此直線的斜率正逐步下降。
圖3 正常用戶與異常用電用戶負(fù)荷直線擬合斜率對比
以此方法將第i天的前后a天作為分析對象,計(jì)算總共2a+1天的消費(fèi)同比下降趨勢情況:首先分別計(jì)算這2a+1天每天的消費(fèi)趨勢情況,其中第i天的消費(fèi)趨勢都是要考慮這前后分別a天的用電量直線斜率,即
(1)
(2)
(3)
式中:ki——第i天的消費(fèi)趨勢;
fb——第b天的用電量。
如果消費(fèi)趨勢一直下降,就判定此用戶有一定的異常用電行為嫌疑,計(jì)算這2a+1天內(nèi)每天比前一天的遞減消費(fèi)趨勢,即
(4)
式中:N(i)——第i天是否為遞減消費(fèi)趨勢。
將2a+1天內(nèi)消費(fèi)下降趨勢為遞減的天數(shù)求和,可以得到消費(fèi)同比下降指標(biāo)T,即
(5)
(6)
(7)
用戶的異常用電行為還可能使終端主動上報相應(yīng)的告警信息,如計(jì)量柜、電能表或端子蓋的非授權(quán)開啟,檢測電壓回路的失壓欠壓、失流斷流相序,電流反極性,瞬時量曲線突變等告警信息,因此可以將計(jì)量監(jiān)測的報警次數(shù)作為評價異常用電行為檢測的一項(xiàng)指標(biāo)。
BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖4所示。
圖4 BP神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
BP神經(jīng)網(wǎng)絡(luò)是一個大型的廣泛網(wǎng)絡(luò),其中連接了許多處理單元(神經(jīng)元)。它是對人腦的抽象、簡化和仿真,反映了人腦的基本特征。通常,神經(jīng)網(wǎng)絡(luò)是多層的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),包括輸入層、隱藏層和輸出層。BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是權(quán)值和偏差的不斷調(diào)整更新,使得輸出值與目標(biāo)值趨于一致的過程。
將上述建立的異常用電行為檢測評價指標(biāo)作為訓(xùn)練模型的輸入,經(jīng)過BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,最后可以得出檢測結(jié)果。
粒子群優(yōu)化算法(PSO)是一種群體智能指導(dǎo)優(yōu)化搜索算法,具有較強(qiáng)的通用性[13]。PSO初始化為隨機(jī)粒子,通過迭代得到最優(yōu)解,在每一次迭代中,粒子通過個體最優(yōu)解和全局最優(yōu)解兩個極值來更新自己。
PSO的粒子位置迭代更新示意圖如圖5所示。
圖5 粒子位置更新示意
假設(shè)在一個D維的目標(biāo)搜索空間中,有m個粒子組成一個群體,其中第i個粒子的位置表示為向量xi=(xi1,xi2,xi3,…,xiD),其中i=1,2,3,…,m,粒子的速度也是一個D維的向量,表示為vi=(vi1,vi2,vi3,…,viD)。第i個粒子目前搜索到的最優(yōu)位置為pi=(pi1,pi2,pi3,…,piD),整個粒子群搜索到的最優(yōu)位置為p=(p1,p2,p3,…,pD),粒子的更新公式為
vid(t+1)=ωvid(t)+c1r1(pid-xid(t))+
c2r2(pd-xid(t))
(8)
xid(t+1)=xid(t)+vid(t+1)
(9)
式中:vid——第i個粒子的當(dāng)前速度,vid∈[-Vmax,Vmax],Vmax為最大限制速度,是非負(fù)數(shù);
i=1,2,3,…,m;d=1,2,3,…,D;
ω——慣性權(quán)重;
c1,c2——加速常數(shù),為非負(fù)常數(shù);
r1,r2——服從[0,1]上的均勻分布隨機(jī)數(shù);
xid(t)——第i個粒子的當(dāng)前位置;
pid——第i個粒子目前搜索到的最優(yōu)位置;
pd——整個粒子群搜索到的最優(yōu)位置。
BP神經(jīng)網(wǎng)絡(luò)是應(yīng)用最廣泛的一種神經(jīng)網(wǎng)絡(luò),具有很強(qiáng)的分類能力,既能解決單層感知器所不能解決的異或問題,又能實(shí)現(xiàn)任意連續(xù)函數(shù)的逼近問題。其網(wǎng)絡(luò)的學(xué)習(xí)過程包括網(wǎng)絡(luò)內(nèi)部的前向傳播計(jì)算和誤差的反向傳播計(jì)算,基于梯度下降法,使實(shí)際和期望輸出值之間的平方誤差之和最小。由于采用了梯度下降法,無法避免收斂速度慢、容易收斂到局部最小值的問題。另外,學(xué)習(xí)因子和慣性因子的選擇會影響B(tài)P神經(jīng)網(wǎng)絡(luò)的收斂性,而BP神經(jīng)網(wǎng)絡(luò)的收斂性通常取決于經(jīng)驗(yàn),因此BP神經(jīng)網(wǎng)絡(luò)的有效應(yīng)用受到限制。PSO具有收斂速度快、魯棒性高、全局搜索能力強(qiáng)等特點(diǎn),用它來優(yōu)化神經(jīng)網(wǎng)絡(luò)的連接權(quán)值,可以較好地克服BP神經(jīng)網(wǎng)絡(luò)存在的問題,不僅能發(fā)揮神經(jīng)網(wǎng)絡(luò)的泛化能力,而且能夠提高神經(jīng)網(wǎng)絡(luò)的收斂速度和學(xué)習(xí)能力。
經(jīng)典的粒子群優(yōu)化算法中慣性權(quán)重ω決定了粒子的飛行速度。當(dāng)ω較小時,局部尋優(yōu)能力提高,但易陷入局部最優(yōu),不利于搜尋全局區(qū)域;當(dāng)ω較大時,全局尋優(yōu)能力提高,但不利于局部尋優(yōu)以致無法收斂[14]。針對經(jīng)典粒子群算法中慣性權(quán)重的弊端,本文提出一種非線性慣性權(quán)重調(diào)整粒子群算法,稱為NWPSO,在前期尋優(yōu)過程中保持較大的慣性權(quán)重值,有利于提高全局尋優(yōu)能力;當(dāng)搜尋到全局最優(yōu)點(diǎn)附近時,減小慣性權(quán)重值,有利于增強(qiáng)收斂精度和速度,提高局部搜索的魯棒性。本文提出的非線性慣性權(quán)重調(diào)整方式為
(10)
式中:h,hmax——當(dāng)前迭代次數(shù)和最大迭代次數(shù);
ωmax,ωmin——慣性權(quán)重系數(shù)的最大值和最小值。
將NWPSO作為BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值優(yōu)化算法,選取BP神經(jīng)網(wǎng)絡(luò)預(yù)測值與目標(biāo)值之間的交叉熵?fù)p失函數(shù)作為適應(yīng)度函數(shù),方程為
(1-yi)log(1-yi)]
(11)
式中:yi——樣本i的標(biāo)簽,異常用電用戶為1,正常用戶為0;
Pi——樣本i檢測為異常用電的概率。
本文提出的NWPSO-BP神經(jīng)網(wǎng)絡(luò)算法的計(jì)算步驟如下。
步驟1 確定BP神經(jīng)網(wǎng)絡(luò)輸入層、隱藏層和輸出層的神經(jīng)元數(shù)ni,nh,no,學(xué)習(xí)因子η。
步驟2 設(shè)置粒子的最大速度Vmax和最小速度Vmin,并在vid∈[-Vmax,Vmax]范圍內(nèi)隨機(jī)生成粒子速度。
步驟3 隨機(jī)設(shè)置粒子的初始位置,以及BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和偏置初始位置。
步驟4 初始化慣性權(quán)重ω,加速常數(shù)c1和c2,粒子數(shù)m和迭代次數(shù)hmax。
步驟5 輸入訓(xùn)練樣本進(jìn)行計(jì)算。
步驟6 計(jì)算BP神經(jīng)網(wǎng)絡(luò)的輸出,然后根據(jù)式(11)的適應(yīng)度函數(shù)方程計(jì)算每個粒子的適應(yīng)度值,得到每個粒子的個體最優(yōu)解pid和所有粒子的全局最優(yōu)解pd。
步驟7 根據(jù)式(8)和式(9)更新粒子的速度和位置。
步驟8 判斷NWPSO算法的最大迭代次數(shù)是否已經(jīng)達(dá)到,如果沒有達(dá)到最大迭代次數(shù),則返回步驟6,否則返回步驟9。
步驟9 得到BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)初始權(quán)值和偏差的全局最優(yōu)解pd。
步驟10 訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)直到滿足最終條件。
為了驗(yàn)證本文所提算法的性能,在具有200多名用戶用電數(shù)據(jù)的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),并與其他傳統(tǒng)的機(jī)器學(xué)習(xí)方法進(jìn)行了性能比較,其中包括文獻(xiàn)[14]中的SVC算法和文獻(xiàn)[15]中的BP神經(jīng)網(wǎng)絡(luò)算法。為了驗(yàn)證所提出的改進(jìn)NWPSO-BP神經(jīng)網(wǎng)絡(luò)的性能,與普通的PSO-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了對比。采用4個結(jié)果評價指標(biāo)對性能進(jìn)行評價,分別如下。
(1) 準(zhǔn)確率,表示正確分類的樣本占總樣本的比例。
(12)
式中:TP——將正常樣本判斷為正常樣本的數(shù)量;
TN——將異常樣本判斷為異常樣本的數(shù)量;
FP——將異常樣本判斷為正常樣本的數(shù)量;
FN——將正常樣本判斷為異常樣本的數(shù)量。
(2) 精確率,表示實(shí)際正常樣本占被分為正常樣本的比例。
(13)
(3) 召回率,表示所有正常樣本中被正確識別為正常樣本的比例。
(14)
(4) 綜合精確率和召回率的評價指標(biāo)。
(15)
利用上述參數(shù),使用4種模型對用戶的異常用電行為進(jìn)行檢測,評價結(jié)果如表2所示。由表2可知,BP神經(jīng)網(wǎng)絡(luò)相比SVC在各個方面都具有更好的效果,加入了粒子群優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)取得了較好的效果,本文提出的模型取得了最好的效果。
表2 不同模型的評價結(jié)果
表3為各模型訓(xùn)練時間比較。由表3可知,SVC在運(yùn)算時間上更具優(yōu)勢,但BP神經(jīng)網(wǎng)絡(luò)在準(zhǔn)確率上取得了更好的效果,而PSO-BP神經(jīng)網(wǎng)絡(luò)在準(zhǔn)確率等指標(biāo)上均取得了最好的效果。
表3 模型訓(xùn)練時間
本文所提出的NWPSO-BP模型在前期尋優(yōu)過程中保持了較快速度,當(dāng)搜尋到全局最優(yōu)點(diǎn)附近時,尋優(yōu)速度變慢,雖然在模型訓(xùn)練時間上未能達(dá)到最好效果,但是在保證訓(xùn)練速度的基礎(chǔ)上進(jìn)一步提高了檢測精度。圖6為各個模型的訓(xùn)練誤差收斂過程對比。由圖6可知,本文提出的NWPSO-BP神經(jīng)網(wǎng)絡(luò)模型相比其他模型具有更快的收斂速度。
圖6 模型訓(xùn)練誤差和準(zhǔn)確率對比
(1) 根據(jù)異常用電用戶呈現(xiàn)的行為特征,進(jìn)行了精確的特征選擇,從而建立了異常用電檢測評價指標(biāo)體系,用于所提模型的訓(xùn)練輸入。
(2) 提出了先進(jìn)高效、檢測精度高的基于NWPSO-BP神經(jīng)網(wǎng)絡(luò)的異常用電檢測算法,能準(zhǔn)確地從評價指標(biāo)體系中提取重要的行為特征,并且加入了改進(jìn)的PSO作為權(quán)重參數(shù)優(yōu)化算法,從而達(dá)到更準(zhǔn)確、更快的檢測效果。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的算法相比,本文所提出的NWPSO-BP神經(jīng)網(wǎng)絡(luò)檢測算法具有更高的準(zhǔn)確率和更快的訓(xùn)練速度。