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


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

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

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

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

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

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

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

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

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

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

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