張思揚,匡芳君
(溫州商學(xué)院 信息工程學(xué)院,溫州 325035)
隨著電力企業(yè)服務(wù)意識增強和對智能電網(wǎng)的安全性和可靠性的提升,研究如何記錄和提取電力負(fù)荷特性信息以及用戶用電、漏電和竊電異常檢測等具有重要現(xiàn)實意義[1]。近年來,國內(nèi)外學(xué)者結(jié)合機器學(xué)習(xí)算法和負(fù)荷模式對用電異常檢測進行了有益研究,如莊池杰等[1]利用用戶平均月負(fù)荷表示用電模式,提出了用無監(jiān)督學(xué)習(xí)算法對用戶用電行為進行異常檢測;謝濤等[2]通過數(shù)學(xué)建模技術(shù)對非法用電行為構(gòu)建線性方程組模型,提出了基于智能電表的分布式用電行為檢測方法;簡富俊等[3]提出了基于SVM的用電異常檢測方法,通過SVM分類器檢測用戶用電異常,從而提高小樣本和樣本類別不均衡情況下的檢測準(zhǔn)確率;Nagi等[4]利用專家模糊推理系統(tǒng),提出了基于改進SVM的異常檢測方法;王桂蘭等[5]利用流式計算技術(shù),提出了大規(guī)模用電數(shù)據(jù)流的異常檢測方法;Cui等[6]融合高斯分布和多項式回歸模型,提出了學(xué)校用電異常檢測可視化系統(tǒng)。因此,本文將針對用戶用電異常檢測問題,根據(jù)電力企業(yè)提供的電力數(shù)據(jù),根據(jù)用戶歷史負(fù)荷曲線、考察日標(biāo)準(zhǔn)用電曲線和考察日實際用電曲線提取特征分析,綜合考慮基于用戶歷史負(fù)荷數(shù)據(jù)的負(fù)荷模式和基于同地區(qū)同類型用戶負(fù)荷數(shù)據(jù)的負(fù)荷模式方法預(yù)測用戶是否存在電器漏電和竊電,提出一種基于改進人工蜂群的用電異常檢測方法,并分析其檢測結(jié)果。
人工蜂群(Artificial Bee Colony,ABC)算法是Karaboga在2005年提出的群智能優(yōu)化算法,因其控制參數(shù)少、全局探索能力強、魯棒性強和收斂速度快等優(yōu)勢而應(yīng)用廣泛[7]。研究成果主要集中在算法學(xué)習(xí)策略改進、混合算法、算法機理及其應(yīng)用研究等。如:Ozturk等[7]提出了一種用于動態(tài)聚類的離散人工蜂群算法;田野等[8]通過交叉策略指導(dǎo)偵察蜂的覓食行為,提出了基于偵察蜂交叉覓食的人工蜂群算法;王志剛等[9]將符號函數(shù)引入到人工蜂群中,提出了基于符號函數(shù)的多搜索策略人工蜂群算法;匡芳君等[10]使用重組算子選擇最優(yōu)個體作為粒子群的全局極值和跟隨蜂鄰域蜜源,提出了基于Tent混沌的人工蜂群與粒子群混合算法;Mao等[11]提出了自適應(yīng)擴展內(nèi)存的人工蜂群算法。如何均衡全局探索與局部開采能力,如何提高算法收斂性時避免陷入局部最優(yōu)仍是ABC算法性能提升的關(guān)鍵問題,本文將利用Tent混沌反向?qū)W習(xí)策略,增強局部鄰域搜索策略和錦標(biāo)賽選擇策略,提出了改進人工蜂群算法(Improve ABC,簡稱IABC)。
ABC算法蜂群包括引領(lǐng)蜂、跟隨蜂和偵察蜂三類[7],用蜜源豐富程序表示可行解的質(zhì)量,最大適應(yīng)度的蜜源表示最優(yōu)解,通過式(1)隨機產(chǎn)生蜜源位置,即初始可行解:


