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