聶亞珍,崔 俊
(湖北師范大學(xué) 經(jīng)濟(jì)管理與法學(xué)院,湖北 黃石 435002)
制造業(yè)是國民經(jīng)濟(jì)的主體,近十年來,嫦娥探月、祝融探火、北斗組網(wǎng),一大批重大標(biāo)志性創(chuàng)新成果引領(lǐng)中國制造業(yè)不斷攀上新高度。作為制造業(yè)的核心,機(jī)械設(shè)備在工業(yè)生產(chǎn)的各個環(huán)節(jié)都扮演著不可或缺的重要角色。但是,在機(jī)械設(shè)備運轉(zhuǎn)過程中會產(chǎn)生不可避免的磨損、老化等問題,隨著損耗的增加,會導(dǎo)致各種故障的發(fā)生,影響生產(chǎn)質(zhì)量和效率。實際生產(chǎn)中,若能根據(jù)機(jī)械設(shè)備的使用情況,提前預(yù)測潛在的故障風(fēng)險,精準(zhǔn)地進(jìn)行檢修維護(hù),維持機(jī)械設(shè)備穩(wěn)定運轉(zhuǎn),不但能夠確保整體工業(yè)環(huán)境運行具備穩(wěn)定性,也能切實幫助企業(yè)提高經(jīng)濟(jì)效益。
現(xiàn)實生活中機(jī)械設(shè)備的使用情況數(shù)據(jù)是嚴(yán)重不平衡的,出現(xiàn)故障的設(shè)備遠(yuǎn)遠(yuǎn)少于正常設(shè)備的,為了更好的學(xué)習(xí)故障設(shè)備數(shù)據(jù),要進(jìn)行樣本不平衡處理。目前針對不平衡數(shù)據(jù)集的研究主要集中在分類算法層面和數(shù)據(jù)預(yù)處理層面。分類算法層面主要是代價敏感學(xué)習(xí)[1]、集成學(xué)習(xí)[2]或改進(jìn)現(xiàn)有分類算法[3]。數(shù)據(jù)預(yù)處理層面,主要有上采樣和下采樣方法,下采樣包括隨機(jī)下采樣,樣本鄰域選擇的下采樣,樣本鄰域清理的下采樣等。上采樣包括隨機(jī)上采樣,SMOTE上采樣及其改進(jìn)的算法[4],ADASYN上采樣[5]。由于工業(yè)設(shè)備異常的樣本遠(yuǎn)遠(yuǎn)少于正常設(shè)備,對數(shù)據(jù)集進(jìn)行過采樣處理是解決數(shù)據(jù)量少且不平衡的有效辦法。本文采用的是ADASYN算法。
變量選擇的方法很多,常用方法有過濾法、包裝法、嵌入法,并且在上述方法中又有單變量選擇、多變量選擇、有監(jiān)督選擇、無監(jiān)督選擇。結(jié)合工業(yè)設(shè)備數(shù)據(jù)的具體特點,本文采用樹模型算法輸出的feature importance值結(jié)合連續(xù)變量相關(guān)性分析來進(jìn)行變量選擇。
二分類和多分類預(yù)測的算法有很多,Logistics算法,神經(jīng)網(wǎng)絡(luò)算法,決策樹算法,支持向量機(jī)算法,KNN算法,樸素貝葉斯算法,集成學(xué)習(xí)算法等。本文采用LightGBM算法進(jìn)行二分類預(yù)測,來判別機(jī)械設(shè)備是否發(fā)生故障,用決策樹模型進(jìn)行多分類預(yù)測,用于判別機(jī)械設(shè)備發(fā)生故障的具體類別,并通過對決策樹模型的可視化研究來探究每類故障的主要成因,找出與其相關(guān)的特征屬性,進(jìn)行量化分析,挖掘可能存在的模式/規(guī)則。
One-hot編碼是一種非常有效的編碼方式,它將不可排序的離散變量映射到歐式空間,離散變量的每種取值就是歐式空間中的某個點,這使得距離的比較與相似度的度量可計算,并且保持了原有離散變量的等距特性。歐式距離的計算公式如下:

