王訓訓,陳 天,劉正杰,俞 嘯,丁恩杰
(中國礦業大學 物聯網(感知礦山)研究中心, 徐州 221000)
作為機械生產設備的動力源泉,電機設備有著越來越重要的作用。電機需要經常在復雜環境下高速運轉,因此電機的諸多子部件容易發生失效。一旦電機部件發生損壞,勢必會影響正常生產和人的生命安全。近年來,隨著機器學習的高速發展,我們對電機故障的診斷不僅僅局限于傳統的人為經驗,高精度的故障診斷方法層出不窮。
傳統的人為判斷電機故障主要靠看、聽、聞、摸,這樣會導致診斷不及時以及效率低下[1]。隨著數據挖掘以及機器學習方法的發展,數據驅動的電機故障診斷越來越受到重視。電機故障診斷有如下步驟:首先對提取到的樣本信號(包括溫度、電流、振動信號等,本文主要討論振動信號)進行信號處理,主要對傳感器采集的振動信號提取其故障特征;接著需要對處理過的信號進行特征篩選,篩選出對故障敏感的特征信息;篩選出的特征一般為維度較高的故障特征,無法直接對其進行模式識別,因此需要對故障特征進行降維操作;最后將低維的故障特征導入分類器模型,用來進行狀態模式識別[2]。
電機故障診斷的方法有很多,本文對隨機森林故障模式識別算法進行優化,并討論了一種新的特征篩選算法對電機振動信號特征進行敏感度篩選。
粒子群優化(以下簡稱PSO)是由Eberhart和Kennedy提出的,他們受鳥群體性活動的啟發,通過每個單獨個體的合作來找到最優化的解。PSO因為其優越的性能成為一種廣泛使用的優化算法。PSO優化分為局部最優化和全局最優化。
PSO中粒子選取一個適應度值用來表示問題的可能解,而適應度值取決于適應度函數。PSO尋找最優解的策略:PSO中粒子的移動速度決定其距離和方向,并且粒子移動速度根據移動經驗進行動態的選擇[3]。PSO算法的步驟如下:(1)隨機選取若干粒子,用適應度值對選取的粒子進行優劣程度初始化;(2)通過局部最優pbest和全局最優gbest的值,讓初始化的粒子在解空間中尋找新的坐標;(3)根據更新后的粒子坐標計算適應度值,在此值的基礎上重新計算pbest和gbest的坐標。
設有一個種群Y=(Y1,Y2,…,Ym),該種群包括m個粒子。種群Y在搜索空間中進行更新,更新公式如下:
(1)
(2)
式中:Yid和Vid分別為粒子i在搜索空間中的位置和速度信息;k表示當前迭代次數;Pid和Pgd分別為個體極值和種群的全局極值;ω為慣性權重;c1,c2為非負加速度因子;r1,r2的取值范圍為[0,1],為隨機數。在本文中,為了防止粒子在空間中任意移動,將粒子的速度限定在規定的確定區間內。
假設有m個樣本{y1,y2,…,ym},記為集合Q。Q集合中有放回的進行m次抽取,每次抽取一個樣本。其中Q含有m個樣本。m次抽取的樣本組成一個新的集合,則新的集合中不包含Q中某個樣本的概率:
(3)
當m→時,有:
(4)
由上可知,新的集合含有和Q集合相同的樣本總數m,而且新的集合中含有重復樣本。若去除重復樣本,新集合則大概含有原集合的63.2%樣本。
根據BootStrap方法延伸出隨機森林(以下簡稱RF)算法,RF算法可以產生多個訓練集,其在生成決策樹時,隨機地抽取分離屬性集。具體的RF算法如下:
1) 采用重采樣方法,隨機產生N個訓練集,記為S={S1,S2,…,SN};
2) 分別選擇S集合中的N個訓練集,在每個訓練集上生成對應的決策樹,記為C={C1,C2,…,CN},在每個內部節點選擇屬性前,首先需要根據節點選擇對應的分裂集,并選擇最好的分類方式;
3) 為了得到更好的分類效果,需要使每棵樹充分生長,而不對其進行剪枝操作;
4) 根據得到的決策樹在測試集上測試分類效果;
5) 運用投票方式,測試集所屬類別即為決策樹中輸出最多的類別。
RF算法具有大量的參數,并且對不同的訓練樣本集沒有固定的參數選擇規則。為了解決這一問題,本文采用PSO算法加權優化RF模型(PSO_RF),以達到對RF的參數(如剪枝閾值、預測試樣本數、決策樹數量等)最優化處理。PSO_RF算法能夠快速地篩選出最優解,避免了參數通過經驗選取,既能選出最優解,又節省了大量時間[4]。PSO_RF算法步驟如下:
① 根據經驗隨機確定算法的參數作為PSO_RF算法的初始參數;
② 根據重采樣算法,在數據集隨機選取l個子訓練集,并在這l個子訓練集上隨機選擇x個預測試樣本,決策樹則根據l個子訓練集剩余的(l-x)個樣本而生成;
③ 生成所有決策樹后,測試每棵決策樹上的結果,并計算相應的權值;
④ 計算初始參數下總的模型分類結果;
⑤ 將上述分類結果作為適應度值,采用PSO算法對初始參數進行迭代優化,并與歷史分類結果進行對比,最終選出最優的模型參數。
調整蘭德指數(以下簡稱ARI)是由蘭德指數(以下簡稱RI)改進得到的新的評價指標。對于給定的樣本集合X={x1,x2,…,xn},集合Z表示真實的類,而集合G表示經過K均值算法得到的類[5]。因此ARI的定義:
(5)
式中:a表示X同屬G和Z的數目;b表示X屬于Z但不屬于G的數目;c表示X屬于G但不屬于Z的數目;d表示X既不屬于Z也不屬于G的數目。
由上述公式可得,ARI的取值范圍為-1~1。ARI的取值越小,表示聚類結果和真實情況差距越大,因此ARI值衡量的是兩類數據的擬合度。
隨機森林特征重要性指數(以下簡稱RFFI)能夠計算每個特征在所有特征變量中的重要性。RFFI的主要原理是計算每個特征變量在RF的每棵樹上有多大的貢獻,然后取平均值RFFIave,RFFIave即表示不同特征之間對樣本分類結果貢獻大小[6]。RFFI選擇基尼指數和袋外數據錯誤率作為貢獻度的評價指標。RFFI值越大,表示該特征重要程度越高。
為了達到對樣本集更好的特征提取,本文提出一種ARI和RFFI融合的特征提取方法(ARP)。首先根據K均值聚類算法對每種特征分析,計算出反映類間擬合度的ARI值;然后計算每類特征在電機不同的運行狀態下的RFFI來描述特征之間的重要程度。對于每類統計特征,ARI值越低,其類間偏離度越大,而RFFI的值越高,其特征重要性越大。因此,提出利用ARI歸一化值(歸一化區間為0~1)與RFFI的乘積(ARP)來選擇故障狀態敏感統計特征。計算特征ARP值的主要步驟有:
a) 若某一樣本集電機故障種類數為N,且每類故障都含有P類振動樣本信號,每個樣本共有K類統計特征。設故障的原始特征集CS={CS1,CS2,…,CSk},且CSk:
(6)

