何小宇, 董禮賢
(廣東電網(wǎng)有限公司廣州供電局, 廣東, 廣州 510000)
供電局采集用電數(shù)據(jù)數(shù)量較多,廣州電網(wǎng)每日采集數(shù)據(jù)高達(dá)百萬余條。隨著數(shù)據(jù)規(guī)模飛速增長,由于設(shè)備故障和電網(wǎng)波動等原因,導(dǎo)致用戶電費(fèi)異常數(shù)據(jù)時(shí)有發(fā)生,影響廣東電網(wǎng)公司的運(yùn)營管理[1]。在電力市場競爭日益加劇的現(xiàn)狀下,部分低壓電力用戶為了自身利益采用一些惡劣手段竊取電源、拖欠電費(fèi)等,嚴(yán)重影響了電力企業(yè)的正常工作運(yùn)行,增加電力企業(yè)排查電量的成本[2]。為此,該領(lǐng)域相關(guān)研究人員進(jìn)行了大量的研究。
文獻(xiàn)[3]提出通過模糊聚類和孤立森林的用電數(shù)據(jù)異常檢測。該方法針對電量數(shù)據(jù)規(guī)模、維度等,對電量數(shù)據(jù)進(jìn)行預(yù)處理。通過模糊聚類算法,將電網(wǎng)中規(guī)模較大的異常數(shù)據(jù)進(jìn)行分類,并通過孤立森林算法對異常用電量進(jìn)行檢測,分析電量異常點(diǎn)的產(chǎn)生原因,進(jìn)而實(shí)現(xiàn)用戶電費(fèi)異常的識別。該方法可有效識別用戶電力數(shù)據(jù)中的異常點(diǎn),但該方法針對異常電量數(shù)據(jù)集中的數(shù)據(jù)點(diǎn)規(guī)模較小,不利于大規(guī)模異常點(diǎn)電費(fèi)的識別。文獻(xiàn)[4]提出通過熵序列的智能電網(wǎng)數(shù)據(jù)流異常狀態(tài)監(jiān)測方法,對用戶電費(fèi)異常情況進(jìn)行識別。該方法通過采集智能電網(wǎng)中的相關(guān)數(shù)據(jù)流,確定一個窗口,對窗口的強(qiáng)度進(jìn)行分析,通過其強(qiáng)度確定數(shù)據(jù)的異常情況。將判斷后得到的異常電量數(shù)據(jù)作為研究樣本,對其進(jìn)行實(shí)時(shí)監(jiān)測,完成用戶電費(fèi)的識別。該方法可有效判定用戶電量是否異常,但對此類數(shù)據(jù)進(jìn)行檢測易出現(xiàn)以偏概全的問題,導(dǎo)致識別的誤差較大。文獻(xiàn)[5]提出基于三次指數(shù)平滑模型與DBSCAN聚類的電量數(shù)據(jù)異常檢測方法,通過該方法檢測電力用戶電費(fèi)異常情況。該方法首先采用三次指數(shù)平滑模型采集用戶歷史電費(fèi)數(shù)據(jù),將實(shí)際采集的電量值和預(yù)測值相減得到殘差值,最后借助DBSCAN密度聚類算法將殘差項(xiàng)進(jìn)行識別,完成電費(fèi)異常行為的識別。該方法可有效提升電量異常數(shù)據(jù)檢測的精度,但操作過程中抗干擾能力較差,需要進(jìn)一步改進(jìn)。
為了解決傳統(tǒng)方法中存在的不足,本文以廣東電網(wǎng)有限公司廣州供電局為例,設(shè)計(jì)基于用電大數(shù)據(jù)的低壓電力客戶電費(fèi)異常識別模型。通過對用電大數(shù)據(jù)挖掘,為電費(fèi)識別提供大量有效信息支撐,提高廣州低壓電力客戶電費(fèi)異常識別精度。實(shí)驗(yàn)結(jié)果表明:采用本文所提方法可有效識別用戶電費(fèi)異常情況,且識別速度較快。
為實(shí)現(xiàn)低壓電力客戶電費(fèi)異常的識別,挖掘用電大數(shù)據(jù)中低壓電力客戶用電數(shù)據(jù)。由于用電數(shù)據(jù)量規(guī)模較大,故僅保留負(fù)荷數(shù)據(jù)和數(shù)據(jù)采集等字段,數(shù)據(jù)集字段詳情,如表1 所示。
表1 低壓電力客戶用電大數(shù)據(jù)集
通過供電局負(fù)控終端采集的負(fù)荷數(shù)據(jù),獲取供電局日負(fù)荷數(shù)據(jù),繪制n條日負(fù)荷曲線,將負(fù)荷數(shù)據(jù)精簡為24點(diǎn)負(fù)荷數(shù)據(jù),得到n×24階初始負(fù)荷曲線矩陣,構(gòu)成用電大數(shù)據(jù)集。
刪除數(shù)據(jù)集中冗余數(shù)據(jù),將客戶名稱和采集時(shí)間作為唯一確定的數(shù)據(jù)記錄,刪除具有相同記錄的多余數(shù)據(jù)。判斷缺失數(shù)據(jù)的嚴(yán)重程度,將日負(fù)荷曲線缺失20%的讀數(shù)點(diǎn),連續(xù)缺失2個以上的連續(xù)讀數(shù)點(diǎn)定義為數(shù)據(jù)集數(shù)據(jù)嚴(yán)重缺失。采用多階拉格朗日內(nèi)插法,對日負(fù)荷曲線的缺失值進(jìn)行修補(bǔ)[6],即:
(1)
式中,P為日負(fù)荷曲線的修補(bǔ)負(fù)荷值,m1為拉格朗日前推期數(shù),m2為后推期數(shù),t為負(fù)荷數(shù)據(jù)缺失時(shí)刻,Wt為t時(shí)刻時(shí),n×24階初始負(fù)荷曲線矩陣中的有效日負(fù)荷曲線[7]。
由于低壓電力客戶用電數(shù)據(jù)集中數(shù)據(jù)較多,需要確定其中重要異常數(shù)據(jù),獲取用電數(shù)據(jù)關(guān)鍵特征。對基礎(chǔ)數(shù)據(jù)進(jìn)行降維,挖掘數(shù)據(jù)集中用電數(shù)據(jù)與電費(fèi)識別的關(guān)聯(lián)關(guān)系。利用流聚類技術(shù)設(shè)置閾值,選取用電數(shù)據(jù)集中初始簇的中心,計(jì)算用電數(shù)據(jù)到簇中心點(diǎn)的距離,選取小于閾值且靠近簇中心的用電數(shù)據(jù)作為數(shù)據(jù)集族簇,對其進(jìn)行更新迭代[8]。更新族簇的公式為
(2)
式中,ci+1為更新迭代后的數(shù)據(jù)集族簇,i為更新迭代次數(shù),ci為前一次計(jì)算得到的初始族簇,ni為當(dāng)前批次加入族簇的點(diǎn)數(shù)量,ki為已經(jīng)分配到族簇的點(diǎn)數(shù),hi為當(dāng)前批次的族簇中心,a為用電數(shù)據(jù)更新迭代的衰減因子。
通過式(2),得到低壓電力客戶數(shù)據(jù)集中最好的聚類結(jié)果。選取關(guān)聯(lián)關(guān)系最大的用電數(shù)據(jù)點(diǎn)。聚集閾值內(nèi)數(shù)據(jù)點(diǎn)到更新族簇,采用平方和誤差最小函數(shù),獲得具有關(guān)聯(lián)關(guān)系的目標(biāo)函數(shù),對目標(biāo)函數(shù)進(jìn)行更新,直到目標(biāo)函數(shù)收斂。目標(biāo)函數(shù)為
(3)
式中,E代表具有關(guān)聯(lián)關(guān)系的目標(biāo)函數(shù),Q為數(shù)據(jù)集X中各個數(shù)據(jù)點(diǎn),j為族簇的個數(shù),γ為數(shù)據(jù)集中族簇的總數(shù)量,bj為j個族簇的平均值,V為特征參數(shù)的平方誤差和[9]。將含有關(guān)聯(lián)關(guān)系的集合E放于n維空間中,使每個維度空間具有完整的用電數(shù)據(jù)集,從中選取1個最近鄰點(diǎn),如圖1所示。
圖1 用電特征數(shù)據(jù)選擇
圖1中,對4個最近鄰點(diǎn)進(jìn)行加權(quán),獲得與電費(fèi)識別關(guān)聯(lián)關(guān)系最大的數(shù)據(jù)點(diǎn),將數(shù)據(jù)值補(bǔ)充到n維空間的原點(diǎn)位置,得到最大關(guān)聯(lián)特征用電數(shù)據(jù)。
在低壓用電客戶電費(fèi)異常識別中,對n維空間中所有電力特征參數(shù)進(jìn)行處理。設(shè)用電特征參數(shù)總數(shù)量為α,每個用電參數(shù)在識別時(shí)間點(diǎn)β得到一個時(shí)間序列,則模型運(yùn)行參數(shù)構(gòu)成的時(shí)間序列矩陣Oα×β為
(4)
當(dāng)時(shí)間序列矩陣中行數(shù)α小于β時(shí),按維度空間的順序拆分用電特征參數(shù)的時(shí)間序列,逐行疊加生成高維隨機(jī)矩陣,將矩陣各列作為提取維數(shù)的單個個體,將高維隨機(jī)矩陣轉(zhuǎn)換為樣本協(xié)方差矩陣。利用最大似然估計(jì)法,近似估計(jì)所得矩陣,將樣本協(xié)方差矩陣中特征值映射到復(fù)數(shù)域,得到用電數(shù)據(jù)特征值分布規(guī)律[10],為
(5)
式中,M為樣本協(xié)方差矩陣的行數(shù),N為矩陣列數(shù),d為矩陣中滿足均值的復(fù)隨機(jī)變量,σ2為矩陣方差,f為模型運(yùn)行參數(shù)特征值的分布規(guī)律。
針對用電數(shù)據(jù)特征值分布規(guī)律,確定用電數(shù)據(jù)典型特征,需要滿足以下約束條件,即:
(6)
式中,si代表用電特征值中的典型特征量。
當(dāng)用電數(shù)據(jù)滿足上述約束條件后,將用電特征量匹配后剩余的數(shù)據(jù)根據(jù)式(7)進(jìn)行分解,得到用電特征量分布狀態(tài)為
Y=〈Yl,si〉sil+Yl+1
(7)
式中,Yl代表用電特征匹配后余下數(shù)據(jù),經(jīng)過l+1次分解后得到的數(shù)據(jù)特征分布狀態(tài)。此時(shí),當(dāng)f符合MP算法時(shí),低壓電力客戶電費(fèi)未發(fā)生異常,直接輸出用電數(shù)據(jù)集中客戶用電情況。當(dāng)f不符合MP算法時(shí),判斷客戶電費(fèi)發(fā)生異常,即低壓電力客戶電費(fèi)異常識別模型為
(8)
式中,y為特征值譜分布規(guī)律,L為數(shù)據(jù)集中的隨機(jī)矩陣個數(shù),z為協(xié)方差矩陣復(fù)數(shù)域的映射值。
仿真環(huán)境配置為CentOS 6.5-x86-64,Spark 1.6.3,利用Spark單機(jī)模式與Spark+Streaming集群環(huán)境,通過Hadoop集群對客戶進(jìn)行Map和Reduce操作,使低壓電力客戶用電大數(shù)據(jù)橫向聚類。仿真數(shù)據(jù)為廣州低壓電力客戶2020年1月至2020年7月的日用電數(shù)據(jù),總數(shù)據(jù)量為101 500條,用電量單位為兆瓦。仿真以30 min為時(shí)隙,對用電時(shí)間進(jìn)行切割,日平均荷載情況如圖2所示。
圖2 日負(fù)荷總數(shù)據(jù)量
按照圖2負(fù)荷變化曲線對低壓用電客戶進(jìn)行分組,設(shè)置8:00~21:00為客戶用電高峰段,電價(jià)為1.289 7元/kW·h,21:00~24:00為客戶用電平段,電價(jià)為0.768 9元/kW·h,24:00~8:00為客戶用電低谷段,電價(jià)為0.463 8元/kW·h。用電時(shí)間切割后,獲得48個時(shí)間片的數(shù)據(jù)集。
在Spark集群環(huán)境下,設(shè)置客戶用電負(fù)載變量為6個時(shí)間片,待識別的用電數(shù)據(jù)為1 000條/s,采用3組識別模型:本文模型(A組識別模型)、基于模糊聚類和孤立森林的識別模型(B組識別模型)以及智能電網(wǎng)大數(shù)據(jù)異常狀態(tài)識別模型(C組識別模型),分別接收1 000條用電數(shù)據(jù),并對接收的數(shù)據(jù)進(jìn)行聚類處理,分析3組識別方法的識別速率,結(jié)果如圖3所示。
圖3 不同識別模型的識別耗時(shí)對比
分析圖3可知,采用3種模型對樣本用電數(shù)據(jù)識別的耗時(shí)不同。其中,本文所提模型的識別耗時(shí)較短,約為0.1 s,其他2種識別模型的最短識別耗時(shí)分別約為3 s 和4 s,相比之下本文所提方法的識別速度最快。
實(shí)驗(yàn)分析3組識別模型對用戶電費(fèi)異常識別的精度,結(jié)果如圖4 所示。
圖4 不同識別模型的識別誤差對比
分析圖4可以看出,隨著識別數(shù)據(jù)量的改變,3種識別模型的識別誤差隨之發(fā)生改變。其中,本文所提模型的識別誤差最高約為2.1%,而其他2種模型的識別誤差始終高于本文所提模型。這是由于本文所提模型采用平方和誤差最小函數(shù)確定具有最大關(guān)聯(lián)特征的用電數(shù)據(jù);分析用電數(shù)據(jù)特征值分布規(guī)律,降低異常電費(fèi)數(shù)據(jù)識別誤差。
本文設(shè)計(jì)基于用電大數(shù)據(jù)的低壓電力客戶電費(fèi)異常識別模型,通過對低壓用電客戶的用電數(shù)據(jù)特征進(jìn)行獲取,采用平方和誤差最小函數(shù)確定具有最大關(guān)聯(lián)特征的用電數(shù)據(jù);通過對n維空間中所有電力特征參數(shù)的處理,構(gòu)建低壓電力客戶電費(fèi)異常識別模型。本文所提模型對用電數(shù)據(jù)的識別耗時(shí)較短,識別誤差較低,對低壓電力客戶電費(fèi)異常識別具有一定意義。