(1)
通過One-hot編碼后,離散變量的每一個維度都可以看成一個連續(xù)變量。編碼后的變量,其數(shù)值范圍已經(jīng)在[0,1],這與變量歸一化效果一致。
ADASYN算法即自適應(yīng)綜合過采樣方法。算法步驟如下:
1)計算不平衡度
記少數(shù)樣本為ms,多數(shù)樣本為ml,則不平衡度為:
d=ms/ml,d∈[0,1]
(2)
2)計算需要合成的樣本數(shù)量
G=(ml-ms)*b,b∈[0,1]
(3)
其中b參數(shù)控制渴望的平衡水平,當(dāng)b=1時,即G等于少數(shù)類和多數(shù)類的差值,此時合成數(shù)據(jù)后的多數(shù)類個數(shù)和少數(shù)類數(shù)據(jù)正好平衡。
3)計算比率r
ri=Δi/K,i=1,2,3,…,ms
(4)
分子Δi是xi(屬于少數(shù)類別)的K個近鄰中屬于多數(shù)類別的樣本數(shù)量。
4)將r歸一化處理

(5)
5)計算對于xi需要生成的樣本數(shù)量
6)gi個樣本生成執(zhí)行下面的循環(huán):
從的K個鄰近中隨機(jī)選擇一個少數(shù)類別xzi,合成數(shù)據(jù)樣本公式如下:
si=xi+(xzi-xi)×λ
(7)
λ是[0,1]間的隨機(jī)數(shù)。
相關(guān)性度量的準(zhǔn)則就是“最大相關(guān)最小冗余”,即輸入變量與標(biāo)簽變量之間要有強(qiáng)相關(guān),而輸入變量之間要弱相關(guān),以去除變量間的冗余,消除多重共線性問題。一般可以采用相關(guān)系數(shù)反映變量之間的相關(guān)性,相關(guān)系數(shù)計算公式如下:

(8)
其中,Coν(x,y)是兩個變量的協(xié)方差,σx為變量的標(biāo)準(zhǔn)差。協(xié)方差本身就能反映變量之間的相關(guān)性,這里除以各自的標(biāo)準(zhǔn)差是一種歸一化去量綱的過程。相關(guān)系數(shù)結(jié)果的關(guān)聯(lián)程度如表1所示。

表1 相關(guān)性水平
LightBGN變量選擇時側(cè)重于對變量的重要性進(jìn)行排序,即LightBGM的結(jié)構(gòu)構(gòu)造完成后,對于每一個樣本經(jīng)過樹結(jié)構(gòu)的映射,都會經(jīng)過某一個變量,則該變量的重要性就很高。反之,某一個變量組成的規(guī)則,只有很少的樣本才會經(jīng)過該變量,那么這個變量的重要性就很低。因此,LightGBM變量選擇并沒有給出選擇多少變量,而是給出每個變量的重要性排序,剔除重要性低的變量。
LightGBM的基本原理如下:
1)直方圖算法(Histogram算法)
LightGBM采用了基于直方圖的算法將連續(xù)的特征值離散化成了K個整數(shù),構(gòu)造寬度為K的直方圖,遍歷訓(xùn)練數(shù)據(jù),統(tǒng)計每個離散值在直方圖中的累積統(tǒng)計量。在選取特征的分裂點的時候,只需要遍歷排序直方圖的離散值。使用直方圖算法降低了算法的計算代價,XGBoost采用的預(yù)排序需要遍歷每一個特征值,計算分裂增益,而直方圖算法只需要計算K次,提高了尋找分裂點的效率;降低了算法的內(nèi)存消耗,不需要存儲預(yù)排序結(jié)果,只需要保存特征離散化后的值。
但是特征值被離散化后,找到的并不是精確的分割點,會不會對學(xué)習(xí)的精度上造成影響呢?在實際的數(shù)據(jù)集上表明,離散化的分裂點對最終學(xué)習(xí)的精度影響并不大,甚至?xí)靡恍R驗檫@里的決策樹本身就是弱學(xué)習(xí)器,采用直方圖離散化特征值反而會起到正則化的效果,提高算法的泛化能力。
大多數(shù)的決策樹學(xué)習(xí)算法的樹生成方式都是采用按層生長(level-wise)的策略。如圖1所示:

