三歲看大,七歲看老——基於退化模型進行剩餘有效壽命預測的案例講解

本篇是壽命預測系列的第二個案例,在看這篇之前可以先看一下這裏

使用退化模型進行機電產品剩餘壽命預測在工程應用中比較常見,退化模型法又有着幾種不同的具體形式,博主見到比較多的包括基於隨機過程的退化模型、基於時間序列方法的退化模型以及基於線性/指數形式的退化模型。其中線性/指數模型最爲簡單,在MATLAB的相關文檔[1]中也是以該類型模型作爲例子的,所以本篇將對此模型的案例進行介紹。

額外提一句,基於時間序列的方法主要包括神經網絡的方法(LSTM用的比較多)和ARIMA的方法。這兩個方法在之前的博文中有所提及:

Mr.括號:用深度學習做了下中國股市預測,結果是...

Mr.括號:使用ARMA做時間序列預測全流程(附MATLAB代碼)

隨機過程方法以後有機會的話再寫吧。

好了,現在開始。

1.案例描述

數據集是由Annual Conference of the Prognostics and Health Management Society[2]提供的公開數據集,從由20齒的小齒輪驅動的2MW的風力渦輪機高速軸收集。

連續50天每天採集6秒振動信號,在50天時間裏,一個內圈發生故障並導致軸承故障。

下圖爲這總共300秒振動數據的可視化結果,其中每個顏色段代表了一天的數據。

2.數據分析

繪製原始數據的譜峭度(spectral kurtosis),並對數據進行分析。譜峭度的物理含義是能夠描述信號在頻率f處偏離高斯的程度,偏離高斯越大,譜峭度的值就越大。該特徵值對信號中的瞬態成分十分敏感。

繪製譜峭度隨時間和頻率的變化如下圖。

從圖中可以看出,大約在10kHz處譜峭度處於峯值,且隨着時間的推移逐漸增大。譜峭度的統計特徵,如平均值、標準差等將是描述退化的潛在指標[3]。

3.特徵提取

特徵提取是建立退化模型前關鍵的一步,通常在特徵提取之前,還會對數據進行一些預處理工作,比如模態分析、濾波等,由於該例子中原始數據類型簡單、退化特徵較爲明顯,所以沒有進行這些工作。

所謂特徵提取,就是用某種量化的特徵值對目標信號的退化特徵進行表徵,通常會使用一些時域參數來表示。常用的時域參數在之前的文章中有所介紹:

Mr.括號:時域分析——有量綱特徵值含義一網打盡

Mr.括號:時域分析——無量綱特徵值含義一網打盡

在該案例中,使用到的特徵包括原始信號的:"Mean"; "Std"; "Skewness"; "Kurtosis"; "Peak2Peak","RMS"; "CrestFactor"; "ShapeFactor"; "ImpulseFactor"; "MarginFactor"; "Energy"。

以及譜峭度的:"Mean"; "Std"; "Skewness"; "Kurtosis"。

共計15中特徵值,分別對每天的數據求取這15中特徵值,可以得到一張大小爲50*15的特徵表。表格中的部分數據如下:

4.特徵值後處理

如前所述,該案例中沒有進行預處理操作,不過在這裏加入了後處理以削減噪聲等干擾的影響。在特徵值後處理中採用了滑動平均濾波器對退化數據進行平滑處理。下圖爲某特徵值(譜峭度的均值)在使用濾波前後的對比圖。需要注意的是,滑動平均會一定程度上引入信號延遲。

5.選定訓練集

選取前20天的數據(生命週期的前40%)作爲訓練集。在進行特徵值重要性排序和融合時使用的是訓練集數據。

6.特徵值重要性排序

對於選取的15組特徵值,其表徵退化的能力是不同的,我們需要對錶徵能力強的特徵值進行篩選。

在這裏,我們選擇單調性作爲量化指標:

式中,n爲測量點數目,在本案例中n=50。m是對象產品個數,在本例中m=1。 [公式]是在第i個產品上的第j個特徵值。diff()爲求差分。

經過量化後,排序靠前的特徵值如下圖所示:

可見峭度的效果最好。我們選取單調性值大於0.3的5種特徵值用於下一步的特徵融合。

7.降維和特徵融合

使用主成分分析(PCA)的方法進行降維和特徵融合。不過在進行主成分分析之前,需要對特徵值矩陣進行歸一化。對於PCA如果不太瞭解的話可以看這篇:司南牧:5分鐘理解PCA主成分分析

將前兩個主成分數據(PCA1、PCA2)進行可視化:

注意右側colorbar中不同顏色代表的是天數,對比PCA1和PCA2,發現PCA1的值隨時間變化的單調性更強。即更能表徵“隨着機器接近故障,成分值增加”的特點。

因而選取PCA1作爲融合後的特徵值,並稱之爲健康指標,用以表徵對象的退化特徵。由該指標表徵的對象產品的退化過程如下圖。

8.建立退化模型並計算RUL

無論是使用隨機過程或者時間序列或者線性/指數模型方法,之前的7個步驟都是通用的。從這步開始才正式引入退化模型。

本案例中使用的是指數退化模型:

其中h(t)爲健康指標,ϕ爲常數項,θβ爲決定模型斜率的隨機參數,其中θ爲對數正態分佈,β爲高斯分佈。

在進行RUL計算時,選取了第50天的健康指標作爲失效閾值。

RUL迭代計算的步驟如下:

(1)使用已知退化數據(從1天開始)對指數退化模型參數進行估計。

(2)帶入模型參數得到指數模型及其置信區間。

(3)依據失效閾值計算RUL。

(4)更新已知退化數據(從1天更新至49天),重複(1)~(4)。

該迭代的動態過程可以參看下圖,注意看小圖中的圖例。

9.性能分析

用下述兩張圖對指數退化模型計算RUL的性能進行描述:

v2-fcbd8a1cf874afbbac1d184e45834737_720w.jpguploading.4e448015.gif轉存失敗重新上傳取消

上圖中,藍線爲真實RUL值,紅線爲RUL預測值,藍色陰影區域爲真實RUL的±20%邊界範圍,紅色陰影區域爲RUL預測值的置信區間。

上圖爲RUL預測值在20%界限內的概率。也就是說當預測區間爲真實RUL±20%範圍內時,預測準確的概率值。

通過上述兩張性能分析圖,可以看出在預測集中(即20天以上的部分),隨着更多的數據點用於擬合,預測將變得更加準確。

不過話說回來,這個使用指數退化模型的預測效果,只能說是差強人意。有興趣的同學可以將第8步中的模型換成其他類型(比如時間序列方法),看看預測效果會不會更好一些。

結語

本篇是機電產品剩餘有效壽命預測的第二篇,爲了閱讀的流暢性,本篇沒有像上一篇那樣貼關鍵代碼。一方面是因爲代碼邏輯比較簡單,另外一方面是數據處理量比較大,直到這篇文寫完程序都還沒有跑完,所以代碼就不往上貼了。有興趣要源碼和數據集的同學可以關注我的公衆號“括號的城堡”,微信號爲“khscience”,回覆“退化模型”就能拿到啦,公衆號裏可能還會有更多有趣的東西分享。

 

 

[1]Wind Turbine High-Speed Bearing Prognosis

[2]Acoustics and Vibration Database

[3]Saidi, Lotfi, et al. "Wind turbine high-speed shaft bearings health prognosis through a spectral Kurtosis-derived indices and SVR."Applied Acoustics120 (2017): 1-8.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章