袁 帥 余 偉 余 放 李石君
1(鄭州電力高等??茖W校信息通信系 河南 鄭州 450000)2(武漢大學數據科學研究所 湖北 武漢 430072)
隨著我國經濟的發展,對電力需求不斷增大,保證電力系統的安全穩定運行,有效診斷預測電網故障尤為重要。近年來計算機和診斷技術不斷發展,電網故障診斷技術也得到飛速的提升。國內外學者已運用的專家系統、神經網絡、Petri網、機器學習和深度學習等智能故障診斷技術[1],雖然在故障診斷上都取得了較好的效果,但存在前提條件苛刻(數據預處理要求過高)、局部欠學習和過學習等問題。本文樣本中正常數據占絕大部分,而故障數據只占小部分,正常和故障數據分別為大類和小類樣本,即構成典型的不平衡數據。
當前,不平衡數據分類問題的解決方法[2]主要有2個方面:(1) 數據層面,上采樣和下采樣,改變數據分布,降低不平衡度,稱之為重采樣方法;(2) 算法層面,分析已有算法在面對不平衡數據的缺陷,改進算法或者提出新算法來提升小類的分類準確率,例如代價敏感學習和集成學習[3]等。
針對故障診斷不平衡的樣本數據,Zhang等[4]提出了基于快速聚類和支持向量機的旋轉機械故障診斷算法,通過快速聚類減少數據,平衡后利用支持向量機進行訓練,有較好的診斷效果。Zhang等[5]提出綜合上采樣和特征學習的旋轉機械不平衡數據故障診斷方法,用加權上采樣法平衡數據分布,用增強的自動編碼進行特征選擇,可以更有效地檢測故障樣本。
不平衡學習方法在故障診斷領域已有較好的效果,但在電網故障診斷領域應用較少,本文采用不平衡學習方法進行實驗研究。目前研究不平衡數據,以SMOTE方法[6]為基礎的改進模型[7-8]居多,但SMOTE方法容易造成小類的生成樣本重疊,因為生成樣本是各小類盲目地生成相同的數量,忽略了其臨近樣本的分布特點。而自適應合成上采樣[9](Adaptive Synthetic Sampling Approach,ADASYN)生成樣本數量,是根據各小類的密度分布來計算得到的,更能增強分類模型的學習能力[10]。圖1為各采樣算法生成模擬樣本的對比,得出SMOTE采樣在樣本點之間線性插值生成新樣本;SVMSMOTE采樣[11]基于SVM的超平面生成新的樣本;BorderlineSMOTE采樣[12]在小類靠邊界點附近生成樣本;ADASYN采樣在小類的樣本聚集處生成較多樣本。極端隨機樹算法[13](Extremely Randomized Trees,ET)能有效地降低分類的偏差和方差,并在小類的應用上有較好的效果[14-15],但本文數據小類數量極少,并不適用。因此,本文結合ADASYN的自適應合成和極端隨機樹的偏差和方差低優點,并在此基礎上進行改進,提出了一種ADASYN-DHSD-ET算法,應用于電網故障診斷中。

(a) 原本樣 (b) SMOTE (c) SVMSMOTE