接著利用K均值聚類算法,計算其ARI指數以評估聚類程度。對原始特征集CS采取聚類分析,能夠得到相應的ARI值。
ARI={ARI(1),ARI(2),…,ARI(k)}
(7)
最后需要對ARI序列進行歸一化,歸一化范圍為0~1,記為ARInor。
b) 計算相同電機狀態樣本信號的第k種特征的RFFI值,即矩陣CSk的隨機森林特征重要性。其中:
RFFIave=∑(errOBB2-errOBB1)/Ntree
(8)
RFFIave用來表示數據集各個特征的重要性,其值越大,表明該特征對數據集的影響越大。
c) 獲得ARP序列,其定義為ARInor和RFFIave的乘積:
ARP=ARInor·RFFIave
(9)
對ARP采取降序排列,因此ARP的值越大,對應的統計特征故障狀態越敏感。
綜上,總的算法流程如圖1所示。

圖1 算法流程圖
本文的振動信號數據集來源于2017年度國家重點研發計劃“礦山安全生產物聯網關鍵技術與裝備研發”項目。該數據集共有8種工作狀態(1種正常狀態和7種故障狀態),圖2為電機各個運行狀態的振動波形。

(a) 電機內置轉子弓形

(b) 電機內置破損轉子條

(c) 電機內置故障軸承

(d) 電機內置不對中系

(e) 電機內置轉子不平衡

(f) 電機定子繞組故障

(g) 電機電壓不平衡和單相

(h) 電機正常
為了證明本文方法的優勢,分別選取PSO_RF、RF、K最近鄰、支持向量機和決策樹5種故障狀態識別方法對數據集進行訓練、預測。在此之前,先將振動信號經經驗模態分解和局部線性判別分析降維,得到全部的特征信息,暫不進行特征選取。如表1所示,其中:PSO_RF方法在同工況和變工況條件下識別準確率分別為95.625%和66.25%,要普遍優于其他方法。

表1 5種方法識別準確率對比
表1表示的是全部特征信息的識別準確率,但是并非是特征越多越好,應該是篩選統計特征狀態敏感度好的特征信息特征進行訓練、預測,摒棄統計特征敏感度差的特征信息,以免造成信息冗余。采用本文的ARP特征選擇方法進行敏感特征篩選,模式識別方法采用PSO_RF,測試得到的精度如表2所示。由表2可以看出,當采用ARP做特征選取時,同工況精度達到了99.4%,而變工況精度達到了70.3%,在精度方面有了明顯的提升。

表2 特征選擇前后識別準確率對比
為了更好地對電機的8種運行狀態進行敏感特征提取,本文提出ARI和RF特征重要性方法相結合的特征選擇方法(ARP)來篩選敏感特征。同時為了能夠提高識別精度并減少模型訓練時間,本文采用PSO優化算法優化RF算法(PSO_RF)。實驗表明,PSO_RF和ARP結合的電機故障診斷方法對8種工作狀態同工況的識別準確率達到99.37%,而變工況的識別準確率達到70.31%。本文的方法能夠精確有效地識別出電機的故障狀態,對實際的工程具有現實意義。