李梓欣 李 川 李英娜
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院 云南 昆明 650500)
我國(guó)已經(jīng)進(jìn)入了全面建成智能電網(wǎng)階段,隨著智能電網(wǎng)的快速發(fā)展,配用電數(shù)據(jù)呈現(xiàn)出數(shù)據(jù)量大、數(shù)據(jù)類型多、增長(zhǎng)速度快等大數(shù)據(jù)特征[1-2]。但竊電現(xiàn)象依然嚴(yán)重且手段先進(jìn),反竊電手段仍以人工稽核為主,存在工作量大、取證困難和缺乏針對(duì)性等問(wèn)題[3-4]。隨著數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等算法的發(fā)展,對(duì)電力大數(shù)據(jù)挖掘與分析,充分利用數(shù)據(jù)價(jià)值,成為人們關(guān)注的熱點(diǎn)。
文獻(xiàn)[5]提出利用技術(shù)損失模型估計(jì)非技術(shù)損失,估計(jì)出的非技術(shù)損失超過(guò)一定閾值時(shí)便認(rèn)為存在竊電。文獻(xiàn)[6]提出了根據(jù)線路中的電阻產(chǎn)生的損耗和實(shí)際的損耗做比較,來(lái)判斷竊電,但是電阻會(huì)受到外界自然因素的影響。文獻(xiàn)[7]利用對(duì)距離的判斷找出離群點(diǎn)來(lái)檢測(cè)判斷竊電,通過(guò)對(duì)電流或電壓離群點(diǎn)的檢測(cè)來(lái)判斷,但不能判斷其他異常情況。文獻(xiàn)[8]提出了利用皮爾森相關(guān)系數(shù)、貝葉斯網(wǎng)絡(luò)和決策樹來(lái)檢測(cè)非技術(shù)損失。文獻(xiàn)[9]提出一種聚類的新穎性檢測(cè)竊電,提取用戶消費(fèi)指標(biāo),使用模糊聚類來(lái)捕獲由用電行為良好用戶的指標(biāo)構(gòu)成的數(shù)據(jù)結(jié)構(gòu),使用Gustafson-Kessel模糊聚類檢測(cè)用戶行為,以發(fā)現(xiàn)消費(fèi)者異常數(shù)據(jù)。文獻(xiàn)[10]提出基于智能電表數(shù)據(jù)的臺(tái)區(qū)用戶識(shí)別和竊電檢測(cè),通過(guò)對(duì)計(jì)量數(shù)據(jù)和量測(cè)數(shù)據(jù)進(jìn)行計(jì)算和分析,設(shè)置參考電壓,參考電壓與用戶某處電壓計(jì)算差值大于某一閾值判定為竊電。文獻(xiàn)[11]提出一種基于層次分析法的加權(quán)離群竊電檢測(cè)方法,確定參數(shù)和權(quán)重用電氣數(shù)據(jù)計(jì)算出離群因子得出竊電排序。
本文的研究目的是在未知用戶類型與用戶是否存在竊電的情況下,對(duì)大量用戶歷史用電數(shù)據(jù)進(jìn)行分析。通過(guò)提取特征指標(biāo)進(jìn)行降維并結(jié)合局部離群因子、極限學(xué)習(xí)機(jī)算法建立竊電檢測(cè)模型。通過(guò)該模型識(shí)別出竊電用戶,供電公司只需重點(diǎn)稽查被標(biāo)示為竊電的用戶,有助于提高稽查準(zhǔn)確率,節(jié)省時(shí)間、人力,減少并挽回因竊電導(dǎo)致的經(jīng)濟(jì)損失。
模糊C均值聚類算法FCM(Fuzzy C-Mean)通過(guò)分析每個(gè)元素的隸屬度判定該元素屬于哪個(gè)類,將n個(gè)數(shù)據(jù)向量分為c個(gè)模糊類,使模糊目標(biāo)函數(shù)最小,其目標(biāo)函數(shù)為:
(1)
式中:uij為個(gè)體xi屬于第j類的隸屬度;vj為第j類的聚類中心;m為模糊權(quán)重指數(shù);uij和vj的計(jì)算公式為:
(2)
(3)
FCM算法不能自動(dòng)確定聚類數(shù)目c,需人為輸入聚類數(shù)目,聚類數(shù)的確定影響聚類的效果。傳統(tǒng)指標(biāo)有PC、PE、XB、MPC、Kwon、FS等,根據(jù)指標(biāo)的最優(yōu)值確定聚類數(shù)??紤]到數(shù)據(jù)集的模糊劃分與數(shù)據(jù)成員的幾何結(jié)構(gòu),文中采用PC、XB兩種指標(biāo),綜合指標(biāo)結(jié)果,得出聚類數(shù)。因PC最大值對(duì)應(yīng)最佳聚類數(shù),XB指標(biāo)最小值對(duì)應(yīng)最佳聚類數(shù),故綜合指標(biāo)結(jié)果時(shí)取PC結(jié)果的倒數(shù)。綜合聚類指標(biāo)定義如下:
(4)
式中:w1和w2分別為VPC和VXB對(duì)應(yīng)的權(quán)重,VPC和VXB為指標(biāo)結(jié)果,其中PC、XB權(quán)重值都取0.5。
2.1.1 相似性度量指標(biāo)
相似性度量有兩種:距離和相似系數(shù)。用戶典型日負(fù)荷曲線與負(fù)荷特征曲線的相似性利用距離和相似系數(shù)來(lái)計(jì)算。用戶典型日負(fù)荷曲線Xn=(x1,x2,…,xT)和負(fù)荷特征曲線L=(l1,l2,…,lT)之間的歐式距離定義為:
(5)
變量xe與le的相關(guān)系數(shù)定義為:
(6)
式中:
計(jì)算步驟如下:
步驟1采用FCM算法得出用戶負(fù)荷分類與分類中心坐標(biāo)矩陣,由中心坐標(biāo)得出每一類用戶的負(fù)荷特征曲線。
步驟2對(duì)用戶的典型日負(fù)荷曲線與得出的負(fù)荷特征曲線采用歐氏距離和相關(guān)系數(shù)法進(jìn)行計(jì)算。其中ω為權(quán)重,ω3=ω4=0.5。
wcd=w3C+w4d
(7)
步驟3計(jì)算用戶每個(gè)月的典型負(fù)荷曲線,并計(jì)算每個(gè)月典型負(fù)荷曲線之間的歐氏距離。
2.1.2 負(fù)荷形態(tài)指標(biāo)
負(fù)荷形態(tài)指標(biāo)使用負(fù)荷率、日峰谷差、負(fù)載率等5個(gè)指標(biāo)來(lái)分析用電負(fù)荷的特性[12],如表1所示。
表1 負(fù)荷特性指標(biāo)
表1中:P為負(fù)荷值,av均值、max最大值、min最小值,peak峰期、flp平期、val谷期[12]。
負(fù)荷率反映了負(fù)荷全天的變化,日峰谷差率反映了負(fù)荷變化幅度大小,負(fù)載率反映了這段時(shí)期內(nèi)負(fù)荷的變化。
2.1.3 負(fù)荷趨勢(shì)指標(biāo)
負(fù)荷趨勢(shì)指標(biāo)利用簡(jiǎn)單移動(dòng)平均法計(jì)算[13],其計(jì)算公式為:
(8)
式中:Mt為移動(dòng)平均數(shù),t為時(shí)間點(diǎn),T為采集次數(shù)。
計(jì)算步驟如下:
步驟1計(jì)算用戶的典型日負(fù)荷曲線和每個(gè)用戶的n點(diǎn)簡(jiǎn)單平均移動(dòng)序列。
步驟2計(jì)算用戶的負(fù)荷時(shí)間序列與簡(jiǎn)單平均移動(dòng)序列各個(gè)時(shí)間點(diǎn)的相對(duì)大小,小于Mt的點(diǎn)記為a1,a2,…,ah1,大于Mt的點(diǎn)記為b1,b2,…,bh2。
步驟3計(jì)算負(fù)荷的上升特征指標(biāo)與下降特征指標(biāo)rise和decl。
(9)
2.1.4 其他指標(biāo)
(1) 計(jì)算每個(gè)用戶典型日負(fù)荷序列的標(biāo)準(zhǔn)差S,體現(xiàn)用戶負(fù)荷波動(dòng)性。
主成分分析PCA(Principal Component Analysis)是一種多元統(tǒng)計(jì)方法,通過(guò)降維用幾個(gè)主成分以線性組合方式表達(dá)原始的多個(gè)變量。設(shè)x=(x1,x2,…,xp)′為一個(gè)p維總體,考慮如下線性變化:
(10)
PCA中的主元是待處理數(shù)據(jù)的幾個(gè)變量在經(jīng)過(guò)線性組合之后所產(chǎn)生的信息,這種改變使待處理的數(shù)據(jù)在進(jìn)行變換后的變量方差成為了主成分[14]。
異常檢測(cè)算法中,基于密度的離群點(diǎn)檢測(cè)[15]方法通過(guò)數(shù)據(jù)對(duì)象的近鄰分布考察比較,計(jì)算局部異常因子LOF(Local Outlier Factor),判定對(duì)象離群程度。計(jì)算對(duì)象的k-距離、k-距離鄰域、可達(dá)距離、局部可達(dá)密度和局部離群因子,局部離群因子表示異常程度,局部離群因子越大,異常程度越高。
ROC曲線(Receiver Operating Characteristic)用來(lái)評(píng)價(jià)一個(gè)二值分類器的優(yōu)劣,AUC(Area under the Curve of ROC)代表ROC曲線下方面積,值越大準(zhǔn)確性越高。通過(guò)ROC和AUC來(lái)確定局部離群因子算法中k的最優(yōu)取值。
極限學(xué)習(xí)機(jī)算法ELM(Extreme Learning Machine)是由Huang G.B針對(duì)單隱含層前饋神經(jīng)網(wǎng)絡(luò)SLFN(Single-hidden Layer Feedforward Neural Network)提出來(lái)新算法[16-17],與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,具有學(xué)習(xí)速度快、泛化性能好等優(yōu)點(diǎn)。
選用以下8個(gè)指標(biāo)[18-20]以及相關(guān)的數(shù)據(jù)信息作為模型輸入。當(dāng)出現(xiàn)竊電特征時(shí),其計(jì)量數(shù)據(jù)也會(huì)出現(xiàn)一定的相關(guān)性變化,故用主成分分析降低數(shù)據(jù)維度,去除數(shù)據(jù)中的包含的重疊信息。
1) 額定電壓偏離度。電壓一般是保持平衡的,當(dāng)發(fā)生竊電時(shí),電壓數(shù)據(jù)會(huì)發(fā)生變化波動(dòng),電壓與額定電壓的偏離程度,可以體現(xiàn)用電異常。
2) 電壓不平衡率。反映電壓欠壓現(xiàn)象,正常用電時(shí)三相電壓是保持穩(wěn)定的。
3) 電流不平衡度。反映電流欠流現(xiàn)象,正常用電時(shí)三相電流是保持穩(wěn)定的。
4) 功率因數(shù)不平衡率。反映功率波動(dòng)情況,正常用電功率因數(shù)不會(huì)發(fā)生大的變動(dòng)。
5) 用電量離散系數(shù)。正常用電時(shí)單位用電量標(biāo)準(zhǔn)差與電量平均值的絕對(duì)值之比應(yīng)該在一定范圍內(nèi)保持穩(wěn)定。
6) 相位角。正常用電時(shí)相位角電壓與相位角電流之間的夾角會(huì)在固定的范圍。
7) 線損率:線損率是電能在輸送過(guò)程中的損耗的衡量標(biāo)準(zhǔn)。正常用電時(shí)線損率會(huì)在正常范圍內(nèi)。線損率=(線損電量/供電量)×100%。
8) 合同容量比。當(dāng)竊電發(fā)生時(shí),申請(qǐng)的容量與用戶的月用電量之間的比值會(huì)超出固定范圍。
本文采用云南省電網(wǎng)3 320個(gè)電力用戶3個(gè)月的用電數(shù)據(jù),采樣間隔為15分鐘,一天96個(gè)點(diǎn),對(duì)數(shù)據(jù)進(jìn)行清洗,剔除異常數(shù)據(jù)達(dá)到40%以上的用戶,對(duì)保留的用戶用電數(shù)據(jù)中出現(xiàn)異常的數(shù)據(jù)采用均值替換法替換異常值。最后所得實(shí)驗(yàn)樣本數(shù)據(jù)為3 100個(gè)用戶用電數(shù)據(jù)。為保證每個(gè)個(gè)體在分析過(guò)程中的地位相同,對(duì)數(shù)據(jù)進(jìn)行極差歸一化變換。
對(duì)3 100個(gè)用戶3個(gè)月的用電數(shù)據(jù),通過(guò)計(jì)算相同時(shí)間點(diǎn)的日負(fù)荷曲線的平均值可以得到該用戶典型的日負(fù)荷曲線。采用WCI指標(biāo)確定最佳聚類數(shù),用戶的典型日負(fù)荷曲線作為FCM算法的輸入樣本,對(duì)用戶進(jìn)行分類。在不同聚類數(shù)下WCI指標(biāo)值如圖1所示。
圖1 WCI聚類指標(biāo)
由圖1可以看出,在聚類數(shù)為3時(shí),指標(biāo)值最優(yōu),所以最佳聚類數(shù)為3。由于在運(yùn)行過(guò)程中會(huì)隨著聚類數(shù)的增大而呈現(xiàn)單調(diào)遞增的趨勢(shì),故只顯示了前一部分的數(shù)據(jù)。采用FCM算法對(duì)用戶的典型日負(fù)荷曲線進(jìn)行分類,如圖2所示(橫坐標(biāo)為時(shí)間點(diǎn),縱坐標(biāo)為歸一化后負(fù)荷值)。
(a) 第一類用戶
(b) 第二類用戶
(c) 第三類用戶圖2 負(fù)荷曲線分類
由于事先將用戶分了為三類,在分類的基礎(chǔ)上,對(duì)每類用戶進(jìn)行用電數(shù)據(jù)異常檢測(cè)。分析用戶的用電習(xí)慣和與其他用戶之間的關(guān)系,提取特征并利用主成分分析提取主成分,最后采用局部離群因子計(jì)算得到的離群點(diǎn)即為用電異常點(diǎn)。
4.3.1 特征提取與降維
由相似性度量指標(biāo)、負(fù)荷形態(tài)指標(biāo)、負(fù)荷趨勢(shì)指標(biāo)和其他指標(biāo)對(duì)用戶負(fù)荷曲線進(jìn)行分析,提取出13個(gè)特征,分別是:g1用戶的典型日負(fù)荷曲線與得出的負(fù)荷特征曲線的歐氏距離和相關(guān)系數(shù), g2、g3、g4計(jì)算用戶每個(gè)月的典型負(fù)荷曲線,并計(jì)算第一個(gè)月與第二個(gè)月、第一個(gè)月與第三個(gè)月、第二個(gè)月與第三個(gè)月的典型負(fù)荷曲線之間的歐氏距離,g5負(fù)荷率,g6日峰谷差率,g7峰期負(fù)載率,g8平期負(fù)載率,g9谷期負(fù)載率,g10負(fù)荷上升指標(biāo),g11負(fù)荷下降指標(biāo),g12用戶典型日負(fù)荷序列的標(biāo)準(zhǔn)差,g13前后時(shí)間點(diǎn)的平均差值。將這13個(gè)變量作為觀測(cè)數(shù)據(jù),在分類的基礎(chǔ)上,對(duì)每一類用戶進(jìn)行主成分分析。再通過(guò)局部離群因子算法,根據(jù)密度檢測(cè)出異常點(diǎn),檢測(cè)流程如圖3所示。
圖3 異常檢測(cè)流程圖
以第一類用戶為例(第二、三類皆按照同樣方式處理),對(duì)其進(jìn)行降維,提取出貢獻(xiàn)率大的前兩個(gè)主成分作為坐標(biāo)軸,將用戶以散點(diǎn)形式映射到二維坐標(biāo)軸上。再利用局部離群因子算法,計(jì)算出的離群因子大的點(diǎn)即為所要找的用電異常點(diǎn)。主成分及其貢獻(xiàn)率表如表2所示。
表2 主成分及其貢獻(xiàn)率
由表2可知,前兩個(gè)主成分累計(jì)貢獻(xiàn)率達(dá)到80.43%,故可以由前兩個(gè)主成分代表第一類用戶的用電模式。圖4為第一類用戶經(jīng)主成分分析后,映射到二維平面上的散點(diǎn)圖。
圖4 第一類用戶二維平面散點(diǎn)圖
4.3.2 離群點(diǎn)檢測(cè)
通過(guò)計(jì)算AUC來(lái)確定局部離群因子算法中的k的取值,結(jié)果如表3所示。
表3 不同類別下k值與AUC關(guān)系表
由表3可以看出,綜合考慮ROC曲線下的AUC值、計(jì)算時(shí)間來(lái)以及算法的特性,第一、三類當(dāng)k=70時(shí)為最優(yōu),第二類k=90時(shí)最優(yōu)。圖5為經(jīng)算法得到的用戶異常點(diǎn)圖,圖中異常點(diǎn)用圓圈來(lái)標(biāo)記。
(a) 第一類用戶離群點(diǎn)
(b) 第二類用戶離群點(diǎn)
(c) 第三類用戶離群點(diǎn)圖5 用戶離群點(diǎn)圖
本文采用的實(shí)驗(yàn)樣本數(shù)據(jù)為云南省3 100個(gè)用戶用電數(shù)據(jù),經(jīng)過(guò)用電異常檢測(cè)得出的異常用戶為71,經(jīng)查其中有58戶存在竊電,正確率為81.6%。為確保模型有足夠的訓(xùn)練數(shù)據(jù),從正常用戶中選取229個(gè)用戶數(shù)據(jù)加上得出的71個(gè)異常用戶共300個(gè)用戶作為樣本數(shù)據(jù)。從電力計(jì)量系統(tǒng)中提取該300個(gè)用戶的8個(gè)竊電指標(biāo)數(shù)據(jù),對(duì)數(shù)據(jù)做歸一化處理。由于ELM算法要求訓(xùn)練樣本有較好的代表性,為了降低ELM算法訓(xùn)練與分類的時(shí)間,對(duì)竊電指標(biāo)做主成分分析可以減少數(shù)據(jù)信息的重疊,提高效率。采用測(cè)試集與訓(xùn)練集分類預(yù)測(cè)正確率對(duì)模型進(jìn)行評(píng)價(jià)。按照4∶1比例分配訓(xùn)練樣本與測(cè)試樣本的數(shù)據(jù),訓(xùn)練樣本數(shù)225,測(cè)試樣本數(shù)75。訓(xùn)練集選取竊電樣本數(shù)為48,測(cè)試集竊電樣本數(shù)為10,分類預(yù)測(cè)流程如圖6所示。
圖6 分類預(yù)測(cè)流程圖
4.4.1 指標(biāo)提取與降維
采用8個(gè)指標(biāo)數(shù)據(jù)做主成分分析降低數(shù)據(jù)維度,去除數(shù)據(jù)中的包含的重疊信息。竊電指標(biāo)主成分及貢獻(xiàn)率表如表4所示。
表4 竊電指標(biāo)主成分及其貢獻(xiàn)率
由表4可見,前5個(gè)主成分方差占總方差的98.71%,故原來(lái)的8項(xiàng)指標(biāo)由前5列主成分代替。經(jīng)主成分分析后竊電指標(biāo)數(shù)據(jù)的系數(shù)如表5所示。
表5 主成分系數(shù)表
4.4.2 ELM參數(shù)選取
ELM的連接權(quán)值與神經(jīng)元閾值是隨機(jī)產(chǎn)生且無(wú)需調(diào)整,只需確定隱含層神經(jīng)元個(gè)數(shù)以及隱含層神經(jīng)元的激活函數(shù)即可。激活函數(shù)的取值分別是sig、sin、hardlim,激活函數(shù)訓(xùn)練時(shí)間如表6所示。
表6 激活函數(shù)訓(xùn)練時(shí)間對(duì)比表
從表6中可以看出激活函數(shù)取值為hardlim時(shí),所用的時(shí)間是最少的,sig其次,取值為sin所用時(shí)間最多。除了隱含層的激活函數(shù),還需考慮隱含層神經(jīng)元的個(gè)數(shù),不同激活函數(shù)下隱含層神經(jīng)元個(gè)數(shù)對(duì)ELM性能的影響如圖7所示。
(a) 激活函數(shù)為sig
(b) 激活函數(shù)為sin
(c) 激活函數(shù)為hardlim圖7 不同激活函數(shù)下隱含層神經(jīng)元個(gè)數(shù) 對(duì)ELM性能的影響
比較圖7(a)、(b)、(c)可知,在神經(jīng)元個(gè)數(shù)為30和60時(shí)達(dá)到性能較好,結(jié)合運(yùn)行時(shí)間、測(cè)試集和訓(xùn)練集的預(yù)測(cè)準(zhǔn)確率,選取激活函數(shù)為sig,神經(jīng)元個(gè)數(shù)為60。
采用PCA-ELM算法對(duì)數(shù)據(jù)進(jìn)行分類預(yù)測(cè),其中竊電用戶標(biāo)記為1,未竊電用戶標(biāo)記為2,訓(xùn)練集預(yù)測(cè)正確率為99.55%,測(cè)試集正確率為98.67%,采用ELM算法訓(xùn)練集正確率為99.10%,測(cè)試集正確率97.33%,實(shí)驗(yàn)結(jié)果如圖8所示。
(a) PCA-ELM測(cè)試集預(yù)測(cè)結(jié)果
(b) ELM測(cè)試集預(yù)測(cè)結(jié)果圖8 預(yù)測(cè)結(jié)果圖
本文主要研究的是通過(guò)對(duì)用戶歷史用電數(shù)據(jù)的分析,建立竊電檢測(cè)模型。首先對(duì)沒有標(biāo)簽的用戶用電數(shù)據(jù)進(jìn)行分類,在分類的基礎(chǔ)上對(duì)該類的每個(gè)用戶的日負(fù)荷曲線采用四種度量指標(biāo)進(jìn)行特征提取,對(duì)提取出的13個(gè)特征變量做主成分分析,以前兩個(gè)主成分為坐標(biāo)將用戶以散點(diǎn)形式映射到二維平面上,采用局部離群因子算法檢測(cè)出離群點(diǎn),即為用電異常的用戶。對(duì)檢測(cè)出的異常用戶提取其8個(gè)竊電特征指標(biāo)做主成分分析,并輸入模型進(jìn)行訓(xùn)練與測(cè)試。實(shí)驗(yàn)證明經(jīng)過(guò)PCA處理的ELM相較于未經(jīng)過(guò)PCA處理的ELM的預(yù)測(cè)精度更高,而該模型能夠很好地識(shí)別出竊電用戶,只需重點(diǎn)稽查被標(biāo)示為竊電的用戶,有助于提高稽查準(zhǔn)確率,節(jié)省時(shí)間、人力,減少并挽回因竊電導(dǎo)致的經(jīng)濟(jì)損失。后續(xù)將進(jìn)一步提高竊電檢測(cè)準(zhǔn)確率與效率。