袁于程,黃 健,謝晨旸
(江蘇林洋能源股份有限公司,江蘇 啟東 226200)
隨著我國經濟實力的不斷提高,居民用電量的需求也在逐年增加。在巨大經濟利益的誘惑下,一些電力用戶不惜觸犯用電相關法律與法規進行竊電。竊電行為嚴重影響計量的準確性,不僅使電力公司蒙受巨大的經濟損失,而且直接影響電網的安全與正常運行。同時,隨著防竊電技術的不斷提升,用戶竊電的手段也悄然發生變化,呈現高科技、高隱蔽等特點[1]。
目前,檢測用戶竊電的方法主要有兩種:①根據統計學方法計算線損、電阻以及非技術原因導致的損失;②使用互聯網大數據進行檢測以及通過智能網絡人工智能(aritificial intelligence,AI)學習,如貝葉斯網絡、構造決策樹等[2-3]。這些方法都存在著一些缺點。第一種方法不能精確推算電網中的拓撲結構,從而不能精準定位竊電用戶的位置。第二種方法則需要大量的樣本數據作支持,以提升竊電的總體辨識有效率。但在判定模型訓練和規則提取中,一般缺乏有效的竊電樣本,同時缺少對于竊電用戶的劃定,因此存在著不足之處。針對上述2種方法的缺點,本文采用模糊C均值(fuzzy C-means,FCM)聚類算法分析用戶的用電樣本數據,從而尋找疑似竊電用戶。
設數據集X={x1,x2,...,xn}。根據簇類數,將數據集X劃分為c個簇,V={v1,v2,...,vc}表示聚類中心[4]。假設X的子集X1含有p個特征點,則可表示成1×p的矩陣,同理X2、X3、...、Xn亦可表示成1×p的矩陣,則X可表示成n×p的矩陣;V1含有p個特征點,則可表示成1×p的矩陣,同理可推得V2、V3、...、Vc亦可表示成1×p的矩陣,則V可表示成c×p的矩陣。
(1)

(2)
聚類中心的計算公式如下:
(3)
隸屬度uij的計算公式如下:
(4)
目標函數如式(5)所示:
(5)
①參數初始化因子:模糊加權指數m(m=2)、聚類個數c(最終生成的特征曲線數)、迭代不成立時的閥值、包含隨機數初始化的隸屬度矩陣U。
②已知Xj、模糊加權指數m以及U,根據式(3)可推導出新的聚類中心V。
③已知Xi、模糊加權指數m和步驟②中獲得的聚類中心V,可根據式(4)計算出更新后的隸屬度矩陣。
④運算式(5)目標函數Jk(U,D)。其中,Jk表示運算迭代k次數的目標函數。若當前相鄰兩次目標函數Jk、Jk-1之差的絕對值小于迭代不成立時的閥值,則跳出循環計算公式;若當前相鄰兩次目標函數Jk、Jk-1之差的絕對值大于等于迭代不成立時的閥值,則跳轉到步驟②重復計算。
⑤根據隸屬度矩陣對所有樣本空間用戶數據X進行分類。若當前樣本空間用戶數據Xi對第k個簇的隸屬度最大,則表明用戶數據屬于第k個簇。
用戶的用電負荷是指用戶處于某個特定的時間段內所有用電量的總和。不同類型的用戶用電負荷隨著時間變化,在某個月、某個季度、某一年都可存在差異,甚至在某一天的某個時段電力負荷變化也比較明顯。對一天24 h均勻地劃分時間段,標出每個時間段的電力負荷大小,然后將各獨立點連接成平滑的曲線。該曲線即可表示為用戶負荷曲線[5]。用戶負荷曲線按不同方法可分為不同類別。例如:按不同用戶類型可分為居民用電、機關、企事業單位、發電廠負荷曲線;按不同時間可分為日、周、月、季度以及年負荷曲線。本文主要研究用戶日負荷曲線,盡量減少對用戶竊電辨識結果產生干擾的因素。以某天的0時0分為起始,設定采集一次用戶數據的周期為15 min,則24 h內共采集96個用戶用電負荷記錄點。
用戶負荷曲線的分類是將具有相同或類似用電習慣的用戶放置到相同的類別中。負荷曲線常用分類算法主要包括K-means算法、FCM算法、自組織神經網絡映射算法[6-7]等。其中,FCM算法的優點是在實時性、穩定度、準確性等方面均較為出色。
用戶用電負荷曲線的分類過程包括聚類算法的選定與聚類參數的確定、聚類的操作和結果分析。基于FCM聚類算法的負荷曲線分類的流程如圖1所示。

