王燕晉,易忠林,鄭思達,劉巖,孫海濤
(國網(wǎng)冀北電力有限公司營銷服務(wù)中心(計量中心),北京 100032)
隨著我國信息技術(shù)水平的不斷提升,電力系統(tǒng)建設(shè)逐漸朝著信息化方向發(fā)展,由于電力用戶數(shù)量龐大,所需采集和處理的信息量巨大,容易導(dǎo)致電力系統(tǒng)通信或電力設(shè)備出現(xiàn)異常狀況,使得信息數(shù)據(jù)異常,為電力系統(tǒng)的數(shù)據(jù)采集和處理帶來了諸多不便[1-2]。因此,對電力系統(tǒng)用戶數(shù)據(jù)異常狀況進行識別與檢測就變得十分重要[3]。
該文針對這一問題,采用了孤立森林算法的相關(guān)知識,設(shè)計了一種新的電力用戶數(shù)據(jù)異常快速識別方法,并通過實驗驗證了該方法的有效性。
對電力用戶數(shù)據(jù)異常信息的挖掘主要包括數(shù)據(jù)檢測、數(shù)據(jù)理解、數(shù)據(jù)評估等步驟。電力用戶數(shù)據(jù)異常信息挖掘流程如圖1 所示。
圖1 電力用戶數(shù)據(jù)異常信息挖掘流程
根據(jù)圖1 可知,數(shù)據(jù)處理服務(wù)器需要在海量的電力系統(tǒng)網(wǎng)絡(luò)數(shù)據(jù)中進行識別檢測的首要任務(wù)是數(shù)據(jù)檢測,根據(jù)數(shù)據(jù)特征利用序列數(shù)據(jù)檢測法將采集到的電力用戶信息數(shù)據(jù)進行分類,然后根據(jù)該類別的相關(guān)規(guī)則對數(shù)據(jù)進行基本的檢測識別[4-5]。數(shù)據(jù)挖掘示意圖如圖2 所示。
圖2 數(shù)據(jù)挖掘示意圖
觀察圖2 可知,由于部分數(shù)據(jù)可能會受到噪聲等因素干擾,需要對其進行降噪處理,以保持數(shù)據(jù)源的真實性、完整性,然后需要對數(shù)據(jù)異常問題進行初步檢測,排除正常數(shù)據(jù),對可能存在異常的數(shù)據(jù)進行數(shù)據(jù)理解。數(shù)據(jù)理解就是對有待處理的問題數(shù)據(jù)進行更深層次的分析,在計算機能力范圍內(nèi)最大程度挖掘出該數(shù)據(jù)的所有相關(guān)信息,并對該數(shù)據(jù)可能存在問題的方面進行理解,同時搜尋關(guān)于該問題的相關(guān)解決方案和信息[6]。在此之后需要進行數(shù)據(jù)評估,根據(jù)相應(yīng)的問題等級劃分規(guī)則并根據(jù)該問題的風險程度對異常問題進行風險評估,電力信息系統(tǒng)根據(jù)異常狀況的評估結(jié)果采取相應(yīng)的處理方案,以對數(shù)據(jù)異常情況進行及時處理。
基于孤立森林算法的電力用戶數(shù)據(jù)異常檢測示意圖如圖3 所示。
圖3 基于孤立森林算法的電力用戶數(shù)據(jù)異常檢測示意圖
由于不同電力系統(tǒng)具有不同的特征,因此需要有針對性地構(gòu)建孤立森林算法模型。首先,根據(jù)電力系統(tǒng)用戶信息數(shù)據(jù)的規(guī)模設(shè)定孤立森林模型的數(shù)據(jù)集,隨機選取部分具有一定差異性的系統(tǒng)用戶數(shù)據(jù)作為孤立森林構(gòu)造樹iTree的數(shù)據(jù)樣本,并導(dǎo)入相關(guān)的電力用戶信息數(shù)據(jù)集;然后對電力用戶數(shù)據(jù)集進行預(yù)處理,將數(shù)據(jù)按照一定規(guī)則進行排列,選取適當數(shù)量的數(shù)據(jù)樣本作為二叉樹的根數(shù)據(jù);在此基礎(chǔ)上將其他訓練數(shù)據(jù)進行分離,根據(jù)一定的特殊性和差異性將數(shù)據(jù)集分離成多個子數(shù)據(jù)集,一直分離到子數(shù)據(jù)集中只有一個數(shù)據(jù)點為止;然后隨機選取一個數(shù)值范圍作為數(shù)據(jù)抽取閾值,根據(jù)這一數(shù)值范圍對數(shù)據(jù)森林進行切割,根據(jù)相應(yīng)的判別標準對劃分結(jié)果進行判別[7-8]。
觀察圖4 可知,正常數(shù)據(jù)應(yīng)該被劃分在高密度區(qū),否則就會被劃分在低密度區(qū)域,此時則表示該數(shù)據(jù)存在異常;如果檢測結(jié)果不確定,那么需要重復(fù)該環(huán)節(jié),循環(huán)進行數(shù)據(jù)訓練集的分離與切割,直到所有數(shù)據(jù)異常情況檢測完畢[9]。
圖4 異常檢測
基于以上構(gòu)建的孤立森林模型,結(jié)合電力系統(tǒng)的實際數(shù)據(jù)情況進行電力用戶異常數(shù)據(jù)識別檢測。在對電力系統(tǒng)中的電力用戶數(shù)據(jù)進行異常檢測時,首先要對數(shù)據(jù)源進行清理,減少或排除噪聲數(shù)據(jù)及其他干擾因素對原始數(shù)據(jù)造成的影響,并對數(shù)據(jù)進行初步降重檢測,刪除重復(fù)或相似度過高的冗雜數(shù)據(jù),保證孤立森林算法的原始數(shù)據(jù)真實、完整并且具有差異性[10-11]。
基于孤立森林的異常數(shù)據(jù)識別流程如圖5 所示,主要有以下幾個操作步驟:
圖5 基于孤立森林的異常數(shù)據(jù)識別流程
1)將原始數(shù)據(jù)集D導(dǎo)入到孤立森林模型中,根據(jù)二叉樹模型中的根數(shù)據(jù)集設(shè)定情況,將電力用戶數(shù)據(jù)對應(yīng)放置在二叉樹根數(shù)據(jù)節(jié)點中。
2)采用孤立森林算法進行隨機的數(shù)據(jù)分離,使數(shù)據(jù)落在相應(yīng)的二叉樹葉子節(jié)點上。
3)根據(jù)用戶信息數(shù)據(jù)的特殊性和差異性不斷進行數(shù)據(jù)分離,直到子數(shù)據(jù)集只含有一個數(shù)據(jù)為止。
4)由于異常數(shù)據(jù)S往往比較稀少,與其他數(shù)據(jù)關(guān)聯(lián)性較小,因此容易較早地被分離出來,而且能夠比較容易地被識別出來。
5)計算異常數(shù)據(jù)S所在的葉子節(jié)點數(shù)據(jù)與根節(jié)點的距離和層級關(guān)系,如式(1)所示。
6)通過歸一化公式計算所有二叉樹的平均高度,估計異常數(shù)據(jù)S的異常指數(shù),如式(2)所示,以進一步提高異常數(shù)據(jù)識別的準確性。
上述公式中,C(n)表示異常數(shù)據(jù)S(x,n)到根節(jié)點的距離,n表示異常數(shù)據(jù)在其所在的數(shù)據(jù)集D中的異常指數(shù),H表示該運算過程中所有二叉樹的平均高度,ξ是計算二叉樹平均高度需要用到的歐拉指數(shù)[12-13]。
檢測過程如圖6 所示。
圖6 檢測過程
通過以上運算步驟能夠較為精準地識別異常數(shù)據(jù)的位置和相關(guān)信息,并且利用歸一化公式對異常數(shù)據(jù)進行了更精準的計算檢測,所得結(jié)果越趨近于1,表示該數(shù)據(jù)是異常數(shù)據(jù)的可能性就越大;反之,計算結(jié)果越接近于0,那么該數(shù)據(jù)是異常數(shù)據(jù)的可能性就越小[14-16]。
為了驗證文中基于孤立森林算法的電力用戶數(shù)據(jù)異??焖僮R別方法在實際應(yīng)用中是否具有良好的使用效果,通過設(shè)計實驗來對其進行性能檢驗,并選用了傳統(tǒng)的基于K-means 算法的電力用戶數(shù)據(jù)異常識別方法和基于LOF 算法的電力用戶異常數(shù)據(jù)識別方法同時進行對比實驗。
實驗的基礎(chǔ)設(shè)備是具備Windows10 運行系統(tǒng)和電力系統(tǒng)標配內(nèi)存的計算機服務(wù)器,在該計算機設(shè)備上,構(gòu)建二叉樹棵數(shù)為100、樣本數(shù)據(jù)量為128 GB、異常數(shù)值比例設(shè)定為0.05的孤立森林iTree 模型。將原始數(shù)據(jù)導(dǎo)入到孤立森林模型中,通過字段檢測程序?qū)?shù)據(jù)集進行初步識別,然后根據(jù)二叉樹模型進行數(shù)據(jù)分離和異常檢驗,并進行異常數(shù)據(jù)評估。3 種算法的誤差數(shù)據(jù)檢測精準度如表1 所示。
表1 3種算法的誤差數(shù)據(jù)檢測精準度
總結(jié)表1,得到檢測精準度實驗結(jié)果如圖7所示。
圖7 檢測精準度實驗結(jié)果
上述實驗結(jié)果表明,基于孤立森林算法的電力用戶數(shù)據(jù)異??焖僮R別方法在數(shù)據(jù)異常識別中具有更好的應(yīng)用效果。根據(jù)表1 數(shù)據(jù)所示,該文采用的孤立森林算法在同一檢測數(shù)據(jù)集的情況下,檢測結(jié)果精準度更高,最接近于1;而另外兩種算法的識別檢測精準度都在0.89 左右,相比于iForest 算法的精準度,傳統(tǒng)算法的精準度水平并不是很理想。
3 種算法的識別耗時如表2 所示。
表2 3種算法的識別耗時
由表2 數(shù)據(jù)可知,iForest 算法對數(shù)據(jù)集進行異常數(shù)據(jù)識別所用時間為1.012 s,而K-means 算法用時達到了9.876 s,LOF 算法更是用了18.678 s,三者之間的識別消耗時間差距十分明顯。對于目前的電力系統(tǒng)用戶異常數(shù)據(jù)識別來說,檢測速度越快越有利于保證電力系統(tǒng)整體安全。
綜上所述,相比于傳統(tǒng)的電力用戶數(shù)據(jù)異常識別方法,基于孤立森林算法的電力用戶數(shù)據(jù)異??焖僮R別方法在異常識別時間上具有很大優(yōu)勢,而且具有較高的精準度,進而有利于提高電力系統(tǒng)用戶數(shù)據(jù)異常檢測的整體效率。
該文針對傳統(tǒng)的電力用戶數(shù)據(jù)異常識別方法存在的不足進行了分析,并研究了基于孤立森林算法的電力用戶數(shù)據(jù)異??焖僮R別方法。通過構(gòu)建孤立森林算法和二叉樹模型,加強了信息數(shù)據(jù)挖掘、檢測、識別過程的運算精準度,完善了電力用戶數(shù)據(jù)異常識別方法。然后將該文研究方法與傳統(tǒng)的數(shù)據(jù)異常識別方法進行了對比實驗,通過實驗結(jié)果證明了該文研究方法在數(shù)據(jù)異常信息識別方面具有較高的精準度,而且識別速度明顯比傳統(tǒng)方法快,驗證了基于孤立森林算法的電力用戶數(shù)據(jù)異常快速識別方法的精準性和高效性。