唐 亮,王 凱,莊 磊,黃 丹,丁建順
(1.國網(wǎng)安徽省電力有限公司,合肥230061;2.國網(wǎng)安徽省電力有限公司 營銷服務(wù)中心(計量中心),合肥 230031)
在現(xiàn)代社會中,現(xiàn)存的很多老舊城區(qū)多處于變壓器低壓供電的區(qū)域。由于電能表設(shè)施老舊,管理松散, 電能表經(jīng)常出現(xiàn)運行故障或者人為竊電、偷電的想象。在此背景下,如何實現(xiàn)對低壓臺區(qū)電能表運行誤差的自動監(jiān)測,對于及時發(fā)現(xiàn)異常,避免人為竊電、偷電行為,保證電力企業(yè)和個人用戶利益都具有重要的現(xiàn)實意義[1]。
低壓臺區(qū)電能表運行異常的監(jiān)測問題,實際上就是通過數(shù)據(jù)比對、統(tǒng)計分析和數(shù)據(jù)挖掘等技術(shù)手段,對電能表的運行工況進行診斷和分析,判斷其運行是否存在異常狀況[2]。BP 神經(jīng)網(wǎng)絡(luò)是模擬人大腦神經(jīng)單元的工作方式的一種算法。該算法應(yīng)用在數(shù)據(jù)分析中,具有很強的非線性映射能力、泛化能力以及容錯能力,但是面對量大且更新速度較快的電能表計量數(shù)據(jù),收斂速度慢,且易陷入局部最優(yōu),大大增加了監(jiān)測模型的訓練時間,降低了監(jiān)測準確性[3]。
針對上述問題, 本文在前人研究的基礎(chǔ)上,利用改進后的BP 神經(jīng)網(wǎng)絡(luò)進行低壓臺區(qū)電能表運行誤差自動監(jiān)測。
擁有數(shù)據(jù)是進行數(shù)據(jù)挖掘的必要條件,因此對低壓臺區(qū)電能表運行誤差進行自動監(jiān)測,首先要解決低壓臺區(qū)電能表運行數(shù)據(jù)采集的難題。為此,通過北斗衛(wèi)星技術(shù),提出了面向低壓臺區(qū)的電能表運行數(shù)據(jù)采集方案。該方案的基本思路是通過用電信息采集終端獲取電能表運行數(shù)據(jù),然后上聯(lián)北斗通信機,建立終端與主站之間的北斗通信通道,通過報文通信架構(gòu)實現(xiàn)信息的轉(zhuǎn)換和傳輸[4]。其具體過程如圖1 所示。
圖1 電能表運行數(shù)據(jù)采集流程Fig.1 Operation data acquisition process of electricity meters
1.2.1 數(shù)據(jù)清洗
采集到的電能表運行數(shù)據(jù)中并不是所有的數(shù)據(jù)都是有價值的,其中還包含一些噪聲,數(shù)據(jù)是不完整、不一致等無價值的數(shù)據(jù),這些無價值的數(shù)據(jù)統(tǒng)稱為臟數(shù)據(jù)[5]。臟數(shù)據(jù)會嚴重干擾數(shù)據(jù)挖掘質(zhì)量,因此需要對臟數(shù)據(jù)進行清洗。針對這3 種臟數(shù)據(jù),需要做到噪聲數(shù)據(jù)消除、不完整數(shù)據(jù)彌補以及不一致數(shù)據(jù)糾正,相對應(yīng)的處理方法有統(tǒng)計方法和可視化技術(shù)、替代法(估值法),以及參照其它資料人工更正。
1.2.2 數(shù)據(jù)選擇
采集到的數(shù)并不是所有都能用于某一決策。假定有100 個字段,其中可能只有20%可用,而如何從100 個字段中選取出這20%數(shù)據(jù)是十分重要的。它可以通過建立相關(guān)計算模型來解決。選擇是在2個維上進行的,一個是選擇列或參數(shù)維,另一個是選擇行或記錄維。無論是哪個,都可以利用SQL 語言實現(xiàn)[6]。
1.2.3 比例變換
數(shù)據(jù)變換是指將數(shù)據(jù)轉(zhuǎn)換或統(tǒng)一成適合于挖掘的形式。大多數(shù)的神經(jīng)網(wǎng)絡(luò)模型只接受[0,1.0]和[-1.0,1.0]范圍內(nèi)的數(shù)值數(shù)據(jù)。因此,需要按照比例將數(shù)據(jù)映射到固定區(qū)間,一般可以通過歸一化的方法實現(xiàn)。常用的歸一化方法有最大-最小標準化、Z-score 標準化、函數(shù)轉(zhuǎn)化等[7]。
——最大-最小標準化
式中:man,min 分別為樣本數(shù)據(jù)的最大值、最小值;x為一個原始值。
——Z-score 標準化
式中:α 為均值;β 為標準差。
——Decimal scaling 小數(shù)定標標準化
式中:j 為滿足條件的最小整數(shù)。
1.2.4 數(shù)據(jù)歸約
對于小型或中型數(shù)據(jù)集,一般的數(shù)據(jù)預處理步驟已經(jīng)足夠,但是對于電能表運行這類海量大且更新速度較快的數(shù)據(jù), 需要做進一步的數(shù)據(jù)歸約,即在不降低數(shù)據(jù)質(zhì)量的同時減少數(shù)據(jù)數(shù)量。在此采用主成分分析方法進行歸約。其具體步驟如下:
步驟1對原始數(shù)據(jù)進行標準化, 建立標準化矩陣Z。
步驟2計算標準化矩陣Z 的相關(guān)系數(shù)矩陣R,即
其
式中:rij為原變量xi與xj的相關(guān)系數(shù),rij(i,j=1,2,…,p)。
步驟3計算特征值與特征向量。①求解樣本相關(guān)矩陣R 的特征方程
得到p 個特征根, 并按大小順序排列λ1≥λ2≥…≥λp≥0;②分別求出對應(yīng)于特征值λ 的特征向量,ei(i=1,2,…,p),要求‖ei‖=1,即
式中:ei為向量j 的第i 個分量。
步驟4計算的主成分貢獻率和累計貢獻率,即
貢獻率為
累計貢獻率為
一般取累計貢獻率達85%~95%的特征值,λ1,λ2,…,λm所對應(yīng)的第1,第2,…,第m 個主成分(m≤p)。
步驟5計算主成分載荷zij,即
步驟6各主成分的得分。
1.3.1 BP 神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)
BP 神經(jīng)網(wǎng)絡(luò)一種模擬人類大腦的結(jié)構(gòu)和功能的算法,由輸入層、隱含層和輸出層組成。BP 神經(jīng)網(wǎng)絡(luò)主要通過2 個過程進行工作,即信號正向傳播和誤差反向傳播。在信號正向傳播階段,輸入信號通過輸入層輸入,然后經(jīng)過隱含層處理,最終達到輸出層,輸出結(jié)果。這時計算輸出結(jié)果與期望輸出的誤差值,判斷誤差值是否小于設(shè)定的閾值,若小于則說明輸出的結(jié)果為理想結(jié)果,若大于則進入誤差反向傳播階段[8]。在誤差反向傳播階段,經(jīng)誤差以某種形式向輸入層傳播,根據(jù)誤差不斷調(diào)整連接權(quán)值[9-10]。經(jīng)過反復訓練,使得輸出結(jié)果不斷逼近期望結(jié)果。
1.3.2 BP 神經(jīng)網(wǎng)絡(luò)分類器
基于BP 神經(jīng)網(wǎng)絡(luò)構(gòu)建分類器, 主要包括3 個步驟,如圖2 所示。
圖2 BP 神經(jīng)網(wǎng)絡(luò)分類器Fig.2 BP neural network classifier
1.3.3 BP 神經(jīng)網(wǎng)絡(luò)訓練過程
步驟1初始化BP 神經(jīng)網(wǎng)絡(luò)各參數(shù);
步驟2電能表運行數(shù)據(jù)輸入輸入層;
步驟3電能表運行數(shù)據(jù)隱含層計算, 隱含層輸出Hj的計算公式為
式中:xi為輸入向量;ωij為輸入層和隱含層間連接權(quán)值;aj為隱含層閾值;l 為隱含層節(jié)點數(shù);f 為隱含層激勵函數(shù)。
步驟4隱含層計算結(jié)果輸入到輸出層。輸出層計算公式為
式中:ωjk為連接權(quán)值;bk為閾值;Ok為BP 網(wǎng)絡(luò)輸出層輸出。
步驟5誤差計算,計算公式為
步驟6權(quán)值更新。根據(jù)網(wǎng)絡(luò)預測誤差e,更新網(wǎng)絡(luò)連接權(quán)值ωij和ωjk。即
式中:η 為學習速率。
步驟7閾值更新。根據(jù)網(wǎng)絡(luò)預測誤差e 更新網(wǎng)絡(luò)節(jié)點閾值a 和b。即
步驟8判斷算法迭代是否結(jié)束,如還未結(jié)束,則返回步驟2。
1.3.4 BP 神經(jīng)網(wǎng)絡(luò)分類器優(yōu)化
針對BP 神經(jīng)網(wǎng)絡(luò)分類器存在的缺點, 有2 種改進策略:一種是改進算法本身,另一種是引入一種智能算法對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化, 提高分類精度。在此采用Adaboost 算法進行優(yōu)化, 即把多個BP 神經(jīng)網(wǎng)絡(luò)弱分類器組成的強分類器。具體過程如下:
步驟1選擇m 組數(shù)據(jù),作為訓練樣本。
步驟2神經(jīng)網(wǎng)絡(luò)初始化。
步驟3弱分類器預測。訓練第t 個神經(jīng)網(wǎng)絡(luò)分類器時,計算預測序列g(shù)(t)的預測誤差和。
步驟4計算預測序列權(quán)值。
步驟5調(diào)整預測數(shù)據(jù)權(quán)重。
步驟6訓練N 組神經(jīng)網(wǎng)絡(luò)之后,得到N 組弱分類函數(shù),從而組成強分離函數(shù)。
為測試所提基于BP 神經(jīng)網(wǎng)絡(luò)的低壓臺區(qū)電能表運行誤差自動監(jiān)測方法有效性,在MatLab(R2010b)環(huán)境下進行仿真分析。
選取某低壓臺區(qū)1 個月內(nèi)的用電量統(tǒng)計數(shù)據(jù)作為樣本數(shù)據(jù)。以某一天為例,采集到的用電量統(tǒng)計數(shù)據(jù)形式見表1。
表1 某低壓臺區(qū)一天中部分用電量的統(tǒng)計數(shù)據(jù)Tab.1 Statistical data of partial power consumption in one day in a low voltage platform area
由于采集到的樣本數(shù)據(jù)集中沒有誤差數(shù)據(jù),所以人工篡改2565 條數(shù)據(jù),作為異常數(shù)據(jù)。
參數(shù)設(shè)置見表2。
表2 參數(shù)設(shè)置Tab.2 Parameter settings
利用MatLab 工具實現(xiàn)基于BP 神經(jīng)網(wǎng)絡(luò)的電能表運行誤差數(shù)據(jù)監(jiān)測方法,其主要步驟如下:
步驟1BP 神經(jīng)網(wǎng)絡(luò)的建立,使用newff 函數(shù)實現(xiàn);
步驟2BP 神經(jīng)網(wǎng)絡(luò)的初始化,使用init 函數(shù)實現(xiàn);
步驟3將80%電能表運行數(shù)據(jù)輸入到BP 神經(jīng)網(wǎng)絡(luò)中,進行訓練。該訓練通過train 函數(shù)實現(xiàn)。訓練結(jié)果如圖3 所示。
圖3 BP 神經(jīng)網(wǎng)絡(luò)訓練結(jié)果Fig.3 BP neural network training results
由圖可見,經(jīng)過1000 次迭代后,基于BP 神經(jīng)網(wǎng)絡(luò)的低壓臺區(qū)電能表運行誤差自動監(jiān)測模型訓練完成,誤差小于預先設(shè)定的誤差閾值,表明在此所構(gòu)建已經(jīng)具備較好的分類檢測能力。下一步可以通過輸入測試樣本進行網(wǎng)絡(luò)。
步驟4將剩余20%電能表運行數(shù)據(jù)輸入到訓練好的BP 神經(jīng)網(wǎng)絡(luò)中,進行仿真測試。該測試通過sim 函數(shù)實現(xiàn)。
1)準確率 準確率又稱分類器的總體識別率,是指被分類器正確分類的元組所占的百分比,即它反映分類器對各類元組的正確識別情況,當類分布相對平衡時最有效。即
式中:Tp為指被分類器正確分類的正元組;TN為指被分類器正確分類的負元組;P 為正元組數(shù);N 為負元組數(shù)。
2)監(jiān)測時延 誤差監(jiān)測時延Js是指產(chǎn)生誤差時間Jc與監(jiān)測出誤差時間Jh的差值。
1)分類器監(jiān)測準確率 為了驗證低壓臺區(qū)電能表運行誤差監(jiān)測效果,采用聚類算法、最近鄰算法、支持向量機算法,以及BP 神經(jīng)網(wǎng)絡(luò)算法,進行分類器監(jiān)測準確率檢測,通過sigmaplot 軟件得到的結(jié)果如圖4 所示。
圖4 不同方法下分類器監(jiān)測準確率Fig.4 Monitoring accuracy of classifier in different methods
由圖4 分析可見,不同方法的分類器監(jiān)測準確率不同。當數(shù)據(jù)量為60 MB 時,聚類算法的分類器監(jiān)測準確率為69%;最近鄰算法的分類器監(jiān)測準確率為68%;支持向量機的分類器監(jiān)測準確率為69%;BP 神經(jīng)網(wǎng)絡(luò)的分類器監(jiān)測準確率為97%。本文方法對低壓臺區(qū)電能表運行誤差監(jiān)測準確性較好,能夠?qū)崿F(xiàn)準確監(jiān)測。這是因為經(jīng)過數(shù)據(jù)清洗、數(shù)據(jù)選擇、比例變換以及數(shù)據(jù)歸約4 個步驟的處理,提高了數(shù)據(jù)質(zhì)量,有效提升了分類器監(jiān)測準確率。
2)監(jiān)測時延 實時數(shù)據(jù)量可達430 GB,電能表數(shù)據(jù)差值是電能表測得值與實際用電結(jié)果的差值。為了驗證低壓臺區(qū)電能表運行誤差監(jiān)測效果,計算聚類算法、最近鄰算法、支持向量機算法以及BP 神經(jīng)網(wǎng)絡(luò)算法的電能表運行誤差監(jiān)測時延,所得結(jié)果如圖5 所示。
圖5 不同方法下誤差監(jiān)測時延Fig.5 Error monitoring delay in different methods
由圖5 分析可見,不同方法下低壓臺區(qū)電能表運行誤差監(jiān)測時延存在差異。當數(shù)據(jù)量為50 MB時,聚類算法的誤差監(jiān)測時延為789 ms;最近鄰算法的誤差監(jiān)測時延為643 ms;支持向量機算法的誤差監(jiān)測時延為576 ms;BP 神經(jīng)網(wǎng)絡(luò)算法誤差監(jiān)測時延為38 ms。本文方法一直擁有較低監(jiān)測時延,說明該方法能夠較少監(jiān)測用時,有效提升監(jiān)測效率。
基于BP 神經(jīng)網(wǎng)絡(luò)研究了低壓臺區(qū)電能表運行誤差自動監(jiān)測方法。經(jīng)過仿真測試,本文方法對低壓臺區(qū)電能表運行誤差監(jiān)測準確率高,當數(shù)據(jù)量為60 MB時,BP 神經(jīng)網(wǎng)絡(luò)的分類器監(jiān)測準確率可達97%;該方法監(jiān)測時延較低,監(jiān)測效率高,數(shù)據(jù)量為50 MB,BP 神經(jīng)網(wǎng)絡(luò)算法誤差監(jiān)測時延僅38 ms。但由于測試數(shù)據(jù)具有局限性,導致測試結(jié)果可能存在誤差。