王楠,周鑫,周云浩,蘇世凱,王增亮
(國網(wǎng)北京市電力公司電力建設(shè)工程咨詢分公司,北京 100021)
隨著我國電力工程規(guī)模的不斷擴大,完整的電力工程建設(shè)周期所花費的時間差異較大。而在時間跨度較長的工程項目中,電力設(shè)備會受到環(huán)境影響,不可避免地會出現(xiàn)設(shè)備老化、材質(zhì)受損等現(xiàn)象[1-2]。以變壓器設(shè)備為例,現(xiàn)行方案僅從外觀及少數(shù)指標對設(shè)備進行驗收,故無法反映設(shè)備的真實狀態(tài)[3-6],一旦發(fā)生事故將會造成難以估量的經(jīng)濟損失。因此,需要基于數(shù)據(jù)分析方法設(shè)計一種電力工程異常檢測算法。
傳統(tǒng)電力工程異常檢測驗收主要依靠工程師根據(jù)檢驗指標進行判斷。故該文從設(shè)備狀態(tài)入手,通過對設(shè)備工作時狀態(tài)數(shù)據(jù)的分析來判斷電力設(shè)備的狀況。而電力設(shè)備異常狀態(tài)數(shù)據(jù)樣本具有容量小、數(shù)據(jù)多及非線性的特點。文中基于改進支持向量機(Support Vector Machines,SVM)算法提出一種電力設(shè)備的數(shù)據(jù)異常分析模型,以支撐電力工程項目的驗收工作。
支持向量機[7-9]是一種二分類算法,其將線性或非線性數(shù)據(jù)作為核函數(shù)的輸入,而核函數(shù)再將數(shù)據(jù)映射至高維平面,并通過全局搜索算法對最優(yōu)平面進行輪詢和搜索。
假定樣本訓練集合為K={(x1,y1),(x2,y2),…,(xi,yi)},其中xi為輸入數(shù)據(jù)特征,yi為數(shù)據(jù)特征數(shù)量,則超平面的求解可表示為:
式中,w為權(quán)重因子,C為懲罰項,ξi為松弛因子,b為截距值。
SVM 通常僅能解決二分類問題,但電力工程異常數(shù)據(jù)則具有多項特征,故可抽象為多分類問題。求解多分類問題一般有兩種方法:1)構(gòu)造多分類函數(shù),也被稱為全局多類SVM;2)使用多個分類器,即組合多類SVM。其中,組合多類SVM 算法的運行與識別速度均較快,因此文中使用組合多分類SVM 算法中的樹結(jié)構(gòu)算法(tree structure)來對電力工程中的異常數(shù)據(jù)加以檢測。
樹結(jié)構(gòu)算法根據(jù)二叉樹的結(jié)構(gòu)對每個二分類器進行排列,最終組成多分類結(jié)構(gòu)。假定樹結(jié)構(gòu)共有K個節(jié)點,則需K-1 個分類器。算法執(zhí)行首先把所有數(shù)據(jù)按特征進行排序,再根據(jù)樹結(jié)構(gòu)判定樣本的正負情況。該算法結(jié)構(gòu)如圖1 所示。
圖1 樹結(jié)構(gòu)算法
對于多分類SVM 模型而言,核函數(shù)的選擇也較為關(guān)鍵,不同核函數(shù)的性能也有所不同。該文選擇了當前常用且誤差較小的徑向基函數(shù)(Radial Basis Function,RBF),其可表征為:
其中,γ是徑向權(quán)重。
SVM 具備較強的數(shù)據(jù)強特征分類能力,但當數(shù)據(jù)特征較為接近時,對特征的區(qū)分度便會降低。因此,文中還將利用AdaBoost 弱特征分類器輔助SVM進行分類。
AdaBoost 算法[10-12]可將多個弱特征分類器加以集合。在該算法中,首先對所有樣本數(shù)據(jù)進行平均權(quán)重分配;然后在迭代時,權(quán)重值均會隨著數(shù)據(jù)特征的改變而變化;最終算法會先挑選出強特征數(shù)據(jù),且越往后數(shù)據(jù)之間的特征性能越弱。AdaBoost 算法結(jié)構(gòu)如圖2 所示。
圖2 AdaBoost算法結(jié)構(gòu)
算法按照比例將數(shù)據(jù)分為兩種集合,分別為訓練集和驗證集。其中,訓練樣本權(quán)重值F可表示為:
式中,φ表示每項數(shù)據(jù)的權(quán)重值,N為樣本數(shù)量。迭代時,計算分類器的分類錯誤率,如下所示:
式中,m為算法迭代次數(shù),Gm為第m個弱分類器。根據(jù)式(5)中的錯誤率公式,可計算出弱分類器在算法執(zhí)行完集合中的比例為:
迭代完畢后的分類器權(quán)重如下:
式中,Zm為歸一化常數(shù),可表示為:
最后根據(jù)弱分類器權(quán)重組合得到最終的分類器,則有:
雖然AdaBoost-SVM 算法可以提升模型整體的分類性能,但由于模型參數(shù)眾多,若初始化參數(shù)選擇不合理,模型分類性能便會有較大損失。因此,使用啟發(fā)式優(yōu)化算法(Heuristic Optimization Algorithm)對迭代次數(shù)、懲罰項C以及核函數(shù)中的參數(shù)進行尋優(yōu)。
文中選擇的優(yōu)化算法為鯨魚算法(Whale Optimization Algorithm,WOA)[13-16],其是根據(jù)鯨魚的捕食規(guī)則發(fā)展而來的,具有結(jié)構(gòu)簡單且準確率高的優(yōu)點。該算法可分為隨機覓食、包圍目標與螺旋捕食三個步驟。
1)隨機覓食。在不確定目標位置時,整個種群會隨機指定某一個體位置為目標所在位置,其他個體便會向此處靠近。這一步驟可表示為:
式中,t為種群迭代次數(shù);X(t)為種群中個體所處位置;Xr(t)為種群隨機選取的個體位置;Dr表示個體與目標之間的距離;A、B則表示公式系數(shù),且二者的計算公式為:
其中,random1 和random2 均為0~1 之間的隨機數(shù),tmax指的是算法最大迭代次數(shù)。
2)包圍目標。當種群找尋到食物后,個體會逐漸縮小包圍圈,并不斷向該目標位置靠近。此時種群同目標間的距離可表示為:
式中,Xb(t)為種群中與目標最為接近的個體,Db為最優(yōu)距離。
3)螺旋捕食。當種群靠近目標后,個體朝著目標發(fā)動捕食,此時距離可更新為:
式(16)中,k為目標常數(shù);w為隨機數(shù),取值范圍為-1~1。當w為-1 時,表示個體與目標的距離最為接近;而當w為1 時,則表示個體和目標距離最遠。
由此,WOA 算法的流程如圖3 所示。
圖3 WOA算法流程
SVM 算法中,懲罰項C與核函數(shù)的參數(shù)對結(jié)果均存在影響。文中指定懲罰項C的優(yōu)化范圍為[0.05,300],核函數(shù)參數(shù)g優(yōu)化范圍選擇[0.02,50],使用WOA 算法對其進行尋優(yōu)。在尋優(yōu)過程中,同時觀察AdaBoost 的初始化迭代次數(shù),并以該迭代次數(shù)作為另一項優(yōu)化參數(shù),最終獲得優(yōu)化值。
文中AdaBoost-WOA-SVM 算法流程如圖4 所示。可見該算法首先抽取電力工程異常數(shù)據(jù),并將其分為樣本集和數(shù)據(jù)集,再利用AdaBoost 算法進行弱分類器分類;同時設(shè)置WOA 算法的迭代次數(shù)與參數(shù)尋優(yōu)范圍,且對參數(shù)加以優(yōu)化;最終,在優(yōu)化完畢后輸出最優(yōu)結(jié)果。
圖4 AdaBoost-WOA-SVM算法流程
文中以電力工程中的重要電力設(shè)備變壓器為例驗證算法。變壓器的驗收通過H2、CH4、C2H6、C2H4以及C2H2五種氣體在變壓器油中的體積分數(shù)進行判定。根據(jù)組合體積分數(shù)的不同,判斷變壓器狀態(tài)為正常或損壞。而數(shù)據(jù)集合則采用某地區(qū)電網(wǎng)變壓器驗收數(shù)據(jù)。驗收數(shù)據(jù)集與具體狀態(tài)如表1 所示。
表1 數(shù)據(jù)集信息
同時,還使用Matlab R2016a 作為算法實現(xiàn)平臺。實驗配置信息如表2 所示。
表2 實驗配置信息
利用優(yōu)化算法根據(jù)數(shù)據(jù)情況對參數(shù)進行優(yōu)化,使用WOA 算法后,每個分類器的精度均較優(yōu)。而不同參數(shù)下的訓練結(jié)果如表3 所示。
表3 訓練結(jié)果
可以看到,當C取79.56 且g取0.98 時,該文算法的分類精度最優(yōu),因此將該參數(shù)作為分類器參數(shù)。為了減少計算量,對AdaBoost 迭代次數(shù)進行觀察,結(jié)果如圖5 所示。
圖5 AdaBoost迭代次數(shù)
從圖中可看出,當AdaBoost 算法迭代至10 次以上時,算法的分類精確度不會有大的波動,因此AdaBoost 的迭代次數(shù)取10 次。
在對比實驗測試中,驗證算法對數(shù)據(jù)集中變壓器狀態(tài)判斷的準確性。對比算法使用遺傳優(yōu)化算法(Genetic Algorithm-SVM,GA-SVM)、麻雀搜索算法(Sparrow Search Algorithm-SVM,SSA-SVM)及粒子群優(yōu)化算法(Particle Swarm Optimization-SVM,PSOSVM)。測試時首先利用各自模型所具有的優(yōu)化算法完成參數(shù)優(yōu)化,之后再使用分類器進行分類。算法測試結(jié)果,如表4 所示。
由表4 可知,GA-SVM 與PSO-SVM 算法異常數(shù)據(jù)檢測準確率較差,故在驗收時出現(xiàn)誤判的可能性最大。而該文算法對變壓器異常數(shù)據(jù)的檢測準確率最高,且與其他算法相比,分別提升了5.35%、2.17%和5.35%,由此說明,該文算法的性能最優(yōu)。
施工周期長的電力工程項目,設(shè)備易受到環(huán)境等因素影響而發(fā)生內(nèi)部損壞,依靠傳統(tǒng)方法檢測通常難以發(fā)現(xiàn)異常。文中基于改進的SVM 算法提出了一種異常數(shù)據(jù)檢測方法,其利用二叉樹結(jié)構(gòu)增強模型的多特征分類能力,使用AdaBoost算法提高模型弱特征分類性能,同時還采用鯨魚算法對模型參數(shù)進行優(yōu)化。實驗結(jié)果表明,該文算法在對比算法中具有最優(yōu)的精確度,可為電力基建工程提供有效的數(shù)據(jù)支撐。