李強,張立梅*,白牧可
(1.河北農業(yè)大學信息科學與技術學院,保定 071000;2.中國電力科學研究院有限公司,北京 100192)
智能配電網在集成信息通信技術和智能感知設備后,成為復雜的信息物理系統,能夠實現實時感知、信息服務和動態(tài)控制功能。但是,對信息技術和網絡物理設備的高度依賴也使智能配電系統面臨嚴峻的網絡威脅,導致設備、服務和系統異常[1],從而導致大量的異常數據破壞了真實量測數據的完整性和可用性。當這些異常數據繞過監(jiān)控機制,參與電力可靠性評估、電網運行狀態(tài)估計和電網調度管理等,會造成巨大的經濟損失和嚴重的安全問題。
開展異常數據辨識可以提高智能配電網的防御能力,減少電力企業(yè)和用戶的經濟損失。在異常數據辨識研究中,特征提取是進行準確辨識的必備環(huán)節(jié)。文獻[2]提取波動性、趨勢性和變動性特征對電力數據時間序列進行表征;文獻[3]采用分段線性表示方法描述電力數據的動態(tài)特性;文獻[4]通過計算杰卡德相似系數進行相似性比較,從而提取異常數據特征?,F有工作側重于多維數據的降維處理,忽略了電網結構和電力數據的關聯關系,對電力異常數據的特征表示還需完善和提高。
作為異常數據辨識的主要內容,辨識方法的選取對提高辨識準確性和效率也具有關鍵作用。概率統計方法[5]是早期電力異常數據檢測中常用的方法,然而這類方法在時間復雜度和辨識準確性上的表現難以滿足智能配電網的要求。近年來,具有多維數據處理能力的機器學習分類方法在電力數據異常檢測中得到了廣泛應用,文獻[6]基于自動編碼器檢測由電源管理單元(power management unit,PMU)數據操縱攻擊產生的電力異常數據,構建了分布式檢測框架;文獻[7]提出一種基于改進極限學習機的電力系統異常數據檢測模型,但是沒有實現在線檢測;文獻[8]結合主成分分析和改進局部離群因子算法檢測異常電力交易數據,針對異常行為特征實現分階段檢測,能有效識別電力市場異常行為?;跈C器學習的辨識方法在智能電網中發(fā)揮著重要作用,但是這些方法缺少對配電網數據中類不平衡問題的研究,導致異常數據的辨識能力弱。
現提出一種基于多元數據特征和改進隨機森林算法的智能配電網異常數據辨識方法。首先從原始數據和衍生數據兩方面進行特征分析,利用三次樣條插值、K-means聚類和箱線圖法提取原始數據特征,進而考慮配電網運行特性,挖掘電壓越限、三相不平衡等衍生數據特征。其次,基于隨機森林,從Bootstrap抽樣、決策樹構造和辨識結果投票等方面對算法進行改進,以降低類不平衡對模型性能的影響。最后,通過仿真實驗證明該方案的有效性。
異常數據辨識過程主要包括數據獲取、數據清洗、異常數據特征提取和異常數據辨識4個環(huán)節(jié),如圖1所示。
RN(A)表示隨機森林中第N棵決策樹對樣本A的辨識結果;RRF(A)表示隨機森林對樣本A的辨識結果圖1 智能配電網異常數據檢測Fig.1 Anomaly data detection for smart distribution network
數據獲取:獲取具有足夠規(guī)模、可靠來源和準確性的數據對于確保研究的完整性至關重要。智能電表、變壓器等終端設備在電網信息采集、存儲和傳輸過程中發(fā)揮著重要作用,同時面臨嚴峻的網絡威脅,是獲取量測數據的主要途徑。采集的數據包括三相電流、三相電壓和功率。
數據清洗:采用缺失值填充和離群值檢測方法對原始數據進行清洗,能夠提升數據質量,避免由于電力設備異常、人工操作失誤等原因產生的缺失值和離群值對異常數據檢測的干擾。采用三次樣條插值法和箱線圖法進行數據預處理。
特征分析:由網絡攻擊產生的異常數據具備隱蔽性,能夠利用與原始測量值一致的分布特性繞過異常數據檢測。因此,從原始數據和衍生數據兩方面進行特征分析,能夠進一步提高異常數據的辨識準確性。從電壓越限、三相電壓不平衡和三相電流不平衡三方面提取衍生特征。
異常數據辨識:在完成特征提取之后,利用清洗后的量測數據和衍生數據構造樣本集,采用改進隨機森林算法訓練異常數據辨識模型,實現對樣本數據的準確識別。
智能配電網是集成計算、網絡和物理設備的多維復雜系統,也為異常數據的產生和滲透創(chuàng)造了條件。風電、光伏等清潔能源的接入,增加了智能配電網的不確定性和波動性,導致異常數據特征的變化。為了提高異常數據辨識準確性,從原始數據特征和衍生數據特征兩方面進行分析。原始數據是從終端設備采集的歷史數據,衍生數據考慮配電網運行的性能要求,包括電壓限制、功率平衡和電網結構等不同的約束,基于歷史數據獲得。
原始數據特征從樣本數據中提取,與相電壓、相電流和三相負載功率有關,可以表示為F1={UA,UB,UC,IA,IB,IC,P}。不同的配電網量測數據具備不同的特征,導致其在一定范圍內波動[9],如圖2所示。為了構建原始數據特征,采用三次樣條插值填充缺失值,K-means聚類被用于獲取區(qū)間時間序列,而箱線圖法則負責剔除異常值和提取原始數據的邊界特征。原始數據特征的構建過程如下。
圖2 不同數據的區(qū)間時間序列Fig.2 The interval time sequence of different data
步驟1樣本數據集的預處理??紤]到存在多重數據缺失,采用三次樣條插值方法對缺失值進行填充[10]。假設序列X= {x1,x2,…,xp,…,xn},根據式(1)進行區(qū)間[xi,xj]的缺失值填充。
(1)
式(1)中:xp∈[xi,xj];ei+1=xj-xi;gi=S(xi);α、β為需要確定的參數。
步驟2獲得區(qū)間時間序列。根據歷史數據,計算時間序列與區(qū)間時間序列之間的相似性,進行K-means聚類[11],如圖3所示。設置時間序列X={x1,x2,…,xp,…,xn}和間隔時間序列Y={y1,y2,…,yp,…,yn}={[y11,y12],[y21,y22],…,[yp1,yp2],…,[yn1,yn2]},則X和Y之間的距離D在式(2)和式(3)中給出[12]。
圖3 基于k-means獲取區(qū)間時間序列Fig.3 Obtaining interval time series based on k-means
(2)
(3)
步驟3提取原始數據特征。與區(qū)間時間序列相結合,采用箱線圖方法提取原始數據特征[13]所示的區(qū)間五分位數來描述分布特征(圖4),對原始數據的判斷如式(4)所示。
圖4 基于箱線圖的區(qū)間五分位數示意圖Fig.4 The schematic of interval quintile based on box-plot
(4)
式(4)中:q1、m和q3為有序的第一四分位數、中位數和第三四分位數;r為q3和q1之間的差值,異常數據位于邊界q3+1.5r和q1-1.5r的外部。
分布式電源的集成、不平衡負載和不對稱線路參數的存在,通常會引發(fā)智能配電網波動,網絡攻擊者會利用這一特性篡改數據,提高異常數據的隱蔽性。故提出用衍生數據特征反映配電網運行特性,通過結合電能質量標準和配電網技術規(guī)范提取衍生數據特征,包括電壓越限(ΔU)、三相電流不平衡度(fI)和三相電壓不平衡度(fU),表示為F2={ΔUA, ΔUB, ΔUC,fI,fU}。
2.2.1 電壓越限
電壓越限會導致電能質量下降,干擾負載或設備的正常運行,甚至導致電力系統崩潰。具有不確定性特征的分布式電源并網導致電壓波動經常發(fā)生,電壓越限已成為主要的電能質量問題,也不可避免地成為網絡攻擊的目標。因此,電壓越限是異常數據辨識中不可缺少的組成部分。這里的電壓越限(ΔU)是指由異常數據引起的配電網節(jié)點電壓過高或過低的情況,用式(5)描述,即
(5)
式(5)中:ΔU為電壓偏差百分比;U為實際電壓;UN為標稱電壓。
2.2.2 三相不平衡
與電壓越限類似,三相不平衡也是配電系統中的一種常見現象,成為影響配電網異常數據檢測性能的主要因素[14]。然而,攻擊者也會通過虛假數據注入引發(fā)三相不平衡,在干擾異常檢測的同時防止被發(fā)現。因此,可以通過分析三相不平衡提高異常數據辨識能力,包括三相電流不平衡度(fI)和三相電壓不平衡度(fU)。式(6)和式(7)中的三相不平衡度分別是三相電流和電壓不平衡的定量表示,表達式分別為
(6)
(7)
式中:IA、IB、IC分別為A相、B相和C相電流;Iave為三相電流的平均值;UA、UB、UC分別為A相、B相和C相電壓;Uave為三相電壓平均值。
隨機森林(random forest, RF)是一種基于決策樹的集成學習算法,被廣泛應用于異常數據檢測[15-16]。為了提高算法的異常數據辨識能力,設計了混合Bootstrap抽樣和加權投票策略,為解決類別不平衡問題提供了新的思路,并且在決策樹構造階段引入信息增益率改進最優(yōu)特征的選擇,增加了隨機森林中決策樹的穩(wěn)定性。基于改進隨機森林實現配電網異常數據辨識的具體流程如圖5所示。
圖5 基于改進隨機森林的異常數據辨識流程Fig.5 Flow chart of anomaly data identification based on improved random forest
Bootstrap被用于生成訓練決策樹的數據子集,其實質是對樣本數據有放回地進行隨機抽樣[17]。在隨機森林算法中,首先利用Bootstrap方法從樣本集中有放回的抽取θ組數據,N次抽樣后得到N個包含θ組數據的訓練集;然后利用決策樹算法構建N棵決策樹,具體過程如圖6所示。
圖6 混合Bootstrap抽樣方法Fig.6 Sampling method based on hybrid Bootstrap
然而,實驗結果表明,Bootstrap方法在配電網數據集抽樣中表現并不理想,經常出現訓練子集中異常樣本數量過少的問題,導致模型不具備優(yōu)異的異常數據辨識能力。這與配電網數據集中存在的類不平衡現象有關,即正常樣本數量大于異常樣本數量。因此,提出一種混合Bootstrap方法,結合基于樣本不平衡度的過采樣方法,解決由Bootstrap抽樣導致的訓練子集類不平衡問題。
人工少數類過采樣法(synthetic minority oversampling technique,SMOTE)常用于不平衡數據集的過采樣,通過對少數類樣本的多次擬合實現類平衡[18]。然而,配電網數據集中正常樣本和異常樣本的不平衡是客觀規(guī)律,追求類完全平衡是不科學和不合理的。通過樣本不平衡度控制異常樣本的擬合次數,初始數據集d的樣本不平衡度η可以表示為
(8)
如果通過Bootstrap抽樣獲取的訓練子集樣本不平衡度η1>η,說明該子集的樣本不平衡問題較為嚴重,不利于決策樹對異常樣本的識別。此時,需要通過SMOTE方法對訓練子集進行過采樣,實現對異常樣本的擴充,直到η1=η。
決策樹(classification and regression tree,CART)算法是用于構造決策樹的一種方法[19],在節(jié)點或者數據集的分裂中實現對異常數據的識別。最優(yōu)分裂特征的選擇是影響決策樹辨識性能的關鍵因素,CART算法根據Gini系數衡量特征重要性。但是,這種方法缺乏對應的驗證機制,無法保證最優(yōu)特征的唯一性。因此,在選擇最優(yōu)分裂特征過程中引入信息增益率,對最優(yōu)分裂特征進行驗證,以提高辨識準確性和穩(wěn)定性,改進決策樹的構造過程如圖7所示。
圖7 決策樹構造流程Fig.7 Flow chart of constructing a decision tree
在通過特征選擇生成特征子集后,根據最優(yōu)分裂特征值完成對訓練數據集的分裂,分裂后訓練子集的純度或確定性高于分裂前的數據集,進而在不斷分裂的過程中實現對樣本的分類。傳統的CART算法選取Gini系數量化特征值的重要性,Gini系數越小,特征值越重要,基于特征值分裂后的數據子集確定性越高[20]。根據特征值auv劃分數據集d的Gini系數可以表示為
(9)
(10)
式中:d1和d2為數據集d分裂后的子集;H為d中樣本的總類別數;Ch為數據集中第h類的樣本數。
可知,CART算法依據某一個特征進行分類,對于最優(yōu)特征的選擇具有不確定性,無法保證決策樹的分類準確性。為此,引入信息增益率對最優(yōu)特征值進行驗證[21],最優(yōu)特征值應該同時滿足Gini系數最小和信息增益率最大的約束。首先通過計算Gini系數進行最優(yōu)特征值的初始選擇,然后與采用信息增益率計算得到的最優(yōu)特征值進行比較,如果兩者相等,則進行節(jié)點分裂;否則,繼續(xù)計算最優(yōu)特征值。信息增益率可以表示為
(11)
Gai(d)=EntroyB(d)-EntroyA(d)
(12)
有時天氣壞一點,逃了學沒有什么去處,我就一個人走到城外廟里去。本地大建筑在城外計三十來處,除了廟宇就是會館和祠堂。其間空地廣闊,因此均為小手工業(yè)者所利用。那些廟里常常有人在殿前廊下絞繩子、織竹簟、做香,我就看他們做事;有人下棋,我看下棋;有人打拳,我看打拳。
(13)
式中:InfGaiRat為信息增益率;Gai和SplInf分別為信息增益和分裂信息,信息增益率越大,特征值越重要;Nd為父節(jié)點數據集的樣本數;Ndl為第l個子節(jié)點數據集的樣本數;L為節(jié)點數;EntroyB和EntroyA分別為樣本數據集分裂前、后的熵。
最后,以葉子節(jié)點樣本數和決策樹深度作為節(jié)點分裂結束條件,當葉子結點包含樣本數小于指定閾值或者決策樹深度大于指定閾值時,決策樹節(jié)點停止分裂。
隨機森林算法通過對決策樹分類結果進行投票作出最終決策,并且任意決策樹的投票權重相同。通過混合Bootstrap方法,縮小了訓練子集中正常樣本和異常樣本的比例,但是類別不平衡現象依然存在。因此,提出一種加權投票策略,對具有不同分類性能的決策樹賦予不同的投票權重,目的是提高隨機森林算法對異常數據的辨識能力。為了找到隨機森林中對異常數據更加敏感的決策樹,采用Fβ評估決策樹性能。Fβ是精確度(precision,P)和召回率(recall,R)的加權調和平均,Fβ越大,表明該決策樹對異常樣本的分類性能越好。因此,將Fβ設置為決策樹的投票權重。Fβ的計算方法如下。
(14)
(15)
(16)
式中:NTP為正確識別異常樣本的數量;NFP和NFN分別為異常樣本和正常樣本被錯誤分類的數量;β為用于平衡精確度和召回率重要性的參數。
則隨機森林分類模型輸出為
(17)
式(17)中:Rt為決策樹模型;h為決策樹分類結果,h=1表示辨識結果為正常,h=2表示辨識結果為異常;RRF為隨機森林分類模型輸出;N為隨機森林模型中基分類器的總數;I(·)為指示函數,當決策樹分類結果為真時,指示函數的值為1,反之為0。
在MATLAB環(huán)境中進行仿真實現,處理器為Intel(R) Core(TM) i5-7300HQ CPU @2.5 GHz,Window10操作系統。
4.1.1 評價指標
在智能電網異常數據辨識中,評估算法性能時不僅要考慮異常數據的正確識別,也應該關注正常樣本的辨識情況。因此,使用準確度(accuracy, Acc)、精確度和召回率評估模型性能[22]。精確度和召回率的計算方法見式(14)和式(15),準確度的計算方法為
(18)
式(18)中:NTN為正常樣本被正確分類的數量。
4.1.2 仿真參數
為了準確提取數據特征,從變壓器中收集了35 712條記錄,包含三相電壓、電流和功率值。每15 min采集一組數據,每天有96個采樣點。根據式(5)~式(7),得到3個衍生特征。圖8顯示了部分原始數據樣本的變化情況,而圖9和圖10是提取的衍生數據特征。在由原始數據和衍生數據組成的數據集中,訓練樣本占80%,而其他是測試樣本。
圖8 A相電壓原始數據Fig.8 Raw data of A-phase voltage
圖9 三相電壓的電壓偏差Fig.9 The Voltage Deviation of three-phase voltage
圖10 三相不平衡度Fig.10 The three-phase unbalance degree
4.2.1 決策樹數量影響
RF中決策樹數量與異常檢測性能密切相關。在不同數量的決策樹條件下的準確度和訓練時間如圖11所示,其中初始數量和增量均為10。可以看出,算法的準確度隨決策樹數量的增加而提高,當決策樹數量達到60時保持穩(wěn)定。與準確度不同的是,訓練時間不斷增加。因此,考慮到時間要求,建議在滿足辨識準確性的條件下采用較少的決策樹數量。因此,在后續(xù)試驗中將決策樹數量設置為60。
圖11 不同決策樹數量的影響Fig.11 Influence under different number of decision trees
4.2.2 衍生數據特征影響
如圖12所示為衍生數據特征對算法性能的影響。可以看出,考慮衍生特征時的準確度、精確度和召回率都優(yōu)于僅使用原始數據特征。結果表明,衍生數據特征的引入確實減少了異常數據的錯誤分類。此外,引入衍生特征在增加樣本規(guī)模的情況下節(jié)約了運行時間,說明算法效率明顯提高。兩種算法的性能曲線均不隨迭代操作次數的增加而發(fā)生劇烈波動,這表明該算法具有穩(wěn)定的識別性能。
圖12 衍生數據特征的影響Fig.12 Influence of derived data features
針對數據集A、B、C,將本文方法與決策樹算法、BP神經網絡、SVM和傳統隨機森林4種方法進行比較分析,驗證所提出的檢測方法的有效性。在仿真中,決策樹是通過CART算法構建的,BPNN的隱層數為4層,而SVM采用高斯核實現,傳統隨機森林中決策樹數量也設置為60。
表1列出了不同模型的異常數據辨識結果,DT、BPNN、SVM和傳統隨機森林在3個數據集上的召回率都遠小于本文算法,說明它們易將異常數據識別為正常數據,會出現異常數據的漏檢和誤檢,這是由于這些算法缺乏類不平衡數據的處理機制。通過采用混合Bootstrap抽樣和加權投票,提高了算法的異常數據識別能力,獲得了較高的召回率。此外,通過比較不同數據集的檢測結果,可以看出本文算法具有穩(wěn)定的辨識性能,這是由于引入信息增益率優(yōu)化了最優(yōu)特征選擇過程。與傳統隨機森林比較,本文算法的訓練時間有所增加,但是仍然低于BPNN和SVM。
表1 不同模型的性能比較Table 1 Performance comparison of different models
提出一種基于多元數據特征和改進隨機森林的異常數據辨識方法,進一步提高了異常數據檢測的準確度。通過大量仿真比較,得出如下結論。
(1)多元數據特征能夠有效反映異常數據的動態(tài)變化規(guī)律。提取原始數據特征對于獲取多元數據分布特性具有重要作用,而衍生數據特征有助于深入挖掘數據相關性,擴展了數據集規(guī)模并且提高了模型的學習能力。
(2)針對類不平衡問題提出了改進隨機森林算法。提出結合過采樣的混合Bootstrap方法,基于樣本不平衡度構造異常數據,根據決策樹的異常數據辨識能力進行加權投票,提高算法的異常數據檢測性能,能夠避免誤檢和漏檢。
(3)本文算法在異常數據辨識準確性和穩(wěn)定性上表現優(yōu)異。仿真結果表明,當決策樹數量為60棵時,隨機森林辨識性能最好。本文算法在3個數據集上的異常數據辨識準確度都超過99%,優(yōu)于決策樹、支持向量機等算法。