文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2018.S1.068
0 引言
近年來(lái),隨著用電信息采集系統(tǒng)的推廣,部分地區(qū)的用電數(shù)據(jù)采集成功率達(dá)到99%以上,大工業(yè)用戶(hù)的96點(diǎn)負(fù)荷數(shù)據(jù)反映了用戶(hù)的用電特征和用電習(xí)慣。在同一個(gè)行業(yè)里,往往存在幾種相同的、相似的用電特性,而一小部分與其他企業(yè)用電習(xí)慣不同的用戶(hù),稱(chēng)之為離群點(diǎn),離群用戶(hù)往往意味著用電異常、疑似竊電等情況,因此對(duì)于電力離群用戶(hù)的識(shí)別具有重要的業(yè)務(wù)意義。針對(duì)無(wú)序數(shù)據(jù)的離群點(diǎn)檢測(cè)方法通常包括基于統(tǒng)計(jì)的方法、基于距離的方法、基于密度的方法和基于偏離的方法。針對(duì)時(shí)間序列間的離群點(diǎn)檢測(cè)方法,近年來(lái)的主要研究包括:文獻(xiàn)[2]提出了一種基于小波密度估計(jì)的數(shù)據(jù)流離群點(diǎn)檢測(cè);文獻(xiàn)[3]提出了一種基于粗糙集理論的序列離群點(diǎn)檢測(cè)方法,利用粗糙集理論中的知識(shí)熵和屬性重要性等概念來(lái)構(gòu)建3種類(lèi)型的序列,并通過(guò)分析序列中元素的變化情況來(lái)檢測(cè)離群點(diǎn)。在電力領(lǐng)域的離群點(diǎn)檢測(cè)研究中,文獻(xiàn)[4]提出了一種基于集合論估計(jì)的電網(wǎng)狀態(tài)辨識(shí)的離群點(diǎn)識(shí)別方法,它基于相容性的角度對(duì)離群點(diǎn)的性質(zhì)進(jìn)行分析,提出不相容離群點(diǎn)和相容離群點(diǎn)的概念,并基于狀態(tài)估計(jì)和集合論估計(jì)理論分別識(shí)別兩類(lèi)離群點(diǎn)。在使用數(shù)據(jù)挖掘的技術(shù)方案中,文獻(xiàn)[1]中NAGI J等人使用GA-SVM (Genetic Support Vector Machines)檢測(cè)用電異常情況和竊電行為,GA-SVM使用C類(lèi)SVM進(jìn)行分類(lèi),能夠取得較高的準(zhǔn)確率,但是存在學(xué)習(xí)時(shí)間過(guò)長(zhǎng)、需要事先對(duì)大量樣本進(jìn)行分類(lèi)的問(wèn)題。文獻(xiàn)[5]中提出了一種基于高斯核函數(shù)改進(jìn)的電力用戶(hù)用電數(shù)據(jù)離群點(diǎn)檢測(cè)方法。首先通過(guò)模糊聚類(lèi)的方法將用戶(hù)分類(lèi);然后提取每一類(lèi)用戶(hù)的用電行為特征量,采用主成分分析法對(duì)特征集進(jìn)行降維;最后利用高斯核函數(shù)改進(jìn)局部離群因子算法,提出高斯核密度局部離群因子。文獻(xiàn)文獻(xiàn)[6]提出了一種基于SVM的AMI環(huán)境下用電異常檢測(cè)研究方法,使用One-Class SVM無(wú)監(jiān)督機(jī)器學(xué)習(xí)架構(gòu)對(duì)電力用戶(hù)負(fù)荷異常進(jìn)行檢測(cè),但因?yàn)槲磳?duì)參數(shù)進(jìn)行優(yōu)化,同樣存在學(xué)習(xí)時(shí)間過(guò)長(zhǎng)、容易陷入局部最優(yōu)化的問(wèn)題。
本文提出了一種基于蟻群算法優(yōu)化參數(shù)的One-Class SVM分類(lèi)算法進(jìn)行用電特征離群用戶(hù)識(shí)別研究,并通過(guò)實(shí)踐分析證明,該算法能夠有效識(shí)別某個(gè)行業(yè)中的用電特征離群用戶(hù)。
1 算法介紹
1.1 SVM簡(jiǎn)介
支持向量機(jī)(Support Vector Machine,SVM)是VAPNIK V和CORTES C等人于20世紀(jì)90年代提出的一種分類(lèi)算法,它是基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,利用有限樣本訓(xùn)練獲取具有較高泛化能力的決策函數(shù)。根據(jù)樣本集的特征,支持向量機(jī)可分為線性支持向量機(jī)和非線性支持向量機(jī)。一般情況下,實(shí)際問(wèn)題中的樣本是符合高斯分布的非線性樣本集。本文專(zhuān)注于對(duì)非線性支持向量機(jī)的研究。
設(shè)樣本集為(xi,yi),i=1,2,…,n,其中n代表樣本個(gè)數(shù),xi∈Rm是樣本的特征向量,yi∈{+1,-1}為樣本類(lèi)別。存在非線性映射x→Φ(x),可以將樣本特征向量映射到另一個(gè)高維特征空間,并構(gòu)造最優(yōu)分類(lèi)超平面:
其中C為懲罰參數(shù),控制錯(cuò)分樣本的懲罰程度。
引入核函數(shù)K(xi,xj)=Φ(xi)·Φ(xj),再用拉格朗日乘子法,將上述最優(yōu)化問(wèn)題轉(zhuǎn)化為對(duì)偶形式:
1.2 One-Class SVM算法介紹
One-Class問(wèn)題指的是在分類(lèi)問(wèn)題中由于異常樣本較難獲取而只關(guān)注正常樣本,可以用One-Class SVM來(lái)解決,本文研究的電力離群用戶(hù)檢測(cè)即可以用此方法。在One-Class SVM算法中常用的核函數(shù)有線性核函數(shù)、多項(xiàng)式核函數(shù)、高斯徑向基(RBF)核函數(shù)以及Sigmoid核函數(shù)等,本文采用高斯徑向基核函數(shù)
One-Class SVM的參數(shù)決定了該算法的學(xué)習(xí)能力和推廣能力,對(duì)于RBF核函數(shù)的One-Class SVM來(lái)說(shuō),其參數(shù)包含懲罰參數(shù)C和核參數(shù)σ。懲罰參數(shù)C是在結(jié)構(gòu)化風(fēng)險(xiǎn)和樣本誤差之間的折中,其值越大則允許的誤差越小;核參數(shù)σ與學(xué)習(xí)樣本的輸入空間范圍和寬度有關(guān),樣本輸入空間越大,σ取值越大。
2 改進(jìn)蟻群算法優(yōu)化One-Class SVM參數(shù)
One-Class SVM算法通常存在參數(shù)難以確定的問(wèn)題,本文采用改進(jìn)的蟻群算法對(duì)參數(shù)進(jìn)行調(diào)優(yōu)。蟻群算法是1992年意大利學(xué)者DORIGO M首先提出的一種源于螞蟻覓食行為的智能仿生蟻群優(yōu)化算法,該算法具有智能搜索、正反饋、全局優(yōu)化、魯棒性強(qiáng)等優(yōu)點(diǎn),本文采用蟻群算法優(yōu)化One-Class SVM參數(shù)。
2.1 初始化參數(shù)
首先初始化蟻群算法的迭代次數(shù)M、蟻群數(shù)量N、全局搜索步長(zhǎng)lam和信息素?fù)]發(fā)系數(shù)等參數(shù)Rho。再隨機(jī)生成每只螞蟻的初始化位置(C,σ),然后對(duì)訓(xùn)練集通過(guò)SVM學(xué)習(xí)得到相應(yīng)的正確率模型:
其中precission(i)代表第i只螞蟻進(jìn)行SVM訓(xùn)練的準(zhǔn)確率。當(dāng)準(zhǔn)確率越大時(shí)信息素越大。
2.2 局部和全局搜索
首先找到信息素最大的螞蟻并保存信息素信息為T(mén)0(bestindex),根據(jù)螞蟻的信息素大小確定每只螞蟻的下一步轉(zhuǎn)移概率:
如果螞蟻i的轉(zhuǎn)移概率p(i)≥p0,則進(jìn)行全局搜索。當(dāng)進(jìn)行局部搜索時(shí),對(duì)螞蟻的位置進(jìn)行迭代更新,使用如下規(guī)則:記(Cold,σold)為迭代前的螞蟻位置,(Cnew,σnew)為迭代后的螞蟻位置,(Cbest,σbest)為迭代前信息素最大的螞蟻所在的位置,則當(dāng)Cold<Cbest時(shí),Cnew=Cold+lam;否則,Cnew=Cold-lam。同理,當(dāng)σold<σbest時(shí),σnew=σold+lam;否則,σnew=σold-lam。
2.3 更新信息素
若所有的螞蟻都完成了一次局部或全局搜索的迭代,根據(jù)蟻群算法的規(guī)則,需要對(duì)每個(gè)螞蟻位置上的信息素進(jìn)行更新,將信息素?fù)]發(fā)因子定義為:
利用更新后的信息素重復(fù)2.2的步驟,直至迭代次數(shù)達(dá)到設(shè)定的最大迭代次數(shù),參數(shù)優(yōu)化完成。找到信息素最大的螞蟻,并記錄下其位置(C,σ),即為One-Class SVM的最優(yōu)化參數(shù)。
本文的改進(jìn)蟻群算法優(yōu)化One-Class SVM的過(guò)程如圖1所示。
3 實(shí)證驗(yàn)證
本文以某地市電力公司的紡織業(yè)用戶(hù)的用電負(fù)荷數(shù)據(jù)為樣本,通過(guò)數(shù)據(jù)選取、數(shù)據(jù)預(yù)處理,利用上述基于蟻群算法優(yōu)化的改進(jìn)One-Class SVM算法進(jìn)行離群用戶(hù)識(shí)別建模,最終通過(guò)模型輸出電力離群用戶(hù)。
3.1 數(shù)據(jù)選取及預(yù)處理
本文選取某地市電力采集系統(tǒng)的紡織業(yè)所有用戶(hù)(共計(jì)6 046個(gè))的96點(diǎn)負(fù)荷數(shù)據(jù),時(shí)間跨度為2018年2月1日至5月31日,共3個(gè)月,共計(jì)54萬(wàn)余條樣本數(shù)據(jù),94個(gè)維度,如表1所示。
3.2 數(shù)據(jù)預(yù)處理
在做大數(shù)據(jù)分析時(shí),獲取到的原始數(shù)據(jù)通常不能立即使用,需要進(jìn)行相應(yīng)的去重、填補(bǔ)缺失值、歸一化處理等數(shù)據(jù)規(guī)范化操作才能使數(shù)據(jù)正??捎?,本文的數(shù)據(jù)預(yù)處理包括缺失值處理、歸一化處理和數(shù)據(jù)降維。
(1)缺失值處理
由于數(shù)據(jù)采集系統(tǒng)在采集的過(guò)程中可能存在斷電或者其他采集異常等行為,會(huì)導(dǎo)致用戶(hù)96點(diǎn)負(fù)荷數(shù)據(jù)存在缺失值,如若不處理將會(huì)對(duì)分析結(jié)果造成影響。常用的處理缺失值的方法有刪除法、均值插補(bǔ)法、多重插補(bǔ)法等,本文采取的方式是均值插補(bǔ)法,即對(duì)每一個(gè)指標(biāo)中存在的缺失值用該指標(biāo)的非缺失樣本均值填充。
(2)歸一化處理
本文的目的是尋找用電曲線特征離群的用戶(hù),因此在處理數(shù)據(jù)時(shí),需要通過(guò)歸一化消除不同樣本之間負(fù)荷數(shù)據(jù)的大小問(wèn)題,本文按照每個(gè)樣本對(duì)數(shù)據(jù)進(jìn)行歸一化。處理函數(shù)如下:
其中x是某一樣本,i是代表該樣本對(duì)應(yīng)的第x個(gè)變量,min(x)表示該用戶(hù)這一天的最小負(fù)荷,max(x)表示該用戶(hù)這一天的最大負(fù)荷。
(3)數(shù)據(jù)降維
本文數(shù)據(jù)采集的是96點(diǎn)負(fù)荷數(shù)據(jù),維度太高對(duì)輸入模型的干擾較大,因此本文將數(shù)據(jù)處理為24小時(shí)的負(fù)荷數(shù)據(jù)。
3.3 蟻群算法獲取最優(yōu)One-Class SVM參數(shù)
在蟻群算法中,設(shè)置初始化參數(shù):迭代次數(shù)M=50,蟻群數(shù)量N=20,信息素?fù)]發(fā)系數(shù)Rho=0.1,步長(zhǎng)lam=0.03,螞蟻的初始化位置(C,σ)為隨機(jī)生成的范圍均為(0,1)。期間進(jìn)行One-Class SVM訓(xùn)練的樣本為6 046個(gè)用戶(hù)的用電負(fù)荷數(shù)據(jù)。最終得到最優(yōu)的(C,σ)為(0.057,0.378)。
3.4 One-Class SVM異常點(diǎn)檢測(cè)
本文選用的核函數(shù)為高斯徑向基函數(shù),懲罰系數(shù)和核函數(shù)分別取蟻群算法訓(xùn)練得到的最優(yōu)參數(shù)的One-Class SVM模型對(duì)樣本數(shù)據(jù)集進(jìn)行異常點(diǎn)檢測(cè),在6 046個(gè)樣本中共檢測(cè)出異常點(diǎn)344個(gè),正常點(diǎn)5 702個(gè)。對(duì)所有樣本數(shù)據(jù)采用主成分分析(PCA)降至三維后,進(jìn)行可視化,可得所有異常負(fù)荷點(diǎn)和正常負(fù)荷點(diǎn)的分布圖,如圖2所示。
在電量負(fù)荷曲線的表現(xiàn)上,離群用戶(hù)與正常用戶(hù)的差異很大,如圖3所示。正常用戶(hù)的負(fù)荷用電高峰出現(xiàn)在上午9點(diǎn)至下午17點(diǎn)范圍內(nèi),而離群用戶(hù)的負(fù)荷高峰出現(xiàn)在下午18點(diǎn)至凌晨2點(diǎn)這個(gè)范圍內(nèi),特征差異明顯,通過(guò)對(duì)識(shí)別出來(lái)的離群用戶(hù)進(jìn)行調(diào)研,這部分用戶(hù)屬于多用電量較大且對(duì)電費(fèi)敏感,在晚上進(jìn)行生產(chǎn)的用戶(hù)。
4 結(jié)論
本文通過(guò)基于蟻群算法改進(jìn)One-Class SVM模型對(duì)電力離群用戶(hù)進(jìn)行識(shí)別,實(shí)踐證明,該改進(jìn)的算法具有收斂速度快、運(yùn)行效果好、能較快得到全局最優(yōu)解等特點(diǎn),具有良好的實(shí)踐效果,能有效識(shí)別出用電特征離群的用戶(hù)。
參考文獻(xiàn)
[1] NAGI J, YAP K S, TIONG S K, et al. Detection of abnormalities and electricity theft using genetic support vector Machines[C].TENCON 2008-2008 IEEE Region 10 Conference.IEEE,2008:1-6.
[2] 劉耀宗,張宏,孟錦,等.基于小波密度估計(jì)的數(shù)據(jù)流離群點(diǎn)檢測(cè)[J].計(jì)算機(jī)工程,2013,39(2):178-181.
[3] 江峰,杜軍威,葛艷,等.基于粗糙集理論的序列離群點(diǎn)檢測(cè)[J].電子學(xué)報(bào),2011(2):345-350.
[4] 周寧慧,王彬,王治華,等.基于集合論估計(jì)的電網(wǎng)狀態(tài)辨識(shí) (四)離群點(diǎn)識(shí)別[J].電力系統(tǒng)自動(dòng)化,2016,40(8):22-28,50.
[5] 孫毅,李世豪,崔燦,等.基于高斯核函數(shù)改進(jìn)的電力用戶(hù)用電數(shù)據(jù)離群點(diǎn)檢測(cè)方法[J].電網(wǎng)技術(shù),2018,42(5):1595-1606.
[6] 簡(jiǎn)富俊,曹敏,王磊,等.基于SVM的AMI環(huán)境下用電異常檢測(cè)研[J]. 電測(cè)與儀表,2014(6):64-69.
[7] 張玲,劉波.基于殘差統(tǒng)計(jì)的時(shí)間序列加性離群點(diǎn)檢測(cè)算法研究[J].電子技術(shù)應(yīng)用,2015,41(9):85-87,91.
[8] 孫毅,李世豪,崔燦,等.基于高斯核函數(shù)改進(jìn)的電力用戶(hù)用電數(shù)據(jù)離群點(diǎn)檢測(cè)方法[J].電網(wǎng)技術(shù),2018,42(5):1595-1606.
[9] 李權(quán),周興社.一種新的多變量時(shí)間序列數(shù)據(jù)異常檢測(cè)方法[J].時(shí)間頻率學(xué)報(bào),2011,34(2):154-158.
[10] 周勇.時(shí)間序列時(shí)序關(guān)聯(lián)規(guī)則挖掘研究[D].成都:西南財(cái)經(jīng)大學(xué),2008.
[11] 蘇衛(wèi)星,朱云龍,胡琨元,等.基于模型的過(guò)程工業(yè)時(shí)間序列異常值檢測(cè)方法[J].儀器儀表學(xué)報(bào),2012(9):2080-2087.
[12] 皇甫堪,陳建文,樓生強(qiáng).現(xiàn)代數(shù)字信號(hào)處理[M].北京:電子工業(yè)出版社,2003.
[13] 薛安榮,鞠時(shí)光,何偉華,等.局部離群點(diǎn)挖掘算法研究[J]. 計(jì)算機(jī)學(xué)報(bào),2007(8):1455-1463.
作者信息:
張 薇1,呂 磊2,朱 敏2
(1.中國(guó)電力科學(xué)研究院有限公司,北京 100192;2.國(guó)網(wǎng)四川省電力公司眉山供電公司,四川 眉山 620020)