圖1 基于FCM聚類算法的負荷曲線分類的流程圖Fig.1 Flowchart of load curve classification based on FCM clustering methods
操作步驟如下。
①參數初始化因子典型值。一般m取值為2,使用FCM聚類算法和其他相關有效性指標,最終確定當前用戶負荷曲線所需的最佳聚類數c為3,閥值T取值為0.01以及隸屬度矩陣U的隨機初始化。
②實例化用戶曲線X以及用戶特征曲線V。根據上述參數模糊加權指數m,聚類個數c,隸屬度矩陣U。已知用戶日負荷曲線X以及式(3),可更新聚類中心V。其中:X={X1,X2,...,Xn},任意子集Xk都包含96個用戶用電負荷記錄點;V={V1,V2,...,Vc},任意子集Vl都包含96個特征點。
③根據式(4)產生新的隸屬度矩陣U。
④根據式(5)計算新的目標函數J(U,D)。若當前相鄰兩次目標函數Jk、Jk-1之差的絕對值小于迭代結束的閥值T,則跳出循環;否則,跳轉到步驟③重復計算。
⑤一旦滿足步驟④中的兩次目標函數的絕對值小于迭代結束,可獲取c條特征曲線。根據隸屬度矩陣U,每條用戶曲線Xi對應于c條特征曲線的隸屬度之和為1。其中,隸屬度最大的為用戶曲線Xi對應的特征曲線。
設當前用戶用電的日負荷曲線表示為X=(x1,x2,...,x96),用戶用電日負荷特征曲線表示為v=(v1,v2,...,v96),則用戶日負荷特征曲線相關系數r可表示為:
(6)
其中:
(7)
相關系數r重點在于考量用戶用電的日負荷曲線的形狀和變化趨勢,以免造成僅通過歐幾里得距離判斷用戶用電負荷曲線的相似性而無法正確辨別可疑竊電用戶的問題[8]。
用戶用電的日負荷曲線與用電日負荷特征曲線間的歐幾里得距離為:
(8)
竊電檢測模型如圖2所示。

圖2 竊電檢測模型Fig.2 Detection model of electric larceny
從數據庫系統中檢索相應時段的用戶用電負荷數據,并進行異常處理。其主要目的是提前過濾掉一些無意義并且對試驗結果產生不良影響的數據。提取足夠樣本數的用戶日負荷曲線以及通過上述FCM聚類算法,便可提取用戶日負荷特征曲線。
用戶用電負荷曲線與時間存在緊密聯系,可使用基于時間的相似性來計算兩條負荷曲線的匹配度。通過式(6)、式(7)和式(8),可分別計算相關系數r以及歐幾里得距離d。相關系數r側重于考量用戶用電日負荷特征曲線的形狀與變化趨勢,避免僅通過歐幾里得距離誤判負荷曲線相似性從而無法正確辨別可疑用戶;歐幾里得距離的重點在于考量值的相似性。計算用戶用電負荷曲線與用電負荷特征曲線的匹配度:
m=w1r+w2e-d
(9)
式中:w1和w2分別為權重因子,w1+w2=1。
通過不斷地調整w1和w2的取值,最終可得到一個匹配度典型值M0。
在已知某一個用戶的用戶日負荷曲線和用戶日負荷特征曲線的前提下,可計算當前用戶日負荷曲線與特征曲線的匹配度M。若匹配度M小于等于預警值M0,則判斷用戶用電正常,無竊電行為;若匹配度M大于預警值M0,則判定當前用戶疑似有竊電行為[9-10]。
MATLAB仿真在模糊加權指數m=2、聚類個數c=3、迭代結束閥值T=10-2的初始化條件下進行。其中,隸屬度矩陣U使用隨機數初始化。選取三類具有典型特征的用戶日負荷曲線各4條。隸屬度矩陣U的隨機初始化值和終值如表1所示。

表1 隸屬度矩陣U的隨機初始化值和終值Tab.1 Random initialization value and final value of membership matrix U
用戶曲線1~4表示第一類用戶日負荷曲線,其特點為早上8點~晚上9點處于用電高峰;用戶曲線5~8表示第二類用戶日負荷曲線,其特點為早、中、晚三段時間處于用電高峰并且單位時間內用電量波動較大,存在用電尖峰;用戶曲線9~12表示第三類用戶日負荷曲線,即早、中、晚三段時間處于用電高峰并且單位時間內用電量波動較小,不存在用電尖峰。
由表1可推導出某一條用戶日負荷曲線Xi隸屬于日負荷特征曲線V的隸屬度之和為1。若Xi屬于某條日負荷特征曲線Vk隸屬度的值最大,則Xi屬于該條日負荷特征曲線Vk。由聚類算法獲得的日負荷特征曲線如圖3所示。其中,用戶曲線1~4屬于日負荷特征曲線1,用戶曲線5~8屬于日負荷特征曲線2,用戶曲線9~12屬于日負荷特征曲線3。

圖3 由聚類算法獲得的日負荷特征曲線Fig.3 Daily load characteristic curves based on clustering methods
特征曲線到用戶曲線的歐幾里得距離之和如圖4所示。由圖4可推出:隨著迭代次數的增加,所有特征曲線到各用戶曲線的歐幾里得距離之和最終穩定在一個固定值。

圖4 特征曲線到用戶負荷曲線的歐幾里得距離之和Fig.4 Sum of Euclidean distance from characteristic curve to customer curve
本文首先使用FCM聚類算法完成不同類型用戶用電負荷曲線的分類,以得到不同類型用戶的負荷特征曲線,為判定疑似有竊電行為的用戶提供依據。其次,運算匹配當前用戶負荷曲線隸屬于哪條負荷特征曲線,篩選出疑似存在竊電行為的用戶。當然,本文研究仍需要不斷優化。例如:可進一步細化由FCM聚類算法得到不同類別的用戶負荷特征曲線,按照時間變化、行業變化、地理位置差異化等因素進行詳細分類;需要進一步完善竊電特征曲線庫,優化用戶竊電的檢測模型以及充分考慮用戶類別、時間、地理位置差異化等因素影響,不定期對用戶竊電的檢測模型進行動態更新。