李梓欣 李 川 李英娜
(昆明理工大學信息工程與自動化學院 云南 昆明 650500)
我國已經進入了全面建成智能電網階段,隨著智能電網的快速發展,配用電數據呈現出數據量大、數據類型多、增長速度快等大數據特征[1-2]。但竊電現象依然嚴重且手段先進,反竊電手段仍以人工稽核為主,存在工作量大、取證困難和缺乏針對性等問題[3-4]。隨著數據挖掘與機器學習等算法的發展,對電力大數據挖掘與分析,充分利用數據價值,成為人們關注的熱點。
文獻[5]提出利用技術損失模型估計非技術損失,估計出的非技術損失超過一定閾值時便認為存在竊電。文獻[6]提出了根據線路中的電阻產生的損耗和實際的損耗做比較,來判斷竊電,但是電阻會受到外界自然因素的影響。文獻[7]利用對距離的判斷找出離群點來檢測判斷竊電,通過對電流或電壓離群點的檢測來判斷,但不能判斷其他異常情況。文獻[8]提出了利用皮爾森相關系數、貝葉斯網絡和決策樹來檢測非技術損失。文獻[9]提出一種聚類的新穎性檢測竊電,提取用戶消費指標,使用模糊聚類來捕獲由用電行為良好用戶的指標構成的數據結構,使用Gustafson-Kessel模糊聚類檢測用戶行為,以發現消費者異常數據。文獻[10]提出基于智能電表數據的臺區用戶識別和竊電檢測,通過對計量數據和量測數據進行計算和分析,設置參考電壓,參考電壓與用戶某處電壓計算差值大于某一閾值判定為竊電。文獻[11]提出一種基于層次分析法的加權離群竊電檢測方法,確定參數和權重用電氣數據計算出離群因子得出竊電排序。
本文的研究目的是在未知用戶類型與用戶是否存在竊電的情況下,對大量用戶歷史用電數據進行分析。通過提取特征指標進行降維并結合局部離群因子、極限學習機算法建立竊電檢測模型。通過該模型識別出竊電用戶,供電公司只需重點稽查被標示為竊電的用戶,有助于提高稽查準確率,節省時間、人力,減少并挽回因竊電導致的經濟損失。
模糊C均值聚類算法FCM(Fuzzy C-Mean)通過分析每個元素的隸屬度判定該元素屬于哪個類,將n個數據向量分為c個模糊類,使模糊目標函數最小,其目標函數為:
(1)
式中:uij為個體xi屬于第j類的隸屬度;vj為第j類的聚類中心;m為模糊權重指數;uij和vj的計算公式為:
(2)
(3)
FCM算法不能自動確定聚類數目c,需人為輸入聚類數目,聚類數的確定影響聚類的效果。傳統指標有PC、PE、XB、MPC、Kwon、FS等,根據指標的最優值確定聚類數??紤]到數據集的模糊劃分與數據成員的幾何結構,文中采用PC、XB兩種指標,綜合指標結果,得出聚類數。因PC最大值對應最佳聚類數,XB指標最小值對應最佳聚類數,故綜合指標結果時取PC結果的倒數。綜合聚類指標定義如下:
(4)
式中:w1和w2分別為VPC和VXB對應的權重,VPC和VXB為指標結果,其中PC、XB權重值都取0.5。

2.1.1 相似性度量指標
相似性度量有兩種:距離和相似系數。用戶典型日負荷曲線與負荷特征曲線的相似性利用距離和相似系數來計算。用戶典型日負荷曲線Xn=(x1,x2,…,xT)和負荷特征曲線L=(l1,l2,…,lT)之間的歐式距離定義為:
(5)
變量xe與le的相關系數定義為:
(6)
式中:
計算步驟如下:
步驟1采用FCM算法得出用戶負荷分類與分類中心坐標矩陣,由中心坐標得出每一類用戶的負荷特征曲線。
步驟2對用戶的典型日負荷曲線與得出的負荷特征曲線采用歐氏距離和相關系數法進行計算。其中ω為權重,ω3=ω4=0.5。
wcd=w3C+w4d
(7)
步驟3計算用戶每個月的典型負荷曲線,并計算每個月典型負荷曲線之間的歐氏距離。
2.1.2 負荷形態指標
負荷形態指標使用負荷率、日峰谷差、負載率等5個指標來分析用電負荷的特性[12],如表1所示。

表1 負荷特性指標
表1中:P為負荷值,av均值、max最大值、min最小值,peak峰期、flp平期、val谷期[12]。
負荷率反映了負荷全天的變化,日峰谷差率反映了負荷變化幅度大小,負載率反映了這段時期內負荷的變化。
2.1.3 負荷趨勢指標
負荷趨勢指標利用簡單移動平均法計算[13],其計算公式為:
(8)
式中:Mt為移動平均數,t為時間點,T為采集次數。
計算步驟如下:
步驟1計算用戶的典型日負荷曲線和每個用戶的n點簡單平均移動序列。
步驟2計算用戶的負荷時間序列與簡單平均移動序列各個時間點的相對大小,小于Mt的點記為a1,a2,…,ah1,大于Mt的點記為b1,b2,…,bh2。
步驟3計算負荷的上升特征指標與下降特征指標rise和decl。
(9)
2.1.4 其他指標
(1) 計算每個用戶典型日負荷序列的標準差S,體現用戶負荷波動性。

