李寧,尹小明,丁學(xué)峰,蔡慧,汪偉
(1.中國計量大學(xué) 機電工程學(xué)院,杭州 310018; 2.國網(wǎng)浙江長興縣供電有限公司,浙江 湖州 313100)
當(dāng)前,我國電力行業(yè)正處在技術(shù)水平升級的關(guān)鍵時期,需要加強新技術(shù)產(chǎn)品的開發(fā)。電網(wǎng)規(guī)模的逐漸增大和電力消費增長的同比提高,使電力網(wǎng)絡(luò)經(jīng)濟化運行、節(jié)約資源降低線損以及優(yōu)化電力消費結(jié)構(gòu)成為當(dāng)今社會關(guān)注的熱點話題[1]。
隨著竊電現(xiàn)象的層出不窮,我國電力企業(yè)每年因竊電產(chǎn)生的損失高達200億,社會供用電秩序也受到了極大地影響。所以電力企業(yè)必須開展高效的反竊電工作,以做到合理供電、合理用電,盡可能降低經(jīng)濟損失[2]。
目前,國網(wǎng)供電公司采取的反竊電措施主要有:應(yīng)用專業(yè)化的電能表箱和計量箱;將低壓出線端閉合至計量裝置的導(dǎo)體,此技術(shù)是目前反竊電技術(shù)中應(yīng)用最為廣泛的方法;安裝反竊電智能電能表、豐富電能表功能;提高電采集系統(tǒng)的應(yīng)用率等[3]。但是這些方法大多以研究反竊電裝置為主,缺乏足夠的反竊電算法用于分析海量的歷史用電數(shù)據(jù),從而很難發(fā)現(xiàn)竊電用戶的用電特征[4]。
當(dāng)前主流的反竊電算法有聚類、BP神經(jīng)網(wǎng)絡(luò)、離群點算法等。文獻[5]利用自適應(yīng)k-means聚類算法提取用戶的典型負荷曲線,用于實現(xiàn)負荷預(yù)測和負荷控制。文獻[6]分析了基于BP神經(jīng)網(wǎng)絡(luò)的異常點檢測方法處理各種數(shù)據(jù)的情況,為挖掘電力數(shù)據(jù)異常點提供一種新的思路。文獻[7]介紹了一種基于異常因子檢測分析的電能表飛走異常分析方法,是一種檢測電能表飛走異常的新方法。
文章中研究的是一種針對電量數(shù)據(jù)異常點挖掘的竊電辨識方法,該方法融合聚類和異常點檢測算法,可以解決單一算法對離散度較高、非規(guī)律性的樣本無法有效挖掘的問題。方法的實現(xiàn)過程是:先利用聚類算法對樣本進行粗略分類,按照包含竊電異常嫌疑點數(shù)量大小降序排列,然后運用異常點挖掘算法對竊電嫌疑最大(即包含異常點數(shù)量最多)的一類進行二次分析,最后綜合兩種算法分析結(jié)果和實際情況確定最終的竊電嫌疑數(shù)據(jù),并實現(xiàn)竊電報警。換句話說,這種方法可在現(xiàn)有的計量裝置下,通過分析用電量數(shù)據(jù)特征發(fā)現(xiàn)竊電用戶,降低防竊電成本[8]。
聚類算法有很多種,選擇哪一種算法用于實際樣本分析取決于數(shù)據(jù)的類型、聚類的目的。聚類算法主要分為:劃分方法、層次方法、基于密度的方法以及基于模型的方法等,在這些方法中使用最為廣泛的是劃分方法中的K-means聚類算法。該算法數(shù)據(jù)處理的效率高且原理簡單、易于實現(xiàn),因此文中采用K-means聚類算法。
K-means聚類算法不同于分類方法,它不需要事先確定樣本分類類別的屬性,一般是根據(jù)經(jīng)驗和需求先確定聚類的數(shù)目k,然后隨機選取k個點作為k個簇的聚類中心。初始聚類數(shù)目和初始聚類中心對聚類效果的影響都很大,一般對K-means聚類算法的改進都是在這兩個方面進行[9]。而聚類準(zhǔn)則函數(shù)通常都是采用誤差平方和最小函數(shù),即:
(1)
式中SSE是數(shù)據(jù)庫中所有樣本平方誤差的總和;x是空間中的點,表示給定的對象;ci是第i個簇的樣本平均值。
聚類算法迭代結(jié)束的條件是聚類準(zhǔn)則函數(shù)達到最優(yōu),這種最小方差劃分使生成的結(jié)果簇盡可能的緊湊和獨立。
在大量數(shù)據(jù)中挖掘異常點的任務(wù)可以被分為兩個子任務(wù):
(1)準(zhǔn)確定義異常點;
(2)找到異常點挖掘方法。
1.2.1 定義異常點
假設(shè)任意一個樣本點的鄰域內(nèi)最多允許的鄰居數(shù)為M,若發(fā)現(xiàn)某個樣本點存在第M+1個鄰居,則該點不是異常點;反之,若某個樣本點的鄰居數(shù)少于M個,則該點是異常點[10]??偨Y(jié)來說,在正常情況下,樣本的鄰居節(jié)點越少,則它是異常點的概率就越大。
求任意樣本點的鄰居數(shù)的方法是計算它與其他所有點的歐式距離,根據(jù)距離的大小來定義它們之間的相似度[11],最后根據(jù)上述假設(shè)確定分析的樣本點是否是異常點。由于所研究分析的對象是日用電量數(shù)據(jù),所以此處采用的是一維歐氏距離。對兩個一維樣本數(shù)據(jù)x1和x2,歐式距離公式定義為:
D(x1,x2)=|x1-x2|
(2)
采用一維樣本大大降低了數(shù)據(jù)處理的復(fù)雜度,提高了算法執(zhí)行的效率。因此,和其它竊電辨識算法相比,該方法具有一定的優(yōu)勢。
1.2.2 異常點挖掘方法
對于一個包含n個樣本的數(shù)據(jù)集,采用循環(huán)搜索樣本鄰居的方法發(fā)現(xiàn)所有樣本的k個鄰居。當(dāng)k≤M時,則可初步確定該點是異常點;反之,k>M時,則可認為該點是正常點。
兩種算法融合的過程是先用K-means聚類對樣本進行粗略地分類,按照包含竊電異常嫌疑點數(shù)量的大小降序排列,然后利用異常點檢測算法對竊電嫌疑最大的一類進行二次分析,最后綜合兩種算法分析結(jié)果和實際情況確定最終的竊電嫌疑數(shù)據(jù),并實現(xiàn)竊電報警。
對日用電量數(shù)據(jù)特征進行分析可解決聚類數(shù)目k和初始聚類中心選擇不合理導(dǎo)致聚類效果下降的問題。因為根據(jù)用電量的實際情況,即使實際樣本波動很大,一般可將用電量分為3類,即異常偏高非竊電的樣本點、處在正常范圍內(nèi)的樣本點、偏低的竊電嫌疑點,因此可將初始聚類數(shù)目k定為3;而對于一組符合上述情況的樣本,其樣本最大值、樣本均值、樣本最小值可以作為3個類的初始聚類中心。具體的聚類流程如圖1所示。
將圖1中的聚類結(jié)果按照包含異常點個數(shù)的大小降序排列,然后對竊電嫌疑最大的一類樣本利用異常點檢測算法進行二次分析,見圖2。
圖1 聚類算法流程圖
圖2 異常點檢測算法流程圖
圖3所示,融合兩種算法的竊電辨識方法是對聚類算法得到的異常數(shù)據(jù)進一步篩選,提高了竊電嫌疑報警的可信度。
圖3 融合兩種算法的竊電辨識方法流程圖
樣本作為算法的輸入,必定會影響算法輸出的分析結(jié)果,因此做好數(shù)據(jù)清洗和預(yù)處理工作對提高算法的準(zhǔn)確性至關(guān)重要。表1中數(shù)據(jù)清洗的規(guī)則主要有四條。
表1 數(shù)據(jù)清洗規(guī)則
總之,清洗后要保證日用電量數(shù)據(jù)和相應(yīng)的用電時間一一對應(yīng),否則無法正常處理和分析。數(shù)據(jù)預(yù)處理包含電量計算和電量數(shù)據(jù)歸一化。
任意一天用電量的計算方法定義為:
di=pi-pi-1
(3)
式中pi代表第i天的表計總正向有功功率,pi-1代表第i-1天的表計總正向有功功率。
當(dāng)樣本數(shù)量較多時,一般采用線性歸一化方法將所有樣本化為介于0和1之間的數(shù)。線性歸一化公式為:
(4)
式中x(i)代表任意一個樣本值;min(x(n))代表樣本最小值;max(x(n))代表樣本最大值。
經(jīng)過上述數(shù)據(jù)清洗和預(yù)處理過程,很大程度地減少了原始樣本數(shù)據(jù)不均衡對竊電辨識效果的影響。以此為基礎(chǔ),經(jīng)過K-means聚類算法和異常點檢測算法的兩次分析篩選,最終得到的異常點數(shù)據(jù)已經(jīng)有很大的竊電嫌疑了。最后,通過對異常點對應(yīng)的時間進行準(zhǔn)確報警,可以為一線稽查人員的現(xiàn)場排查工作提供較為準(zhǔn)確的依據(jù)。
此外,考慮到該方法所用數(shù)據(jù)都是由智能電能表采集得到,電能表如果存在時鐘偏差將導(dǎo)致用電數(shù)據(jù)不準(zhǔn)確,進而在很大程度上影響竊電辨識結(jié)果的可信度。電力行業(yè)一般要求現(xiàn)場運行的電能表實際時鐘與北京時間的差異δ≤5 min/年(即0.82 s/天),因此在實際的分析過程中,要根據(jù)電能表是否存在偏差以及偏差程度大小適當(dāng)調(diào)整算法辨識的結(jié)果以減少誤差。
為了驗證該方法在實際竊電辨識工作的有效性,下面選取了用電信息采集系統(tǒng)采集的真實數(shù)據(jù)進行分析驗證。
經(jīng)過數(shù)據(jù)清洗后的某低壓用電用戶A在2015.4.1~2015.10.9期間的日用電量數(shù)據(jù)如圖4所示。橫坐標(biāo)表示按照時間前后順序排列的數(shù)據(jù)編號,縱坐標(biāo)表示的是用電量數(shù)值。從圖中可以看出,該樣本數(shù)據(jù)離散度較高、規(guī)律不明顯,所以不能直觀地看出該用戶在哪一天開始竊電。因此,下面使用融合聚類和異常點檢測算法的數(shù)據(jù)挖掘方法進行分析。
圖4 用戶A日用電量
該樣本的用電量最大值dmax=139.260 0(單位:kWh,下同),用電量最小值dmin=0,樣本均值dmean=32.028 3。基于上述原理,初始聚類數(shù)目定為3,即將原始樣本分為3類C1、C2、C3,初始聚類中心集合Ccenter={139.260 0,32.028 3,0}。
因為實際分析的樣本數(shù)量有限,此處的樣本未經(jīng)過歸一化。聚類分析的結(jié)果是將樣本分成3類,聚類后的結(jié)果不是按照原有時間順序排列,而是根據(jù)大小分類(見圖5)。
圖5 聚類算法分析結(jié)果
很明顯,經(jīng)過聚類得到的分類結(jié)果還是比較粗糙的,處在簇邊緣的一些樣本被錯誤分類。
因此,需要利用異常點檢測算法對該分類結(jié)果進行二次分類。按照包含竊電嫌疑異常點數(shù)目大小將3類結(jié)果降序排列,即:標(biāo)簽1類>標(biāo)簽2類>標(biāo)簽3類,3類用電量數(shù)據(jù)如圖6所示。
圖6 標(biāo)簽分類用電量
考慮到竊電實際情況,在針對竊電嫌疑最大的標(biāo)簽1類進行二次分類的結(jié)果中,將少量“×”狀的樣本數(shù)據(jù)(即錯誤聚類到標(biāo)簽1類的樣本點)去掉,“”狀樣本點即為最終的異常點,將異常點與其對應(yīng)的時間聯(lián)系起來,就可以實現(xiàn)竊電時間報警(見圖7)。
單獨使用異常點檢測算法得到的分析結(jié)果如圖8所示。圖中底部的粗線部分是檢測出的70個用電異常點,個數(shù)較多且較為密集。
圖7 標(biāo)簽1類異常點二次分類結(jié)果
圖8 異常點檢測算法分析結(jié)果
通過上述案例分析得到的竊電報警時間為2015年7月17日,實際查證的開始出現(xiàn)竊電異常的時間為2015年7月13日,與算法流程中設(shè)置連續(xù)5天出現(xiàn)異常,第5天開始報警的條件相符合。此外,案例中分析的電量數(shù)據(jù)是來自正常的用電信息采集系統(tǒng),不存在因電能表時鐘偏差導(dǎo)致電能計量不準(zhǔn)確的問題,因此算法的報警時間是準(zhǔn)確的,驗證了該方法在竊電辨識方面的準(zhǔn)確性和實用性。
在異常數(shù)據(jù)挖掘方面,單獨的聚類算法準(zhǔn)確率為q1=73/84×100%=86.9%,單獨的異常點檢測算法準(zhǔn)確率為q2=70/84×100%=83.3%,兩種算法融合的方法檢測準(zhǔn)確率為q=79/84×100%=94.0%。
由于篇幅限制,其它算例分析過程在這里就不一一贅述,此處選取了10個典型案例(包括上述案例)的算法分析結(jié)果與實際查證結(jié)果進行了對比(見表2)。
表2 典型案例分析結(jié)果匯總
從表2可以看出,對于竊電辨識準(zhǔn)確的7組樣本,兩種算法融合后的異常數(shù)據(jù)挖掘準(zhǔn)確率相比聚類算法平均提升6%,相比異常點檢測算法平均提升6.4%,其中有3組樣本的算法分析結(jié)果與實際查證結(jié)果存在偏差的原因在于這些用戶是間斷性用電,因為竊電原理是用戶采取非法手段不用電或少用電,而間斷性用電用戶在正常不用電時期的用電數(shù)據(jù)會被當(dāng)做異常點處理。
綜合大量的樣本分析結(jié)果,表明融合聚類和異常點檢測算法的竊電辨識方法在一定程度上提高了竊電辨識的準(zhǔn)確度和效率,具有一定的實用性。
在深入分析竊電原理、研究聚類算法和異常點檢測算法的基礎(chǔ)上,結(jié)合用電信息采集系統(tǒng)提供的用電數(shù)據(jù),提出了一種融合聚類和異常點檢測算法的竊電辨識方法。該方法利用聚類算法先對樣本進行粗略分類,按照包含竊電異常嫌疑點數(shù)量大小降序排列,然后利用異常點檢測算法對竊電嫌疑最大的一類數(shù)據(jù)進行二次分析,最后綜合兩種算法分析結(jié)果和實際情況確定最終的竊電嫌疑數(shù)據(jù),并實現(xiàn)竊電報警。
相較于單純的聚類算法和異常點檢測算法,該方法將兩種算法進行結(jié)合,一定程度上彌補了單一算法的不足,可以將竊電辨識的準(zhǔn)確率提高6%左右,進而提升了反竊電工作的效率。
當(dāng)然,本算法仍需要不斷的完善,研究更加合適的聚類準(zhǔn)則函數(shù)和更加高效的異常點篩選機制將會進一步提高竊電辨識的準(zhǔn)確性。因此,針對該方法的完善工作將會在后續(xù)的研究中進行。