王楠,周鑫,周云浩,蘇世凱,王增亮
(國網北京市電力公司電力建設工程咨詢分公司,北京 100021)
隨著我國電力工程規模的不斷擴大,完整的電力工程建設周期所花費的時間差異較大。而在時間跨度較長的工程項目中,電力設備會受到環境影響,不可避免地會出現設備老化、材質受損等現象[1-2]。以變壓器設備為例,現行方案僅從外觀及少數指標對設備進行驗收,故無法反映設備的真實狀態[3-6],一旦發生事故將會造成難以估量的經濟損失。因此,需要基于數據分析方法設計一種電力工程異常檢測算法。
傳統電力工程異常檢測驗收主要依靠工程師根據檢驗指標進行判斷。故該文從設備狀態入手,通過對設備工作時狀態數據的分析來判斷電力設備的狀況。而電力設備異常狀態數據樣本具有容量小、數據多及非線性的特點。文中基于改進支持向量機(Support Vector Machines,SVM)算法提出一種電力設備的數據異常分析模型,以支撐電力工程項目的驗收工作。
支持向量機[7-9]是一種二分類算法,其將線性或非線性數據作為核函數的輸入,而核函數再將數據映射至高維平面,并通過全局搜索算法對最優平面進行輪詢和搜索。
假定樣本訓練集合為K={(x1,y1),(x2,y2),…,(xi,yi)},其中xi為輸入數據特征,yi為數據特征數量,則超平面的求解可表示為:
式中,w為權重因子,C為懲罰項,ξi為松弛因子,b為截距值。
SVM 通常僅能解決二分類問題,但電力工程異常數據則具有多項特征,故可抽象為多分類問題。求解多分類問題一般有兩種方法:1)構造多分類函數,也被稱為全局多類SVM;2)使用多個分類器,即組合多類SVM。其中,組合多類SVM 算法的運行與識別速度均較快,因此文中使用組合多分類SVM 算法中的樹結構算法(tree structure)來對電力工程中的異常數據加以檢測。
樹結構算法根據二叉樹的結構對每個二分類器進行排列,最終組成多分類結構。假定樹結構共有K個節點,則需K-1 個分類器。算法執行首先把所有數據按特征進行排序,再根據樹結構判定樣本的正負情況。該算法結構如圖1 所示。

圖1 樹結構算法
對于多分類SVM 模型而言,核函數的選擇也較為關鍵,不同核函數的性能也有所不同。該文選擇了當前常用且誤差較小的徑向基函數(Radial Basis Function,RBF),其可表征為:
其中,γ是徑向權重。
SVM 具備較強的數據強特征分類能力,但當數據特征較為接近時,對特征的區分度便會降低。因此,文中還將利用AdaBoost 弱特征分類器輔助SVM進行分類。
AdaBoost 算法[10-12]可將多個弱特征分類器加以集合。在該算法中,首先對所有樣本數據進行平均權重分配;然后在迭代時,權重值均會隨著數據特征的改變而變化;最終算法會先挑選出強特征數據,且越往后數據之間的特征性能越弱。AdaBoost 算法結構如圖2 所示。

圖2 AdaBoost算法結構
算法按照比例將數據分為兩種集合,分別為訓練集和驗證集。其中,訓練樣本權重值F可表示為:
式中,φ表示每項數據的權重值,N為樣本數量。迭代時,計算分類器的分類錯誤率,如下所示:
式中,m為算法迭代次數,Gm為第m個弱分類器。根據式(5)中的錯誤率公式,可計算出弱分類器在算法執行完集合中的比例為:
迭代完畢后的分類器權重如下:
式中,Zm為歸一化常數,可表示為:
最后根據弱分類器權重組合得到最終的分類器,則有:
雖然AdaBoost-SVM 算法可以提升模型整體的分類性能,但由于模型參數眾多,若初始化參數選擇不合理,模型分類性能便會有較大損失。因此,使用啟發式優化算法(Heuristic Optimization Algorithm)對迭代次數、懲罰項C以及核函數中的參數進行尋優。
文中選擇的優化算法為鯨魚算法(Whale Optimization Algorithm,WOA)[13-16],其是根據鯨魚的捕食規則發展而來的,具有結構簡單且準確率高的優點。該算法可分為隨機覓食、包圍目標與螺旋捕食三個步驟。
1)隨機覓食。在不確定目標位置時,整個種群會隨機指定某一個體位置為目標所在位置,其他個體便會向此處靠近。這一步驟可表示為:
式中,t為種群迭代次數;X(t)為種群中個體所處位置;Xr(t)為種群隨機選取的個體位置;Dr表示個體與目標之間的距離;A、B則表示公式系數,且二者的計算公式為:
其中,random1 和random2 均為0~1 之間的隨機數,tmax指的是算法最大迭代次數。
2)包圍目標。當種群找尋到食物后,個體會逐漸縮小包圍圈,并不斷向該目標位置靠近。此時種群同目標間的距離可表示為:
式中,Xb(t)為種群中與目標最為接近的個體,Db為最優距離。
3)螺旋捕食。當種群靠近目標后,個體朝著目標發動捕食,此時距離可更新為:
式(16)中,k為目標常數;w為隨機數,取值范圍為-1~1。當w為-1 時,表示個體與目標的距離最為接近;而當w為1 時,則表示個體和目標距離最遠。
由此,WOA 算法的流程如圖3 所示。