其中,i=1,2,…,N,j=1,2,…,D,k=1,2,…,N是隨機選擇下標(biāo),且k≠i;Φ是[-1,1]隨機數(shù)。
如果蜜源處的引領(lǐng)蜂循環(huán)搜索限定次數(shù)Limit后仍不能更新,則此引領(lǐng)蜂變?yōu)閭刹旆洌掖藗刹旆浒词剑?)搜索策略生成新蜜源位置。
為使種群初始個體盡可能均勻分布和多樣化,且由于Tent混沌映射比Logistic映射具有收斂速度快和遍歷均勻的優(yōu)勢,故本文擬采用Tent混沌反向?qū)W習(xí)策略[10]初始化種群,使初始種群既能提高多樣性,又能保留個體的隨機性。Tent映射通過貝努利移位變換表示為xt+1=(2xt)mod1,即在計算Tent映射小數(shù)部分時,對二進制數(shù)進行無符號左移[10]。
基本ABC算法跟隨蜂是利用比例選擇策略,選擇蜜源位置,不能較好地更新較差蜜源,從而導(dǎo)致算法后期個體適應(yīng)度在種群進化時常趨于一致,讓算法不易跳出局部最優(yōu)。因此,本文采用錦標(biāo)賽選擇策略[10]來選擇蜜源,該策略是基于局部競爭機制的選擇過程,只須按適應(yīng)度的相對值選擇蜜源,以便盡可能避免個體影響算法的性能。錦標(biāo)賽選擇策略公式如下:

其中,ci為每個個體的得分。
在求解復(fù)雜優(yōu)化問題時,如何達到局部開采與全局探索能力的平衡仍是人工蜂群算法提升性能的關(guān)鍵。由于ABC算法是通過引領(lǐng)蜂和跟隨蜂實現(xiàn)局部搜索,通過跟隨蜂和偵察蜂實現(xiàn)全局搜索,以平衡算法的全局探索與局部開發(fā)能力。由式(2)可知蜜源鄰域搜索的新解具有較強的全局探索能力,但其局部開采能力較弱。因此,本文將在搜索策略中引入自適應(yīng)步長,在搜索中考慮個體Xi和當(dāng)前最優(yōu)解Xbest的引領(lǐng)作用,提出一種新的搜索策略,以增強算法后期局部搜索能力,增強局部鄰域搜索公式如下:

本節(jié)擬利用用戶歷史負(fù)荷數(shù)據(jù),采用改進人工蜂群算法提取用戶行業(yè)負(fù)荷模式曲線和用戶歷史數(shù)據(jù)負(fù)荷模式曲線,根據(jù)用戶考察日負(fù)荷曲線與人工蜂群算法提取的負(fù)荷模式曲線匹配的特征不同,使用不同的負(fù)荷數(shù)據(jù)預(yù)處理和模式匹配方法,分別計算考察日負(fù)荷曲線與同類型用戶負(fù)荷模式、日負(fù)荷曲線與用戶負(fù)荷模式的匹配度;并根據(jù)電力部門的偏好,設(shè)定兩種負(fù)荷模式的匹配度權(quán)重,通過加權(quán)求和得到用戶用電正常度數(shù)。同時,設(shè)置用戶竊電報警閾值和電器漏電報警閾值,以便做出相應(yīng)的用戶竊電報警和電器漏電提醒。
當(dāng)前各供電公司基本建成了智能采集終端,實現(xiàn)了居民用電遠(yuǎn)程抄表功能和電力營銷業(yè)務(wù)應(yīng)用系統(tǒng),系統(tǒng)儲存有用戶每月的用電信息,能實時查詢用戶電量等信息。考慮到用戶的電力負(fù)荷隨季節(jié)變化,每月采集用戶負(fù)荷數(shù)據(jù)。考慮到用電負(fù)荷隨著季節(jié)變化而變化,因此,負(fù)荷數(shù)據(jù)按月收集。系統(tǒng)每15min測量1次用戶負(fù)荷,因此每天可以獲得每個用戶日用電負(fù)荷數(shù)據(jù)為24×4=96個數(shù)據(jù)點。所以本文需要收集同區(qū)域相似用戶正常用電負(fù)荷數(shù)據(jù)、被檢測用戶的正常歷史負(fù)荷數(shù)據(jù)和當(dāng)月的負(fù)荷數(shù)據(jù),即過去一年N個同區(qū)域同類用戶對應(yīng)月正常用電負(fù)荷數(shù)據(jù)Xi,過去兩年用戶對應(yīng)月正常用電歷史負(fù)荷數(shù)據(jù)Yi和用戶當(dāng)月考察日的負(fù)荷數(shù)據(jù)Zi,三個負(fù)荷數(shù)據(jù)組表示如下:

其中:i=1,2,…,N,j=1,2,…,30;Xij表示第i個相似用戶的第j天的負(fù)荷數(shù)據(jù);Yij表示過去第i年該月第j天的負(fù)荷數(shù)據(jù);Zj表示當(dāng)月第j天的負(fù)荷數(shù)據(jù);每組負(fù)荷數(shù)據(jù)表示一條負(fù)荷曲線。
通常情況,同區(qū)域同類型用戶的用電負(fù)荷變化相似性較大,但由于用戶用電設(shè)備數(shù)量和類型的差異會導(dǎo)致負(fù)荷基數(shù)不同,同時考慮到同一用戶在相鄰年份相同月份自身負(fù)荷一般變化較小。因此,歸一化處理同區(qū)域同類型用戶的用電負(fù)荷數(shù)據(jù),而保留用戶自身的歷史負(fù)荷數(shù)據(jù)。同區(qū)域同類型用戶用電負(fù)荷數(shù)據(jù)預(yù)處理如下:

其中:k=1,2,…,96;ximax,ximin分別為第i個用戶的負(fù)荷數(shù)據(jù)最大值和最小值。
利用改進人工蜂群提取負(fù)荷模式曲線時,蜜源位置表示負(fù)荷數(shù)據(jù)曲線,即每個蜜蜂表示一個解,用負(fù)荷向量P=[p(1),p(2),…,p(96)]表示蜜源位置,向量中每個元素代表不同時刻的負(fù)荷。首先按照混沌反向?qū)W習(xí)方法初始化種群中的解,再按式(4)進行引領(lǐng)蜂和跟隨蜂鄰域搜索,適應(yīng)度函數(shù)采用經(jīng)典聚類方法的判定函數(shù),公式如下:

其中:M表示負(fù)荷曲線的條數(shù);xk(i)表示第k條負(fù)荷曲線第i時刻的負(fù)荷數(shù)據(jù)。
在上述編碼和優(yōu)化迭代操作的基礎(chǔ)上,經(jīng)過若干代更新迭代,得到了種群全局極值表達的負(fù)荷向量,即人工蜂群算法提取出來的負(fù)載模式曲線,包括歸一化的同區(qū)域同類型用戶負(fù)荷模式曲線L=[l(1),l(2),…,l(96)]和用戶自身歷史負(fù)荷模式曲線H=[h(1),h(2),…,h(96)]。
進行用電異常檢測之前,需要計算負(fù)荷模式匹配。首先根據(jù)用戶當(dāng)月實際負(fù)荷計算用戶當(dāng)月負(fù)荷模式,然后按照計算檢測用戶的當(dāng)月負(fù)荷模式曲線U=[u(1),u(2),…,u(96)]和歸一化后的用戶當(dāng)月負(fù)荷模式曲線U=[u(1),u(2),…,u(96)],考慮到用戶與同行業(yè)的負(fù)荷模式關(guān)聯(lián)性的一致性,定義L和U的匹配度m1公式如下:

本文使用基于平均相對距離度量計算H和U的匹配度m2,公式定義如下:

