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