(d) BorderlineSMOTE (e) ADASYN圖1 各采樣算法合成樣本對比圖
ADASYN-DHSD算法是基于ADASYN在生成數據時根據離散高維空間距離改進的算法。該方法考慮數據為多類不平衡問題,根據小類樣本的分布自適應地合成新樣本,在合成新樣本時用高維空間距離來計算樣本的離散型特征數據,根據樣本點之間的距離確定合成的樣本點的數量大小。距離越近合成樣本點越多。創建一個定義所有特征向量的特征值之間高維空間距離的矩陣,兩個特征向量的距離δ的定義如下:
(1)
式中:V1和V2是兩個特征值;C1是特征值V1出現的總次數;C1i是在i類中特征值V1出現的次數;C2和C2i與上面的定義相似;k是常數。式(1)用來計算特征向量的每個標稱特征值的差值矩陣,并給出一個確定的幾何距離。
根據ADASYN,設小類的樣本點x,有x1,x2,…,xt(t (2) (3) x與xi的生成結點個數mi為: (4) x依次與各xi合成mi個新樣本。 ET算法是一種集成算法。其基分類器使用全部樣本進行訓練,為增強隨機性,在節點分裂時隨機從M個特征中選擇m個特征,以基尼系數或信息增益熵選擇最優屬性進行分裂,分裂過程中不剪枝,直到生成一個決策樹(基分類器)。利用投票決策對所有基分類器統計產生最終分類結果。 ET優于貪婪的決策樹,在小樣本上有更好的平滑性,能有效降低偏差和方差。為說明這一點,考慮大小為N的樣本: lsN={(xi,yi)}i=1,2,…,N 特征函數I(i1,i2,…,in)(x)的區間為: 基于此,參考文獻[13]可得一個無限的ET可以近似表示為: (5) 當nmin=2完全樹的特殊情況下,有: (6) 如果輸入空間為一維(n=1 andx=(x1)),式(6)退化為線性分段模型: (7) 當基分類器的數量M→∞時,對比其他基于樹的集成分類方法,ET更連續光滑。從偏差和方差的角度看,模型的連續性使得目標函數平滑區域的方差和偏倚較小,從而使得該區域的模型更加精確。ET雖然在小類樣本的數據上有較好的表現,但在數據分布極不平衡情況下,由于小類的數目極少,樣本特征的表現力較低,導致小類被誤分,降低模型對小類的預測性能。為提高小類的預測精度,提升樣本的平衡度,并保證模型的較小的偏差和方差,本文提出一種基于ADASYN-DHSD-ET的分類算法。 本文通過ADASYN-DHSD采樣,利用小類中每個樣本的K最鄰近,計算樣本的分布,使用DHSD計算樣本之間的合成數、合成數據,改進樣本的平衡度,增強算法的訓練效果。同時極端隨機樹算法中,每個基分類器都使用新合成的全部樣本進行訓練,在基分類器節點分裂時隨機選取分裂特征,計算其最優的分裂屬性進行分裂,直到生成一個基分類器。最后對所有基分類器進行投票,形成ADASYN-DHSD-ET算法。 設訓練樣本集為D={(x1,y1),(x2,y2),…,(xm,ym)},則ADASYN-DHSD-ET算法描述如下: 1) 構造ADASYN_DHSD_ET(D)。 輸入訓練集D={(x1,y1),(x2,y2),…,(xm,ym)} 輸出極端隨機樹T={t1,t2,…,tM} 1. fori=1 toMdo 2. 生成決策樹,ti=構造子分類器(D) 3. end for 4. 投票策略 5. 返回極端隨機樹T 2) 構造子分類器(D)。 輸入訓練集D={(x1,y1),(x2,y2),…,(xm,ym)} 輸出子分類器t 1. 調用ADASYN_DHSD采樣(D),返回采樣后數據集Dnew 2. if 停止分裂(Dnew) then 3. 返回一個葉節點 4. else 5. 從所有候選屬性中隨機選擇K個屬性{a1,a2,…,aK} 6. 產生K個分裂閾值{s1,s2,…,sK},其中si=選取分裂點(Dnew,ai),i=1,2,…,K 7. 根據Score(s*,Dnew)=maxi=1,2,…,KScore(s*,Dnew),選擇最好的測試分裂閾值s* 8. 根據測試分裂閾值s*,將樣本集Dnew分為兩個子樣本集Dl和Dr 9. 分別用子集Dl和Dr構造左子樹tl=構造子分類器(Dl)和右子樹tr=構造子分類器(Dr) 10. 根據s*建立樹節點,tl和tr分別為其左子樹和右子樹,并返回決策樹t 11. end if 3) ADASYN_DHSD采樣(D)。 輸入D為訓練數據集,其中包含m個樣本{xi,yi},xi是n維特征集合,yi∈Y={1,2,…,C}是類別集合,表示大類數目用ml表示,各小類的數目用ms1,ms2,…,msj表示。有msi≤ml,并且∑msi+ml=m 輸出采樣后樣本Dnew 1. 循環每個小類fori=1 tojdo 2. 計算小類的不平衡度di: di=msi/mldi∈(0,1] (8) 3. ifdi 4. 計算需要合成的小類樣本的總數目Gi,參數β表示小類樣本合成后的不平衡度,β=1表示大類樣本數目和合成后的小類樣本數目相同 Gi=(ml-msi)×ββ∈(0,1] (9) 5.xi表示小類的每個樣本,并且計算其在n維空間的K近鄰比率ri,其中Δi是xi的K近鄰中樣本的數目,因此ri∈[0,1] ri=Δi/Ki=1,2,…,msi (10) (11) 7.gi表示每個小類樣本xi期望的合成樣本數量,Gi是式(9)中合成樣本的總數 (12) 8. 用DHSD為每個樣本xi生成gi個合成數據 4) 停止分裂(D)。 輸入訓練集D 輸出布爾值 1. ifD 2. ifD中所有屬性確定不變,then return TRUE 3. ifD中輸出變量確定不變,then return TRUE 4. else return FALSE 5) 選取分裂點(D,a)。 輸入訓練集D,屬性a 輸出分裂屬性 3. 返回分裂屬性[a 本文選取自江西省2016年9月至2018年4月之間的電網的日常監控數據,經過預處理后,保留全部屬性完整的記錄。樣本如表1所示,共有記錄30 039條,每條記錄特征屬性11個,包括電壓、電流、是否修復過、日期等信息;故障類別分為5大類,類別1表示正常類,類別2-類別5分別表示信號丟失故障類、MIB備份未對齊故障類、R丟失故障類、信號降級故障類,其中正常類的數據極多,為大類,4個故障類別數據極少,為小類,類別比例為0.989 1∶0.003 6∶0.003 0∶0.002 5∶0.001 8??梢钥闯?,該樣本的特征為一個極大類,多個極小類,具有明顯的數據不平衡特征。 表1 數據集的特征 基于電氣量信息(電壓、電流、電功耗、電能、相位、頻率等)的電網故障診斷[16],可提供較準確的故障診斷,并具有較強的解釋性。但實際情況中電氣測量較難,本文中只有電流和電壓的電氣量,難以用根據大量電氣量信息的模型計算。并且電網故障產生的原因較多,比如設備老化、用電負荷、惡劣天氣、無線通信等,都會對精密電網設備造成一定的影響,其中部分原因是無規律的,并可能包括很多考慮不到的情況。本文特征屬性包含一些看似沒有直接關聯的屬性(是否修復過、工作日、時間等),基于大數據采用人工智能中分類的方法進行對比分析,發現其中隱藏的有價值信息。 本文實驗的流程圖如圖2所示。首先基于多源數據庫的數據進行數據預處理(數據清理、數據集成),得到以上數據集。數據集按照6∶4對每個類進行隨機采樣,得到訓練集Dtrain和測試集Dtest。 圖2 實驗的流程圖 然后使用ADASYN-DHSD-ET算法對Dtrain訓練故障診斷模型,算法對4個故障類進行過采樣,根據故障類的密度分布自動生成新樣本,改變數據集的平衡度,并使采樣后的數據保持原樣本的特征。對生成新樣本數量進行調參,依次設置采樣數量為原樣本的10、20、50、100、200倍直到與正常類樣本數量相同。每個基分類器對全部的新數據集進行分類,在節點分裂時在11個特征中隨機選取分裂特征,不減枝,充分考慮數據集特征。對基分類器的數量進行調參,依次設置生成基分類器數量100、200、500、1 000。集成分類器進行投票得到訓練模型。使用Dtest驗證訓練模型,根據每個參數設置進行實驗,得到最優模型。 傳統的分類器評價指標以整體的正確率評價算法性能,但在非均衡的故障數據中,正常運行的大類準確率高,故障數據的小類準確率低,依然得到較高總體準確率,但模型已失去意義。本文選擇平均精度(Average Accuracy,Avg_Acc)、小類的平均精度(Avg_Accm)、F_score、G_mean和時間復雜度(Time)作為不平衡數據集的性能評價指標。 把混合矩陣擴展到k(k≥2)類分類問題上,用C1,C2,…,Ck表示k個分類,設實際第k類正確被預測為k類的樣本個數nkk,預測第i類的樣本個數為nki,混合矩陣如表2所示。 表2 擴展的混淆矩陣 (13) (14) (15) (4) 平均精度表示各類正確率的算術平均值: (16) OA在大類數量較多正確率高的情況下,不能體現小類的準確率,而Avg_Acc更能反映小類的準確率。C1為大類,C2,C3,…,Ck則為各小類,小類的平均精度表示各小類正確率的算術平均值: (17) (5) 設Fi為第i類的查全率和查準率的調和均值,F_score表示所有類別Fi的平均值: (18) (19) (6)G_mean表示為各類正確率的幾何平均值: (20) 使用各種傳統的分類器和不平衡的分類方法訓練、測試模型并與本文提出的ADASYN-DHSD-ET模型進行對比實驗。評價指標為OA、Avg_Acc、Rlarge(大類的正確率)、Avg_Accm、F_score、G_mean和Time。為保證可重復性和一般性,取50次實驗結果的平均值。 表3為傳統分類模型、集成分類模型與本文算法的性能比較結果,傳統分類模型包括多項樸素貝葉斯分類(Bayes)、最鄰近分類(KNN)、決策樹分類(Decision Tree)、支持向量機(SVM)、神經網絡多層感知器(MLP);集成方法包括Bagging、AdaBoost、梯度提升(Gradient Boosting)、隨機森林(Random Forest)、極端隨機樹(ET)。由表3的比較可知,ADASYN-DHSD-ET模型在性能指標Avg_Acc和G_mean上有明顯的提升。大部分算法在指標Rlarge上表現較好,而在指標Avg_Accm上本文模型比其他模型均高30%以上,說明在數量較大的類別進行訓練,可以得到較好的模型,但在極小類上由于樣本數量過少很難訓練出有效的模型。因此傳統的分類算法在不平衡問題上的表現較差,特別是樣本數量過少的情況下,小樣本類別識別率極低,應研究適合不平衡分類的新算法。在傳統的分類算法中Bayes和ET在指標Avg_Accm上表現較好,但在指標Rlarge上ET表現得更好,即在大類樣本中ET保持較高的正確率,選擇ET模型做進一步的改進。 表3 傳統分類模型與本文算法的性能比較 表4是本文算法與當前流行的不平衡分類方法進行比較,不平衡分類方法包括不平衡中常用的上采樣與ET模型結合:SMOTE-ET、SMOTENC-ET、SVMSMOTE-ET、BorderlineSMOTE-ET、ADASYN-ET;內部子集采取采樣的不平衡集成分類模型:BalancedRandomForest、RUSBoost、EasyEnsemble、BalancedBagging。由表4可知,本文算法與結合上采樣的ET模型相比在指標Avg_Acc、F_score和Avg_Accm上表現較好,說明本文算法在小類的識別上有較好的表現。SMOTENC-ET與本文指標相差較少,但耗時過高,本文算法和不平衡集成分類相比在指標Avg_Acc、Rlarge和G_mean上表現較好,說明本文算法在大類的識別上不會因為上采樣而受影響。雖然BalancedRandomForest在指標Avg_Accm上優于本文模型,但在其他三個指標上明顯低于本文模型,這是由于BalancedRandomForest在上采樣后生成的數據影響大類的識別率,在指標Rlarge中表現較差,而本文算法對大類的識別率依然保持較好。針對電網故障診斷,ADASYN-DHSD-ET模型的性能更好,對大類即正常運行的類別的識別正確率達到99%,同時對小類即故障類別的識別平均正確率達到70%,總體的平均正確率達到84.39%,F_score達到84.67%,G_mean達到82.6%。因此采用基于ADASYN-DHSD-ET的電網故障診斷方法,可以較準確地識別電網中的故障類型,增強了電力系統安全運行的穩定性和可靠性。 表4 常用不平衡分類模型與本文算法的性能比較 針對電網故障診斷樣本數據不平衡現象,本文提出一種基于ADASYN-DHSD-ET的分類方法。本文的主要貢獻包括:(1) 基于ADASYN-DHSD-ET,改進樣本平衡度和模型的訓練方法;(2) 提高隨機性,降低分類的偏差和方差,來克服模型的過擬合,提高模型的泛化能力;(3) 提高小類的正確率,并保證大類較高的正確率;(4) 對電網故障診斷,之前大部分研究只抽取部分故障數據進行研究,從真實多源數據庫出發,預處理得到的數據包含正常和故障樣本,并用不平衡分類方法進行研究,從實際數據源出發,具有完整的研究路線,并更全面地考慮到正常和故障數據的所有特性。 本文算法輸出故障診斷模型的解釋性仍需提高,在小類的精度不夠好,原因在于小類樣本數量過少。未來將在其他故障診斷上驗證本算法,進一步提高故障類別的分類精度。
1.2 ET算法




2 ADASYN-DHSD-ET算法



3 基于ADASYN-DHSD-ET的電網故障診斷實驗與分析
3.1 數據集描述

3.2 電網故障診斷實驗

3.3 模型性能評價指標




3.4 實驗結果分析


4 結 語