得到模式匹配后,根據(jù)實際情況確定對模式匹配度m1和m2的權(quán)重ω1和ω2,加權(quán)求和得到用戶用電正常度數(shù)η=ω1×m1+ω2×m2。
供電公司根據(jù)用戶信用狀況評估來設(shè)置用電正常的報警閾值。當(dāng)用戶用電正常度數(shù)η小于漏電報警閾值且大于竊電報警閾值時,供電企業(yè)表示該用戶為正常用戶;否則,判斷該用戶用電正常度數(shù)η小于竊電報警閥值,則該用戶竊電異常用電次數(shù)Q=Q+1,如在指定時間內(nèi)竊電異常用電次數(shù)Q大于用戶異常用電報警次數(shù)(根據(jù)用戶信用狀況評估設(shè)置),則報警,提醒稽查人員現(xiàn)場檢查,并檢查結(jié)果來斷定用戶是否竊電;否則,漏電異常用電次數(shù)P=P+1,如在指定時間內(nèi)漏電異常用電次數(shù)P大于用戶異常電報警次數(shù),則提醒用戶自行檢查是否存在電器漏電情況。基于改進人工蜂群算法的負(fù)荷模式異常用電檢測方法流程圖如圖1所示。

圖1 基于改進人工蜂群算法的異常用電檢測流程圖
實驗數(shù)據(jù)來源于某電網(wǎng)350個用戶的日用電數(shù)據(jù),設(shè)置本文算法模式匹配權(quán)重ω1=0.3和ω2=0.7,竊電報警閥值為0.7,漏電報警閥值為0.9,連續(xù)兩周出現(xiàn)異常用電報警次數(shù)設(shè)置為3次。應(yīng)用算例在CPU為4.0GHZ,內(nèi)存為16GB的PC機,MATLAB R2015b平臺編程實現(xiàn)算法仿真。
為更好地反映所提檢測算法對整個樣本的檢測能力,準(zhǔn)確率Accuracy公式定義如下:

其中:TP(True Positive)表示異常用戶被準(zhǔn)確檢測的人數(shù),TN(True Negative)表示正常用戶被準(zhǔn)確檢測的人數(shù),F(xiàn)P(False Positive)表示異常用戶被檢測錯誤的人數(shù),F(xiàn)N(False Negative)表示正常用戶被檢測錯誤的人數(shù)。
為了檢驗本文所提算法的有效性和準(zhǔn)確性,將改進人工蜂群算法直接應(yīng)用于某區(qū)域電網(wǎng)350個居民用戶(記為C1,C2,…,C750)用電分析,最后與標(biāo)準(zhǔn) ABC、改進 K-means[12]和 K-means算法進行異常檢測對比實驗,最終檢測算法實驗結(jié)果比較如表1所示。從表1看出,改進ABC算法不僅用戶用電異常檢測準(zhǔn)確率和均方誤差優(yōu)于其它三種檢測方法,而且運行時間也優(yōu)于其它三種檢測方法。因此,相對而言改進ABC具有更好的異常用電檢測能力和適應(yīng)性也較強,能有效提高用戶用電異常檢測準(zhǔn)確率,為用戶用電異常檢測和電力行為分析開拓了新的思路和方法。

表1 各種檢測算法結(jié)果對比
本文針對同區(qū)域同類型用戶的用電負(fù)荷變化相似性較大,但由于用戶用電設(shè)備數(shù)量和類型的差異會導(dǎo)致負(fù)荷基數(shù)不同,同時考慮到同一用戶在相鄰年份相同月份自身負(fù)荷變化不大的規(guī)律,綜合考慮基于用戶歷史負(fù)荷數(shù)據(jù)的負(fù)荷模式和基于同地區(qū)同類型用戶負(fù)荷數(shù)據(jù)的負(fù)荷模式方法預(yù)測用戶是否存在電器漏電和竊電,應(yīng)用改進人工蜂群算法提取負(fù)荷模式曲線,提出了一種基于改進人工蜂群的用電異常檢測方法。通過應(yīng)用實例分析實驗驗證了所提異常檢測方法的有效性和準(zhǔn)確性,為異常用電檢測提供了新的檢測思路和方法。