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