主成分分析PCA(Principal Component Analysis)是一種多元統計方法,通過降維用幾個主成分以線性組合方式表達原始的多個變量。設x=(x1,x2,…,xp)′為一個p維總體,考慮如下線性變化:
(10)
PCA中的主元是待處理數據的幾個變量在經過線性組合之后所產生的信息,這種改變使待處理的數據在進行變換后的變量方差成為了主成分[14]。
異常檢測算法中,基于密度的離群點檢測[15]方法通過數據對象的近鄰分布考察比較,計算局部異常因子LOF(Local Outlier Factor),判定對象離群程度。計算對象的k-距離、k-距離鄰域、可達距離、局部可達密度和局部離群因子,局部離群因子表示異常程度,局部離群因子越大,異常程度越高。
ROC曲線(Receiver Operating Characteristic)用來評價一個二值分類器的優劣,AUC(Area under the Curve of ROC)代表ROC曲線下方面積,值越大準確性越高。通過ROC和AUC來確定局部離群因子算法中k的最優取值。
極限學習機算法ELM(Extreme Learning Machine)是由Huang G.B針對單隱含層前饋神經網絡SLFN(Single-hidden Layer Feedforward Neural Network)提出來新算法[16-17],與傳統神經網絡相比,具有學習速度快、泛化性能好等優點。


選用以下8個指標[18-20]以及相關的數據信息作為模型輸入。當出現竊電特征時,其計量數據也會出現一定的相關性變化,故用主成分分析降低數據維度,去除數據中的包含的重疊信息。
1) 額定電壓偏離度。電壓一般是保持平衡的,當發生竊電時,電壓數據會發生變化波動,電壓與額定電壓的偏離程度,可以體現用電異常。
2) 電壓不平衡率。反映電壓欠壓現象,正常用電時三相電壓是保持穩定的。
3) 電流不平衡度。反映電流欠流現象,正常用電時三相電流是保持穩定的。
4) 功率因數不平衡率。反映功率波動情況,正常用電功率因數不會發生大的變動。
5) 用電量離散系數。正常用電時單位用電量標準差與電量平均值的絕對值之比應該在一定范圍內保持穩定。
6) 相位角。正常用電時相位角電壓與相位角電流之間的夾角會在固定的范圍。
7) 線損率:線損率是電能在輸送過程中的損耗的衡量標準。正常用電時線損率會在正常范圍內。線損率=(線損電量/供電量)×100%。
8) 合同容量比。當竊電發生時,申請的容量與用戶的月用電量之間的比值會超出固定范圍。
本文采用云南省電網3 320個電力用戶3個月的用電數據,采樣間隔為15分鐘,一天96個點,對數據進行清洗,剔除異常數據達到40%以上的用戶,對保留的用戶用電數據中出現異常的數據采用均值替換法替換異常值。最后所得實驗樣本數據為3 100個用戶用電數據。為保證每個個體在分析過程中的地位相同,對數據進行極差歸一化變換。
對3 100個用戶3個月的用電數據,通過計算相同時間點的日負荷曲線的平均值可以得到該用戶典型的日負荷曲線。采用WCI指標確定最佳聚類數,用戶的典型日負荷曲線作為FCM算法的輸入樣本,對用戶進行分類。在不同聚類數下WCI指標值如圖1所示。

圖1 WCI聚類指標
由圖1可以看出,在聚類數為3時,指標值最優,所以最佳聚類數為3。由于在運行過程中會隨著聚類數的增大而呈現單調遞增的趨勢,故只顯示了前一部分的數據。采用FCM算法對用戶的典型日負荷曲線進行分類,如圖2所示(橫坐標為時間點,縱坐標為歸一化后負荷值)。

(a) 第一類用戶

(b) 第二類用戶

(c) 第三類用戶圖2 負荷曲線分類
由于事先將用戶分了為三類,在分類的基礎上,對每類用戶進行用電數據異常檢測。分析用戶的用電習慣和與其他用戶之間的關系,提取特征并利用主成分分析提取主成分,最后采用局部離群因子計算得到的離群點即為用電異常點。
4.3.1 特征提取與降維
由相似性度量指標、負荷形態指標、負荷趨勢指標和其他指標對用戶負荷曲線進行分析,提取出13個特征,分別是:g1用戶的典型日負荷曲線與得出的負荷特征曲線的歐氏距離和相關系數, g2、g3、g4計算用戶每個月的典型負荷曲線,并計算第一個月與第二個月、第一個月與第三個月、第二個月與第三個月的典型負荷曲線之間的歐氏距離,g5負荷率,g6日峰谷差率,g7峰期負載率,g8平期負載率,g9谷期負載率,g10負荷上升指標,g11負荷下降指標,g12用戶典型日負荷序列的標準差,g13前后時間點的平均差值。將這13個變量作為觀測數據,在分類的基礎上,對每一類用戶進行主成分分析。再通過局部離群因子算法,根據密度檢測出異常點,檢測流程如圖3所示。

