趙 敏,王慧卿,張 超,李 洋,張建亮,高 楓,任學武
1.國網(wǎng)山西省電力公司信息通信分公司,山西 太原030001
2.北京謙潤和科技有限公司,北京100190
大數(shù)據(jù)技術作為新一代技術,其隱藏的價值將會給很多行業(yè)帶來顛覆性的改變[1]。近年來,中國電機工程學會信息化專委會正式發(fā)布《中國電力大數(shù)據(jù)發(fā)展白皮書》,國家電網(wǎng)公司也開展了各類智能電網(wǎng)大數(shù)據(jù)應用的科研項目[3],智能電網(wǎng)中的大數(shù)據(jù)來源寬泛,如智能電表測量用電數(shù)據(jù)等[4]。
當前智能電網(wǎng)領域數(shù)據(jù)量總體呈現(xiàn)指數(shù)增長,因此可通過合理、高效利用大數(shù)據(jù)技術,分析電力領域數(shù)據(jù)潛在價值[5]。當前智能電網(wǎng)領域數(shù)據(jù)量總體呈現(xiàn)指數(shù)增長,因此可通過合理、高效利用大數(shù)據(jù)技術,分析電力領域數(shù)據(jù)潛在價值[5]。
對于電力領域的大數(shù)據(jù),由于行業(yè)特殊性,對數(shù)據(jù)的完整性有一定的要求。文獻[6]基于Spark框架對電力能源大數(shù)據(jù)的數(shù)據(jù)清洗模型進行研究,該模型未考慮數(shù)據(jù)集中的短時相關性,不考慮時間關聯(lián),數(shù)據(jù)異常點的判斷偏差會增大。文獻[7]中提出了將棧式自編碼器網(wǎng)絡應用于電力大數(shù)據(jù)的清洗與恢復中,在訓練中隨機加入噪聲信息,通過對噪聲數(shù)據(jù)的特征進行解析,消除噪聲還原數(shù)據(jù)。
本文結(jié)合電力信息通信資產(chǎn)對數(shù)據(jù)質(zhì)量有較高要求的特點,提出了一種基于棧式自編碼器的數(shù)據(jù)清洗算法(Data cleaning algorithm based on SDAE,DCbS),DCbS 算法可以辨別異常數(shù)據(jù),恢復重構(gòu)奇異點和缺失數(shù)據(jù),通過引入滑動窗口來保存數(shù)據(jù)之間的短時相關性并從殘差的角度訓練模型,以減少模型辨別異常數(shù)據(jù)點所需的訓練數(shù)據(jù)。針對電力信息通信資產(chǎn)運行異常的情況,該方法可以有效的過濾干擾數(shù)據(jù)。
降噪自編碼器(Denoising auto encoder,DAE)作為自編碼器的改進,兩者具有相同的網(wǎng)絡結(jié)構(gòu)和目標,降噪自編碼器是一類接受損壞數(shù)據(jù)作為輸入,并訓練來預測原始未被損壞數(shù)據(jù)作為輸出的自編碼器。DAE 在訓練時會主動向樣本數(shù)據(jù)中隨機添加噪聲數(shù)據(jù),在訓練的過程中主動學習消除噪聲干擾重構(gòu)污染數(shù)據(jù),以增加系統(tǒng)的穩(wěn)定性[8]。
輸入數(shù)據(jù)為d,在訓練過程中數(shù)據(jù)d經(jīng)過破壞,得到d0,經(jīng)過編碼d0的隱藏層表示如下:
此為數(shù)據(jù)的編碼模型,式中:W為m×n階的編碼權重矩陣,b為m階的偏置向量;s函數(shù)表達式為:
Sigmoid 函數(shù)對邊緣進行抑制,對中間的細微變化較為敏感,因此對特征識別度更好,故而選取Sigmoid 函數(shù)作為激活函數(shù)。
經(jīng)過解碼,隱藏特征F的重構(gòu)表示如下:
此為數(shù)據(jù)的解碼模型,式中W′為m×n階的解碼權值矩陣,b′為m階的反偏置向量。
重構(gòu)數(shù)據(jù)的結(jié)果F并不能完全精確的與原始結(jié)果相同,為了計算誤差函數(shù)RH表示為:
式中d為原始數(shù)據(jù)集合,F(xiàn)為恢復之后的數(shù)據(jù)集合,在進行處理之前需要進行歸一化處理。損失函數(shù)說明訓練的效果,當損失函數(shù)最小時,輸入數(shù)據(jù)d與重構(gòu)數(shù)據(jù)F所具有的共性特征被最大化的提取。將DAE 組合成深度學習的層級結(jié)構(gòu),可以最大化的提取細致抽象的特征,將殘差學習的方法引入進而得到DCbS 算法。
由于電力信息通信資產(chǎn)的狀態(tài)數(shù)據(jù)異常主要來自于兩個方面,一是數(shù)據(jù)記錄異常,此種情況為DCbS 算法所需清洗的對象,另一種為由于資產(chǎn)運行狀態(tài)異常所引起的運行數(shù)據(jù)異常。因此在訓練過程中,將樣本誤差和誤差持續(xù)時間作為數(shù)據(jù)類型的判斷標準,將最大誤差函數(shù)預置設為RMAX,最大誤差持續(xù)時間為TMAX,將數(shù)據(jù)中誤差超過RMAX且誤差持續(xù)時長低于TMAX的數(shù)據(jù)判定為一類異常數(shù)據(jù),這些數(shù)據(jù)為數(shù)據(jù)異常點;將數(shù)據(jù)中誤差超過RMAX且長期為0 或者某一特定值的數(shù)據(jù)判定為二類異常數(shù)據(jù),此數(shù)據(jù)為數(shù)據(jù)缺失,在數(shù)據(jù)中如誤差超過RMAX且存在一定變化規(guī)律,判定為三類異常數(shù)據(jù),此數(shù)據(jù)為設備狀態(tài)異常數(shù)據(jù)。DCbS 算法清洗目標為一二類異常數(shù)據(jù)。
電力信息通信資產(chǎn)的狀態(tài)參量信息間具有非線性相關性,且各監(jiān)測參數(shù)為時間序列數(shù)據(jù),具有短時相依特征,若直接采用電力信息通信資產(chǎn)原始監(jiān)測數(shù)據(jù)訓練SDAE 模型,雖能學習獲得各參數(shù)間的非線性關系,然而各監(jiān)測參數(shù)固有的短時相依性會被忽略,影響機組狀態(tài)監(jiān)測結(jié)果的準確性[9]。具體滑動窗口處理方法的具體步驟為:
記X={x(j)i}為電力信息通信資產(chǎn)狀態(tài)參數(shù)數(shù)據(jù)集,其中,i=1,2,…,n,j=1,2,…,m,n為監(jiān)測變量數(shù),m為采集的樣本數(shù)據(jù)數(shù)量。則數(shù)據(jù)X的第i個分量表示機組第i個監(jiān)測變量樣本數(shù)據(jù),即。設滑動窗口的寬度為β(即滑動窗口內(nèi)包含β個時間點數(shù)據(jù)),窗口每次移動一個時間點,對于m個樣本數(shù)量的數(shù)據(jù)X共有m-β+1 個滑動窗口,記為第l個滑動窗口采集的第i個監(jiān)測參量的數(shù)據(jù),則:
第l個滑動窗口采集的數(shù)據(jù)為:
因此,由公式(5)、(6),對電力信息通信資產(chǎn)狀態(tài)參數(shù)數(shù)據(jù)采用滑動窗口處理得到SDAE 模型的輸入數(shù)據(jù)增廣狀態(tài)數(shù)據(jù)矩陣:
此外,當β=1 時,Y=X,此時增廣狀態(tài)數(shù)據(jù)矩陣即為原始狀態(tài)參數(shù)數(shù)據(jù)。采用滑動窗口技術處理,SDAE 的輸入數(shù)據(jù)由原始數(shù)據(jù)X的n維增至增廣狀態(tài)數(shù)據(jù)矩陣Y的n·β維,樣本數(shù)據(jù)量也相應由m變?yōu)閙-β+1。
訓練過程為對DAE 進行逐層無監(jiān)督的預訓練,在預訓練過程中,誤差進行反向傳播。傳統(tǒng)的堆式降噪自編碼器的優(yōu)化目標為對原始數(shù)據(jù)d和破壞數(shù)據(jù)d0之間進行端到端的優(yōu)化,這種優(yōu)化方法需要較多特征,并且計算量較大。但是如果從殘差的角度出發(fā),原始的函數(shù)映射則變?yōu)閐和d+n,n表示數(shù)據(jù)中的噪聲,DCbS 算法的目標為d和n之間的映射,誤差函數(shù)則變更為:
式中n為噪聲,為了防止模型的過擬合,通過引入重衰減項(正則項)防止模型出現(xiàn)過擬合現(xiàn)象,式中為權值衰減項。
λ為權值衰減系數(shù),λ=3e-3;表示連接l層第j個神經(jīng)元與l+1 層第i個神經(jīng)元的權值參數(shù);s1、s2、s3分別為第一、二、三層的節(jié)點數(shù),即網(wǎng)絡輸入層、隱藏層和輸出層的節(jié)點數(shù)。
算例采用某地區(qū)部分變電站交換機2014 至2015 的狀態(tài)檢測信息作為訓練及測試數(shù)據(jù),測試數(shù)據(jù)中,對交換機吞吐量這一指標人為的加入噪聲以檢測算法性能。選取正常運行狀態(tài)訓練,得到初始模型;選取包括異常運行狀態(tài)的真實信息進行訓練,得到故障數(shù)據(jù)模型。其中模型輸入層規(guī)模為80,包含3 個隱藏層,規(guī)模分別為70、50、70,學習周期為1000,訓練樣本數(shù)量為10000 組。
表1 DCbS 數(shù)據(jù)清洗部分結(jié)果Table 1 Cleaning partial results of DCbS data
表1 中展示了部分增加噪聲之后進行清洗的數(shù)據(jù)集,可以看出經(jīng)過DCbS 算法清洗的數(shù)據(jù)與真實值基本一致,對于污染數(shù)據(jù)也具有較好的恢復能力,經(jīng)過處理的無損數(shù)據(jù)與原始數(shù)據(jù)的偏差保持在5%之內(nèi),對于設備狀態(tài)異常數(shù)據(jù),也能進行良好的識別,設備狀態(tài)異常數(shù)據(jù)經(jīng)過處理之后,依然保存其特征,方便后續(xù)進行繼續(xù)的處理,對于第一類和第二類數(shù)據(jù)異常點,DCbS 算法也保持了良好的識別特性,并對其進行了預測恢復,變化4 和5 的數(shù)據(jù)為缺失數(shù)據(jù),人為將真實數(shù)據(jù)置零,DCbS算法將器恢復至真實值水平,與真實值誤差最大相差3.26。編號8 和9 的數(shù)據(jù)為人為造成的奇異點,即數(shù)據(jù)產(chǎn)生較大偏差且持續(xù)時間較短,DCbS 算法對于奇異值的恢復也較為理想??梢姡ㄟ^DCbS算法對電力信息通信資產(chǎn)大數(shù)據(jù)進行清洗,清洗結(jié)果負荷真實數(shù)據(jù)分布特點。
圖1 為將某一連續(xù)時刻的檢測數(shù)據(jù)輸入CDbS 算法、SDAE模型以及DAE 模型中的數(shù)據(jù)清洗結(jié)果,時刻點13、37、122 和187 為測試數(shù)據(jù)設置的奇異點,時刻點65、150 和166 為設置的數(shù)據(jù)缺失點,時刻20 至26 為設備狀態(tài)異常點。從圖2 中可以看出,三種降噪編碼器數(shù)據(jù)清洗模型都可以對異常數(shù)據(jù)進行一定程度上重構(gòu),其中本文提出的CDbS 算法重構(gòu)效果最優(yōu),SDAE次之,整體上SDbS 算法的重構(gòu)數(shù)據(jù)與無損數(shù)據(jù)保持在5%以內(nèi)。
圖1 不同樣本時間點下路由器吞吐量Fig.1 Router throughput at different sample time points
表2 錯誤檢測率仿真結(jié)果Table 2 simulation results from error detection rate
表中可以看出,隨著測試樣本數(shù)量的上升,CDbS 算法檢測的正確率有所下降,但是錯誤的檢測率可以保持在90%以上,檢測的正確率也能保持在82%以上,可見CDbS 算法可以較好的發(fā)現(xiàn)數(shù)據(jù)集中存在的異常點。隨著檢測數(shù)據(jù)量的上升,CDbS 算法的錯誤檢測率和檢測正確率有所下降,但是均保持在一個合理范圍之內(nèi),說明CDbS 算法可以通過對于數(shù)據(jù)集中存在異常的檢驗,發(fā)現(xiàn)數(shù)據(jù)集中存在的誤差,為后續(xù)的資產(chǎn)狀態(tài)評估提供有力的數(shù)據(jù)支持。
圖2 為訓練樣本數(shù)量與檢測樣本數(shù)量為500 的錯誤檢測率和檢測正確率之間的關系,隨著樣本訓練數(shù)量的上升,錯誤檢測率和檢測正確率也隨之上升,可見CDbS模型隨著訓練樣本的上升,性能也在上升。樣本數(shù)量為2.5 萬時,CDbS 模型的錯誤檢測率為93.01%,檢測正確率為86.73%,錯誤檢測率提升2.54%,檢測正確率提升4.13%。隨著訓練樣本的增加,更多的噪聲特征被CDbS 算法模型所學習,故而檢測正確率有所提高。
圖2 錯誤查找準確率Fig.2 Accuracy of finding error
文中提出了一種基于棧式自編碼器的數(shù)據(jù)清洗算法(Data cleaning algorithm based on SDAE,DCbS),通過滑動窗口保存數(shù)據(jù)之間的短時相關性以及含噪數(shù)據(jù)與無損數(shù)據(jù)之間的殘差分析,以減少模型辨別異常數(shù)據(jù)點所需的訓練數(shù)據(jù)。針對電力信息通信資產(chǎn)運行的異常情況,該方法可以有效地過濾干擾數(shù)據(jù)。實驗結(jié)果表明所提算法提高了對于數(shù)據(jù)異常點的辨別和恢復能力,最終從數(shù)據(jù)的恢復以及異常值的辨別兩方面凸顯算法的優(yōu)越性