李兆桐,張衛(wèi)山,郭武武
(中國石油大學(xué)(華東)計算機與通信工程學(xué)院,山東 青島 266580)
工業(yè)互聯(lián)網(wǎng)技術(shù)在現(xiàn)代工業(yè)中起著至關(guān)重要的作用,實時監(jiān)控設(shè)備運行狀態(tài),通過對數(shù)據(jù)進行分析提前干預(yù)設(shè)備,可降低設(shè)備故障率從而降低生產(chǎn)成本。為此,利用收集到的傳感器數(shù)據(jù)建立設(shè)備工作狀態(tài)預(yù)測模型,用于預(yù)測設(shè)備在接下來一段時間的運行狀態(tài)顯得格外重要。
然而,在實際的工業(yè)生產(chǎn)環(huán)境中,由于設(shè)備受到內(nèi)外部環(huán)境影響,其產(chǎn)生的數(shù)據(jù)也具有時變性,使用歷史數(shù)據(jù)所學(xué)得的模型無法準確預(yù)測當(dāng)前設(shè)備的狀態(tài)信息[1]。除此之外長時間序列的序列時很難被分類[2]。當(dāng)設(shè)備數(shù)據(jù)高度離散且在多個時間段相互重疊時,簡單的單信號預(yù)測和閾值方法將會失效[3]。
隨著近幾年深度學(xué)習(xí)的發(fā)展,基于深度學(xué)習(xí)建立預(yù)測模型得到了廣泛的應(yīng)用[4-6]。在基于深度學(xué)習(xí)的建模方法中重要的一步是特征提取,許多研究人員已經(jīng)將其應(yīng)用在傳感器數(shù)據(jù)的處理中來提取關(guān)鍵特征[7-10]?;谏鲜鰡栴},不能只考慮簡單的幾個數(shù)據(jù)特征來預(yù)測設(shè)備運行狀態(tài)。
在實際工業(yè)環(huán)境中,設(shè)備原始數(shù)據(jù)有以下特性:
1)由于傳感器和網(wǎng)絡(luò)傳輸故障導(dǎo)致部分缺失值和異常值。
2)數(shù)據(jù)的維數(shù)隨傳感器數(shù)目的增多而增大且部分傳感器數(shù)據(jù)之間存在冗余項。
3)故障數(shù)據(jù)少,數(shù)據(jù)傾斜情況嚴重。
針對設(shè)備運行狀態(tài)的變化,所構(gòu)建的模型需要隨著時間的推移適應(yīng)設(shè)備狀態(tài)的變化。為此,本文提出一種基于LSTM的工業(yè)互聯(lián)網(wǎng)設(shè)備工作狀態(tài)預(yù)測方法。主要設(shè)計思路為:
1)進行數(shù)據(jù)清洗,去除異常值,填充空值。
2)采用PCA算法進行數(shù)據(jù)降維。
3)采用SMOTE算法進行數(shù)據(jù)傾斜處理。
4)基于LSTM神經(jīng)網(wǎng)絡(luò)構(gòu)建預(yù)測模型。
設(shè)備的故障診斷與預(yù)測一直是學(xué)者們關(guān)注的研究熱點,近幾年來,隨著機器學(xué)習(xí)方法的流行,越來越多的研究人員嘗試將機器學(xué)習(xí)的方法應(yīng)用到設(shè)備狀態(tài)診斷與預(yù)測中來。陳志平等人[11]采用基于奇異值分解優(yōu)化的局部均值分解法提取電梯轎廂振動時頻域特征,然后采用聚類分析進行電梯故障分析,采用回歸分析實現(xiàn)電梯故障的預(yù)測。范李平等人[12]首先對變電設(shè)備故障影響因素進行相關(guān)性分析,選擇影響因素,然后利用Logistic回歸算法進行故障預(yù)測。王桂蘭等人[13]使用XGBoost算法在風(fēng)機主軸承故障預(yù)測中取得了良好的效果。Leahy等人[14]首先根據(jù)領(lǐng)域知識進行特征選擇,然后通過隨機網(wǎng)格搜索尋找超參數(shù)來訓(xùn)練支持向量機進行故障診斷。
然而,以上基于傳統(tǒng)機器學(xué)習(xí)算法的研究僅適用于有限數(shù)據(jù)樣本空間,在實際工業(yè)環(huán)境中,數(shù)據(jù)規(guī)模特別大,且數(shù)據(jù)之間具有高度的時間相關(guān)性,以上方法并不適用。
隨著近幾年深度學(xué)習(xí)[15]的快速發(fā)展,基于深度學(xué)習(xí)的時間序列分析也成為目前設(shè)備故障診斷與預(yù)測的一個研究熱點[16-18]。國內(nèi)的周劍飛等人[1]也提出了一種基于LSTM神經(jīng)網(wǎng)絡(luò)模型和滑動窗口技術(shù)進行設(shè)備故障的在線檢測,但此方法并沒有解決實際工業(yè)環(huán)境中數(shù)據(jù)嚴重傾斜的問題。
在工業(yè)上直接通過設(shè)備傳感器獲得的數(shù)據(jù)往往具有非常高的維數(shù)且不同維數(shù)之間可能具有非常高的相關(guān)性,并且由于內(nèi)外部環(huán)境的影響,傳感器產(chǎn)生的數(shù)據(jù)一般都會具有噪聲?;谝陨显颍苯訉鞲衅鲾?shù)據(jù)進行處理會產(chǎn)生算法的運行效率低、準確率不高等問題。在沒有大量先驗知識的情況下,對特征向量進行降維處理往往會取得較為理想的效果。
PCA(主成分分析)法是一種較常用的降維方法,其主要思想是利用坐標變換的思想,通過線性變換將數(shù)據(jù)從高維空間映射到低維空間中,同時保留數(shù)據(jù)的主要信息[19]。設(shè)原始數(shù)據(jù)樣本包含m個n維特征向量Xk=(x1,x2,x3,…,xn)T,其具體計算步驟如下:
1)計算樣本數(shù)據(jù)的平均值:
(1)
2)計算樣本數(shù)據(jù)的協(xié)方差矩陣:
(2)
3)利用特征值分解方法求解協(xié)方差矩陣的特征值λ1,λ2,λ3,…,λi和特征向量ξ1,ξ2,ξ3,…,ξi。
4)將特征值從小到大排序,選取其中最大的k個,然后將其對應(yīng)的k個特征向量組成特征向量矩陣P。
5)將原始樣本數(shù)據(jù)投影到低維向量空間中:
Y=PTX
(3)
在實際問題中,異常數(shù)據(jù)往往只占正常數(shù)據(jù)的極小比例,而當(dāng)前絕大多數(shù)機器學(xué)習(xí)算法都是基于正負樣本比例相差不大的假設(shè),因此嚴重傾斜的樣本數(shù)據(jù)在某些情況下會導(dǎo)致算法準確性大大降低。例如:欺詐電話檢測[20]、信息檢索和過濾[21]以及機載直升機變速箱故障監(jiān)測[22]等問題。
SMOTE全稱是Synthetic Minority Oversampling Technique,即合成少數(shù)類過采樣技術(shù),它是基于隨機過采樣算法的一種改進方案[23]。其主要思想是利用少數(shù)類樣本的近鄰樣本信息人工合成新樣本。算法流程如下:
1)根據(jù)數(shù)據(jù)傾斜程度確定一個采樣比率N。設(shè)少數(shù)類中樣本數(shù)為T。對于少數(shù)類中的一個樣本xold,計算該樣本到其余少數(shù)類樣本的距離(如歐氏距離),得到其k個近鄰樣本。
2)從這k個近鄰樣本中任取一個xnear,然后按照式(4)生成新的少數(shù)類樣本:
xnew=xold+rand(0,1)×(xnear-xold)
(4)
式(4)中,rand(0,1)生成一個0到1之間的隨機數(shù)。
3)將步驟2重復(fù)N次,對于xold即可生成N個新樣本。
4)對于少數(shù)類中所有樣本執(zhí)行上述操作,即可為該少數(shù)類合成N×T個新樣本。
LSTM(長短時記憶)模型通過在循環(huán)神經(jīng)網(wǎng)絡(luò)中添加遺忘門、輸入門、輸出門這3個門結(jié)構(gòu)來實現(xiàn)信息的保護和控制[24]。
遺忘門,在構(gòu)建神經(jīng)網(wǎng)絡(luò)的過程中將輸入數(shù)據(jù)進行部分拋棄。該操作由一個sigmoid層進行選擇,淘汰則輸出為0,選擇則輸出為Wf·[ht-1,xt]+bf,具體方程如下:
Ft=σ(Wf·[ht-1,xt]+bf)
(5)
其中,ht-1表示上一個細胞的輸出,xt表示當(dāng)前細胞的輸入,σ表示sigmoid函數(shù)。
輸入門,更新細胞記憶部分,將部分記憶拋棄,部分記憶保存,并根據(jù)式(6)計算需要更新的信息:
it=σ(Wi·[ht-1,xt]+bi)
(6)
根據(jù)式(7)計算備選的用來更新的內(nèi)容:
(7)
根據(jù)式(8)更新細胞狀態(tài):
(8)
輸出門,首先通過式(9)來確定哪些細胞狀態(tài)作為輸出,然后將細胞狀態(tài)經(jīng)過tanh層進行處理獲得(-1,1)之間的值,并和式(9)相乘獲得輸出ht:
Ot=σ(Wo·[ht-1,xt]+bo)
(9)
ht=Ot×tanh(Ct)
(10)
本文提出的方法主要包括4個步驟:數(shù)據(jù)預(yù)處理、特征提取、模型構(gòu)建、評估優(yōu)化。處理流程如圖1所示。
圖1 處理流程
數(shù)據(jù)預(yù)處理:數(shù)據(jù)預(yù)處理主要解決空缺值的填充和異常值的排查和替換問題,其中還包括對數(shù)據(jù)進行歸一化處理和數(shù)據(jù)傾斜處理。
特征提取:原始數(shù)據(jù)具有很高的維度,不利于模型的構(gòu)建,利用PCA方法進行特征提取。
模型構(gòu)建:利用TensorFlow深度學(xué)習(xí)框架來構(gòu)建LSTM模型,通過OED(正交實驗設(shè)計)來確定模型參數(shù)。
評估優(yōu)化:評估采用F1分數(shù)。
實驗中的數(shù)據(jù)來自空調(diào)壓縮機的真實傳感器數(shù)據(jù)。每個空調(diào)壓縮機中有44個傳感器,每半分鐘記錄一次數(shù)據(jù),其中包括溫度、壓力、功率等壓縮機信息。將其中2/3的數(shù)據(jù)作為算法的訓(xùn)練數(shù)據(jù),剩下的1/3作為算法的測試數(shù)據(jù)。
本文通過訓(xùn)練深度學(xué)習(xí)模型將設(shè)備的工作狀態(tài)問題轉(zhuǎn)換為二分類問題:工作正常或工作異常。因此對工作狀態(tài)的預(yù)測共有4種可能的結(jié)果:真正例(TP)、真負例(TN)、假正例(FP)、假負例(FN)。詳情見表1。
由于本數(shù)據(jù)集中故障數(shù)據(jù)占比較少,采用普通評估方式即狀態(tài)預(yù)測正確的百分比,可能評估效果較差,于是采用F1分數(shù)來評估算法效果。
表1 混淆矩陣
真實情況預(yù)測結(jié)果正例反例正例TP(真正例)FN(假反例)反例FP(假正例)TN(真反例)
P=TP/(TP+FP)
(11)
R=TP/(TP+FN)
(12)
F1=2×P×R/(P+R)
(13)
式中,P為查準率(Precision),表示在所有被判斷為正樣本中真正正樣本所占的比重;R為召回率(Recall),表示在檢測到的正樣本占所有正樣本的比重;F1是F1分數(shù)值,為兩者的調(diào)和平均值。
LSTM模型參數(shù)的確定,包括時間步、隱層神經(jīng)元數(shù)量、批次處理大小和迭代次數(shù)。本實驗采用3水平4因素的9組正交實驗,設(shè)計表如表2所示。
表2 LSTM模型實驗參數(shù)設(shè)計
實驗號影響因素時間步隱層神經(jīng)元數(shù)量批次處理大小迭代次數(shù)154102000258303000351250400041043040005108502000610121030007154503000815810400091512302000
根據(jù)模型參數(shù)需要,采用正交實驗設(shè)計實驗參數(shù)為時間步、隱層神經(jīng)元數(shù)量、批次處理大小和迭代次數(shù)。其中每個參數(shù)設(shè)定為3水平。采用F1分數(shù)值來評估算法情況。
實驗結(jié)果如表3所示。
表3 LSTM模型參數(shù)實驗結(jié)果
實驗號影響因素時間步隱層神經(jīng)元數(shù)量批次處理大小迭代次數(shù)F1分數(shù)值1541020000.83622583030000.847835125040000.858741043040000.852351085020000.8445610121030000.872371545030000.857381581040000.8645915123020000.8614
由表3可知,當(dāng)時間步為10、隱層神經(jīng)元數(shù)量為12、批次處理大小為10、迭代次數(shù)為3000時,F(xiàn)1分數(shù)值最大,即模型效果最好。
式(14)為相同水平的平均值,式(16)為計算表4中的Ri值,其中Ri越大表示該因素在該水平下對于算法的影響程度最大,例如表4中R2>R1>R4>R3,則R2對算法的影響程度最大。
(14)
Mean_Level=[Mean_Level1,Mean_Level2,Mean_level3]
(15)
Ri=max(Mean_level)-min(Mean_Level)
(16)
表4 因素影響程度
因素時間步隱層神經(jīng)元數(shù)量批次處理大小迭代次數(shù)Mean_Level10.84760.84860.85760.8474Mean_Level20.85640.85230.85380.8591Mean_Level30.86100.86410.85350.8585Ri0.01340.01550.00410.0117
為進一步確定算法的預(yù)測效果,本文將提出的方法與Logistic回歸、XGBoost進行實驗對比,其中采用的數(shù)據(jù)為一整個月的空調(diào)壓縮機數(shù)據(jù)。每組實驗進行5次,取平均值。實驗結(jié)果如圖2~圖6所示。
圖2 不同算法的精度
圖2所示的是不同算法的精度。Logistic回歸的平均精度為0.8321,LSTM的平均精度為0.8531,XGBoost的平均精度為0.8467。
圖3 不同算法的查準率
圖3所示的是不同算法的查準率。Logistic回歸的平均查準率為0.7976,LSTM的平均查準率為0.8492,XGBoost的平均查準率為0.8272。
圖4 不同算法的召回率
圖4所示的是不同算法的召回率。Logistic回歸的平均召回率為0.8354,LSTM的平均召回率為0.8789,XGBoost的平均召回率為0.8433。
圖5所示的是不同算法的F1分數(shù)值。Logistic回歸的平均F1分數(shù)值為0.8161,LSTM的平均F1分數(shù)值為0.8638,XGBoost的平均F1分數(shù)值為0.8352。
圖2~圖5的實驗結(jié)果綜合表明了在此空調(diào)壓縮機數(shù)據(jù)集上本文方法的預(yù)測性能要優(yōu)于Logistic回歸和XGBoost算法。此外,比較各算法的訓(xùn)練效率,本文以訓(xùn)練時間代替訓(xùn)練效率,實驗結(jié)果如圖6所示。
圖6 不同算法的訓(xùn)練時間
圖6所示的是相同數(shù)據(jù)量下不同算法的訓(xùn)練時間。Logistic回歸的平均訓(xùn)練時間是1.7 h,LSTM的平均訓(xùn)練時間是2.4 h,XGBoost的平均訓(xùn)練時間是2 h。
圖6的實驗結(jié)果表明了本文提出的方法與Logistic回歸和XGBoost在訓(xùn)練效率上還有待提升。
本文提出了一種基于LSTM的工業(yè)互聯(lián)網(wǎng)設(shè)備工作狀態(tài)預(yù)測方法,該方法包括了數(shù)據(jù)清洗和特征工程等在內(nèi)的一整套數(shù)據(jù)分析流程。經(jīng)過實驗對比分析,在預(yù)測性能方面要優(yōu)于XGBoost等算法,但算法的訓(xùn)練效率還有待提升,未來將從以下方面優(yōu)化算法:1)使用其他特征提取算法來進一步壓縮數(shù)據(jù)維度;2)SMOTE是過采樣算法,考慮使用過采樣與欠采樣相結(jié)合的算法來處理數(shù)據(jù)傾斜問題。