圖3 WOA算法流程
SVM 算法中,懲罰項C與核函數的參數對結果均存在影響。文中指定懲罰項C的優化范圍為[0.05,300],核函數參數g優化范圍選擇[0.02,50],使用WOA 算法對其進行尋優。在尋優過程中,同時觀察AdaBoost 的初始化迭代次數,并以該迭代次數作為另一項優化參數,最終獲得優化值。
文中AdaBoost-WOA-SVM 算法流程如圖4 所示??梢娫撍惴ㄊ紫瘸槿‰娏こ坍惓祿?,并將其分為樣本集和數據集,再利用AdaBoost 算法進行弱分類器分類;同時設置WOA 算法的迭代次數與參數尋優范圍,且對參數加以優化;最終,在優化完畢后輸出最優結果。

圖4 AdaBoost-WOA-SVM算法流程
文中以電力工程中的重要電力設備變壓器為例驗證算法。變壓器的驗收通過H2、CH4、C2H6、C2H4以及C2H2五種氣體在變壓器油中的體積分數進行判定。根據組合體積分數的不同,判斷變壓器狀態為正常或損壞。而數據集合則采用某地區電網變壓器驗收數據。驗收數據集與具體狀態如表1 所示。

表1 數據集信息
同時,還使用Matlab R2016a 作為算法實現平臺。實驗配置信息如表2 所示。

表2 實驗配置信息
利用優化算法根據數據情況對參數進行優化,使用WOA 算法后,每個分類器的精度均較優。而不同參數下的訓練結果如表3 所示。

表3 訓練結果
可以看到,當C取79.56 且g取0.98 時,該文算法的分類精度最優,因此將該參數作為分類器參數。為了減少計算量,對AdaBoost 迭代次數進行觀察,結果如圖5 所示。

圖5 AdaBoost迭代次數
從圖中可看出,當AdaBoost 算法迭代至10 次以上時,算法的分類精確度不會有大的波動,因此AdaBoost 的迭代次數取10 次。
在對比實驗測試中,驗證算法對數據集中變壓器狀態判斷的準確性。對比算法使用遺傳優化算法(Genetic Algorithm-SVM,GA-SVM)、麻雀搜索算法(Sparrow Search Algorithm-SVM,SSA-SVM)及粒子群優化算法(Particle Swarm Optimization-SVM,PSOSVM)。測試時首先利用各自模型所具有的優化算法完成參數優化,之后再使用分類器進行分類。算法測試結果,如表4 所示。
由表4 可知,GA-SVM 與PSO-SVM 算法異常數據檢測準確率較差,故在驗收時出現誤判的可能性最大。而該文算法對變壓器異常數據的檢測準確率最高,且與其他算法相比,分別提升了5.35%、2.17%和5.35%,由此說明,該文算法的性能最優。
施工周期長的電力工程項目,設備易受到環境等因素影響而發生內部損壞,依靠傳統方法檢測通常難以發現異常。文中基于改進的SVM 算法提出了一種異常數據檢測方法,其利用二叉樹結構增強模型的多特征分類能力,使用AdaBoost算法提高模型弱特征分類性能,同時還采用鯨魚算法對模型參數進行優化。實驗結果表明,該文算法在對比算法中具有最優的精確度,可為電力基建工程提供有效的數據支撐。