圖3 異常檢測流程圖
以第一類用戶為例(第二、三類皆按照同樣方式處理),對其進行降維,提取出貢獻率大的前兩個主成分作為坐標軸,將用戶以散點形式映射到二維坐標軸上。再利用局部離群因子算法,計算出的離群因子大的點即為所要找的用電異常點。主成分及其貢獻率表如表2所示。

表2 主成分及其貢獻率
由表2可知,前兩個主成分累計貢獻率達到80.43%,故可以由前兩個主成分代表第一類用戶的用電模式。圖4為第一類用戶經主成分分析后,映射到二維平面上的散點圖。

圖4 第一類用戶二維平面散點圖
4.3.2 離群點檢測
通過計算AUC來確定局部離群因子算法中的k的取值,結果如表3所示。

表3 不同類別下k值與AUC關系表
由表3可以看出,綜合考慮ROC曲線下的AUC值、計算時間來以及算法的特性,第一、三類當k=70時為最優,第二類k=90時最優。圖5為經算法得到的用戶異常點圖,圖中異常點用圓圈來標記。

(a) 第一類用戶離群點

(b) 第二類用戶離群點

(c) 第三類用戶離群點圖5 用戶離群點圖
本文采用的實驗樣本數據為云南省3 100個用戶用電數據,經過用電異常檢測得出的異常用戶為71,經查其中有58戶存在竊電,正確率為81.6%。為確保模型有足夠的訓練數據,從正常用戶中選取229個用戶數據加上得出的71個異常用戶共300個用戶作為樣本數據。從電力計量系統中提取該300個用戶的8個竊電指標數據,對數據做歸一化處理。由于ELM算法要求訓練樣本有較好的代表性,為了降低ELM算法訓練與分類的時間,對竊電指標做主成分分析可以減少數據信息的重疊,提高效率。采用測試集與訓練集分類預測正確率對模型進行評價。按照4∶1比例分配訓練樣本與測試樣本的數據,訓練樣本數225,測試樣本數75。訓練集選取竊電樣本數為48,測試集竊電樣本數為10,分類預測流程如圖6所示。

圖6 分類預測流程圖
4.4.1 指標提取與降維
采用8個指標數據做主成分分析降低數據維度,去除數據中的包含的重疊信息。竊電指標主成分及貢獻率表如表4所示。

表4 竊電指標主成分及其貢獻率
由表4可見,前5個主成分方差占總方差的98.71%,故原來的8項指標由前5列主成分代替。經主成分分析后竊電指標數據的系數如表5所示。

表5 主成分系數表
4.4.2 ELM參數選取
ELM的連接權值與神經元閾值是隨機產生且無需調整,只需確定隱含層神經元個數以及隱含層神經元的激活函數即可。激活函數的取值分別是sig、sin、hardlim,激活函數訓練時間如表6所示。

表6 激活函數訓練時間對比表
從表6中可以看出激活函數取值為hardlim時,所用的時間是最少的,sig其次,取值為sin所用時間最多。除了隱含層的激活函數,還需考慮隱含層神經元的個數,不同激活函數下隱含層神經元個數對ELM性能的影響如圖7所示。

(a) 激活函數為sig

(b) 激活函數為sin

(c) 激活函數為hardlim圖7 不同激活函數下隱含層神經元個數 對ELM性能的影響
比較圖7(a)、(b)、(c)可知,在神經元個數為30和60時達到性能較好,結合運行時間、測試集和訓練集的預測準確率,選取激活函數為sig,神經元個數為60。
采用PCA-ELM算法對數據進行分類預測,其中竊電用戶標記為1,未竊電用戶標記為2,訓練集預測正確率為99.55%,測試集正確率為98.67%,采用ELM算法訓練集正確率為99.10%,測試集正確率97.33%,實驗結果如圖8所示。

(a) PCA-ELM測試集預測結果

(b) ELM測試集預測結果圖8 預測結果圖
本文主要研究的是通過對用戶歷史用電數據的分析,建立竊電檢測模型。首先對沒有標簽的用戶用電數據進行分類,在分類的基礎上對該類的每個用戶的日負荷曲線采用四種度量指標進行特征提取,對提取出的13個特征變量做主成分分析,以前兩個主成分為坐標將用戶以散點形式映射到二維平面上,采用局部離群因子算法檢測出離群點,即為用電異常的用戶。對檢測出的異常用戶提取其8個竊電特征指標做主成分分析,并輸入模型進行訓練與測試。實驗證明經過PCA處理的ELM相較于未經過PCA處理的ELM的預測精度更高,而該模型能夠很好地識別出竊電用戶,只需重點稽查被標示為竊電的用戶,有助于提高稽查準確率,節省時間、人力,減少并挽回因竊電導致的經濟損失。后續將進一步提高竊電檢測準確率與效率。