圖1 按層生長策略
不同的是,LightGBM采用了一種更為高效的按葉子生長(leaf-wise)的策略。該策略每次從當(dāng)前決策樹所有的葉子節(jié)點中,找到分裂增益最大的一個葉子節(jié)點,然后分裂,如此循環(huán)往復(fù)。這樣的機(jī)制,減少了對增益較低的葉子節(jié)點的分裂計算,減少了很多沒必要的開銷。與leve-wise的策略相比,在分裂次數(shù)相同的情況下,leaf-wise可以降低誤差,得到更好的精度。Leaf-wise算法的缺點是可能會生成較深的決策樹。因此,LightGBM在Leaf-wise上增加了限制最大深度的參數(shù),在保證算法高效的同時,防止過擬合。如圖2所示:

圖2 按葉子生長策略
3)單邊梯度采樣算法(Grandient-based One-Side Sampling,GOSS)
LightGBM使用GOSS算法進(jìn)行訓(xùn)練樣本采樣的優(yōu)化[3]。在AdaBoost算法中,采用了增加被錯誤分類的樣本的權(quán)重來優(yōu)化下一次迭代時對哪些樣本進(jìn)行重點訓(xùn)練。在GBDT算法中沒有樣本的權(quán)重,LightGBM算法采用了基于每個樣本的梯度進(jìn)行訓(xùn)練樣本的優(yōu)化:具有較大梯度的數(shù)據(jù)對計算信息增益的貢獻(xiàn)比較大;當(dāng)一個樣本點的梯度很小,說明該樣本的訓(xùn)練誤差很小,即該樣本已經(jīng)被充分訓(xùn)練。然而在計算過程中,僅僅保留梯度較大的樣本(例如:預(yù)設(shè)置一個閾值,或者保留最高若干百分位的梯度樣本),拋棄梯度較小樣本,會改變樣本的分布并且降低學(xué)習(xí)的精度。GOSS算法的提出很好的解決了這個問題。
GOSS算法的基本思想是首先對訓(xùn)練集數(shù)據(jù)根據(jù)梯度排序,預(yù)設(shè)一個比例,保留在所有樣本中梯度高于該比例的數(shù)據(jù)樣本;梯度低于該比例的數(shù)據(jù)樣本不會直接丟棄,而是設(shè)置一個采樣比例,從梯度較小的樣本中按比例抽取樣本。為了彌補(bǔ)對樣本分布造成的影響,GOSS算法在計算信息增益時,會對較小梯度的數(shù)據(jù)集乘以一個系數(shù),用來放大。這樣,在計算信息增益時,算法可以更加關(guān)注“未被充分訓(xùn)練”的樣本數(shù)據(jù)。
4)Exclusive Feature Bundling 算法(EFB)
國內(nèi)資料表明先天性聽力損傷其發(fā)病率高達(dá)2‰~6‰,在目前可篩查的出生缺陷中其發(fā)病率最高[1],輕中度聽力障礙均能影響患兒的語言、認(rèn)知及社交能力的發(fā)展[2]。目前自動耳聲發(fā)射檢查(otoacoustic emission,OAE)已廣泛應(yīng)用于新生兒聽力篩查。本所從2006年起利用耳聲發(fā)射檢查對本縣出生的3個月內(nèi)嬰兒進(jìn)行聽力篩查,現(xiàn)將2006-2011年開展的聽力篩查情況進(jìn)行總結(jié)分析,報道如下。
LightGBM算法不僅通過GOSS算法對訓(xùn)練樣本進(jìn)行采樣優(yōu)化,也進(jìn)行了特征抽取,以進(jìn)一步優(yōu)化模型的訓(xùn)練速度。但是這里的特征抽取與特征提取還不一樣,并不減少訓(xùn)練時數(shù)據(jù)特征向量的維度,而是將互斥特征綁定在一起,從而減少特征維度。該算法的主要思想是:假設(shè)通常高維度的數(shù)據(jù)往往也是稀疏的,而且在稀疏的特征空間中,大量的特征是互斥的,也就是,它們不會同時取到非0值。 這樣,可以安全的將互斥特征綁定在一起形成一個單一的特征包(稱為Exclusive Feature Bundling)[6]。
模型評估指標(biāo)Recall召回率公式如下:
其中TP是真正例即正確預(yù)測出來故障的設(shè)備數(shù),FN為假反例即錯誤預(yù)測為正常的設(shè)備數(shù)。召回率衡量了在所有正例中模型正確預(yù)測的概率。
決策樹(Decision Tree)是在已知各種情況發(fā)生概率的基礎(chǔ)上,通過構(gòu)成決策樹來求取凈現(xiàn)值的期望值大于等于零的概率,評價項目風(fēng)險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種圖解法。由于這種決策分支畫成圖形很像一棵樹的枝干,故稱決策樹。在機(jī)器學(xué)習(xí)中,決策樹是一個預(yù)測模型,他代表的是對象屬性與對象值之間的一種映射關(guān)系。Entropy表示系統(tǒng)的凌亂程度,使用算法ID3,C4.5和C5.0生成樹算法使用熵。這一度量是基于信息學(xué)理論中熵的概念[4]。
決策樹是一種樹形結(jié)構(gòu),其中每個內(nèi)部節(jié)點表示一個屬性上的測試,每個分支代表一個測試輸出,每個葉節(jié)點代表一種類別。
模型評價指標(biāo)準(zhǔn)確率Acc公式如下:

(10)
其中TP為真正例,TN為真反例,FP為假正例,FN為假反例。多分類問題需要求出所有類別的上述值然后算出平均值代入公式求出。
此次實驗的數(shù)據(jù)為某企業(yè)機(jī)械設(shè)備的使用情況及故障發(fā)生情況數(shù)據(jù),用于設(shè)備故障預(yù)測及故障主要相關(guān)因素的探究。數(shù)據(jù)包含9 000行,每一行數(shù)據(jù)記錄了機(jī)械設(shè)備對應(yīng)的運轉(zhuǎn)及故障發(fā)生情況記錄。因機(jī)械設(shè)備在使用環(huán)境以及工作強(qiáng)度上存在較大差異,其所需的維護(hù)頻率和檢修問題也通常有所不同。數(shù)據(jù)提供了實際生產(chǎn)中常見的機(jī)械設(shè)備使用環(huán)境和工作強(qiáng)度等指標(biāo),包含不同設(shè)備所處廠房的室溫(單位為開爾文K)記為SW1,其工作時的機(jī)器溫度(單位為開爾文K)記為SW2、轉(zhuǎn)速(單位為每分鐘的旋轉(zhuǎn)次數(shù)rpm)記為ZS、扭矩(單位為牛米Nm)記為NJ,及機(jī)器運轉(zhuǎn)時長(單位為分鐘min)記為SYSC。除此之外,還提供了機(jī)械設(shè)備的統(tǒng)一規(guī)范代碼、質(zhì)量等級及在該企業(yè)中的機(jī)器編號,其中質(zhì)量等級分為高、中、低(HML)三個等級。對于機(jī)械設(shè)備的故障情況,數(shù)據(jù)提供了兩列數(shù)據(jù)描述——“是否發(fā)生故障”和“具體故障類別”。其中“是否發(fā)生故障”取值為0/1,0代表設(shè)備正常運轉(zhuǎn),1代表設(shè)備發(fā)生故障;“具體故障類別”包含6種情況,分別是NORMAL、TWF、HDF、PWF、OSF、RNF,其中,NORMAL代表設(shè)別正常運轉(zhuǎn)(與是否發(fā)生故障”為0相對應(yīng)),其余代碼代表的是發(fā)生故障的類別,包含5種,其中TWF代表磨損故障,HDF代表散熱故障,PWF代表電力故障,OSF代表過載故障,RNF代表其他故障。
1)對原始數(shù)據(jù)集的離散變量機(jī)器質(zhì)量等級進(jìn)行One-hot編碼。
2)對編碼后的數(shù)據(jù)集進(jìn)行ADASYN上采樣。
3)對采樣之后的樣本進(jìn)行變量篩選。
4)篩選后的數(shù)據(jù)集進(jìn)行二分類模型訓(xùn)練;篩選后數(shù)據(jù)集去除正常樣本進(jìn)行多分類模型訓(xùn)練。
5)對多分類模型可視化,并進(jìn)行成因分析。
流程圖如圖3所示:

圖3 流程圖
對離散變量機(jī)器質(zhì)量等級進(jìn)行One-hot編碼結(jié)果如表2所示:

表2 機(jī)器質(zhì)量等級的One-hot編碼
ADASYN上采樣結(jié)果如圖4所示:

圖4 采樣前后對比圖
連續(xù)變量相關(guān)性分析如表3所示。

表3 變量之間相關(guān)系數(shù)
可以看到室溫和機(jī)器溫度的相關(guān)系數(shù)為0.839,表示兩者有很強(qiáng)的相關(guān)性,因此需要剔除其中一個變量,LightGBM算法訓(xùn)練數(shù)據(jù),輸出變量重要性排序如圖5所示:

圖5 變量重要性排序
可以看到SW1(室溫)的重要性低于SW2(機(jī)器溫度)的重要性,因此剔除室溫變量。最終我們選取工作時的機(jī)器溫度、轉(zhuǎn)速、扭矩及機(jī)器運轉(zhuǎn)時長和機(jī)器質(zhì)量等級五個變量作為預(yù)測指標(biāo)。
用LightGBM算法對數(shù)據(jù)進(jìn)行二分類預(yù)測,最終模型評估指標(biāo)Recall為0.9437.
用決策樹模型進(jìn)行多分類預(yù)測,最終模型評估指標(biāo)Acc為0.9168.決策樹模型訓(xùn)練結(jié)果可視化如圖6所示。

圖6 決策樹模型可視化
對可視化結(jié)果進(jìn)行分析,可以得到不同故障類型的成因:
1)TWF因為轉(zhuǎn)速過快,發(fā)生TWF故障的設(shè)備大都轉(zhuǎn)速超過1 378 rpm.
2)HDF是因為工作時機(jī)器溫度過高,溫度都在310 K左右。
3)PWF是因為機(jī)器扭矩過小,很多都小于22 N·m.
4)OSF是因為機(jī)器工作時間過長,都在181至200分鐘之間。
5)RNF具體成因未知,可能受多重因素影響。
在實際生產(chǎn)中,根據(jù)機(jī)械設(shè)備的使用情況,提前預(yù)測潛在的故障風(fēng)險,精準(zhǔn)地進(jìn)行檢修維護(hù),維持機(jī)械設(shè)備穩(wěn)定運轉(zhuǎn),不但能夠確保整體工業(yè)環(huán)境運行具備穩(wěn)定性,也能切實幫助企業(yè)提高經(jīng)濟(jì)效益。本文通過機(jī)器學(xué)習(xí)算法對工業(yè)機(jī)械設(shè)備的使用情況數(shù)據(jù)進(jìn)行建模,旨在對工業(yè)設(shè)備故障進(jìn)行預(yù)測。
企業(yè)可以通過本文提出的方法分析不同故障的成因,在實際生產(chǎn)中,注意這些成因,合理地生產(chǎn)和使用機(jī)器設(shè)備,避免造成嚴(yán)重?fù)p失。本文還有值得進(jìn)一步研究的空間,如可采用更多算法探析故障成因,挖掘更多更詳細(xì)、更準(zhǔn)的規(guī)則。