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