備預(yù)測(cè)性維護(hù)核心技術(shù):從PHM算法到健康評(píng)估完整鏈路解析)
簡(jiǎn)介《PHM算法與智能分析技術(shù)》是一份面向工業(yè)設(shè)備智能維護(hù)與故障預(yù)測(cè)方向的文檔適合設(shè)備健康管理、工業(yè)數(shù)據(jù)分析以及故障預(yù)測(cè)與健康管理技術(shù)入門者參考。內(nèi)容從智能維護(hù)技術(shù)演進(jìn)出發(fā)系統(tǒng)梳理從反應(yīng)式維護(hù)、計(jì)劃維護(hù)、狀態(tài)監(jiān)測(cè)維護(hù)到故障預(yù)測(cè)與健康管理的發(fā)展脈絡(luò)并詳細(xì)講解該領(lǐng)域的核心概念如平均退化時(shí)間、健康指數(shù)、硬失效與軟失效以及基于機(jī)理、數(shù)據(jù)驅(qū)動(dòng)和混合方法的故障預(yù)測(cè)思路。文檔還覆蓋故障預(yù)測(cè)與健康管理系統(tǒng)的完整設(shè)計(jì)流程包括需求定義、監(jiān)控層次選擇、模型選型與部署策略以及數(shù)據(jù)預(yù)處理中的工況分割、清洗平滑、歸一化、樣本平衡和時(shí)域、頻域、時(shí)頻域特征提取方法可幫助讀者建立從數(shù)據(jù)采集到健康預(yù)測(cè)的完整技術(shù)框架。文檔為單個(gè)PDF文件大小約4.83MB適合在工作學(xué)習(xí)場(chǎng)景中隨時(shí)查閱。目前已有380人學(xué)習(xí)瀏覽作為工業(yè)智能維護(hù)領(lǐng)域的系統(tǒng)性入門資料值得感興趣者下載研讀。1. 智能維護(hù)技術(shù)引述PHM算法與智能分析技術(shù)到底解決什么問題PHM算法與智能分析技術(shù)這套文檔我拆完最大感受是它把工業(yè)場(chǎng)景里做預(yù)測(cè)性維護(hù)的完整鏈路串清楚了。很多工程師拿到振動(dòng)數(shù)據(jù)就直接上機(jī)器學(xué)習(xí)模型但文檔反復(fù)強(qiáng)調(diào)一個(gè)觀點(diǎn)——設(shè)備失效不是突然發(fā)生的磨損、腐蝕、泄露這些不可見問題才是根源它們互相耦合、交叉作用最后才表現(xiàn)為停機(jī)、不良品和能耗浪費(fèi)。PHM要做的就是在這些不可見問題變成硬故障之前通過監(jiān)控、分析和決策支持把它找出來。這套資料適合三類人做設(shè)備健康管理的工程師、剛轉(zhuǎn)工業(yè)數(shù)據(jù)方向的算法工程師以及要給工廠搭維護(hù)體系的技術(shù)負(fù)責(zé)人。2. 維護(hù)策略演進(jìn)與PHM方法論從壞了再修的RM到預(yù)測(cè)壽命的PHM2.1 四條維護(hù)策略的邊界為什么CBM是PHM的前置條件維護(hù)策略演進(jìn)這條線文檔梳理得特別清楚。傳統(tǒng)反應(yīng)式維護(hù)RM是設(shè)備壞了才修流程最簡(jiǎn)單但停機(jī)損失完全不可控對(duì)于高可靠性設(shè)備RM滿足不了可靠性要求于是有了基于時(shí)間的過維護(hù)PM定期換零件零件還能用也直接換掉成本高得離譜再往后是基于狀態(tài)監(jiān)測(cè)的維護(hù)CBM從設(shè)備里測(cè)物理量比如振動(dòng)、溫度、電流通過物理量變化發(fā)現(xiàn)故障早期現(xiàn)象。CBM比PM聰明的地方在于不再純粹看日歷而是看設(shè)備實(shí)際狀態(tài)。PHM則是在CBM基礎(chǔ)上往前走一步不光知道現(xiàn)在有沒有異常還要預(yù)測(cè)還能用多久。四條策略的邊界和適用場(chǎng)景用一張表說清楚維護(hù)策略觸發(fā)方式優(yōu)點(diǎn)主要缺點(diǎn)智能化程度反應(yīng)式維護(hù)RM壞了才修流程簡(jiǎn)單、前期投入低停機(jī)損失大、維修被動(dòng)最低過維護(hù)PM固定時(shí)間周期可靠性高、管理簡(jiǎn)單零件浪費(fèi)嚴(yán)重、維護(hù)成本高低狀態(tài)維護(hù)CBM監(jiān)測(cè)物理量超閾值能發(fā)現(xiàn)早期故障、減少非計(jì)劃停機(jī)需要部署傳感器和采集系統(tǒng)中故障預(yù)測(cè)與健康維護(hù)PHM預(yù)測(cè)剩余壽命降低全生命周期成本、最大化部件壽命建模復(fù)雜、需要數(shù)據(jù)和機(jī)理支撐高注意一個(gè)反常識(shí)的結(jié)論維護(hù)策略越往后模型復(fù)雜度越高但全生命周期維護(hù)成本是下降的。很多工廠覺得PM已經(jīng)很好了看到CBM和PHM的投入就打退堂鼓這是把“當(dāng)前維護(hù)成本”和“全生命周期成本”搞混了。文檔里給的數(shù)據(jù)邏輯很清楚PHM不是為了炫技是為了降低總成本。2.2 MTBD與MTBF這份資料最容易被忽略的一個(gè)概念可靠性工程里有個(gè)經(jīng)典指標(biāo)MTBFMean Time Between Failures失效平均間隔時(shí)間。文檔特意指出MTBF針對(duì)的是大批量生產(chǎn)、重復(fù)性高的設(shè)備基于時(shí)間統(tǒng)計(jì)可靠性指標(biāo)本質(zhì)上是個(gè)統(tǒng)計(jì)量。但PHM關(guān)心的不是失效間隔而是從設(shè)備開始退化到失效發(fā)生的這段時(shí)間也就是MTBDMean Time Before Degradation平均衰退前時(shí)間。這個(gè)區(qū)分在工程上非常重要。MTBF適合回答“這批設(shè)備一年壞幾次”MTBD適合回答“這臺(tái)設(shè)備還能撐多久”。前者是群體統(tǒng)計(jì)后者是單體預(yù)測(cè)。做RUL剩余壽命預(yù)測(cè)目標(biāo)就是估計(jì)MTBD。文檔里還列了一組容易混淆的概念Prognostics是故障診斷狹義上的壽命預(yù)測(cè)Health prediction只管近期健康值走向做趨勢(shì)預(yù)測(cè)還達(dá)不到壽命預(yù)測(cè)Failure分硬失效和軟失效硬失效是停機(jī)、損壞、不良品軟失效是設(shè)備還在轉(zhuǎn)但可靠性已經(jīng)下降。你去做設(shè)備健康管理如果連軟失效都識(shí)別不出來等到硬失效再報(bào)警PHM的價(jià)值就丟了一大半。2.3 PHM系統(tǒng)設(shè)計(jì)的七個(gè)步驟與需求定義PHM系統(tǒng)設(shè)計(jì)文檔給了七個(gè)步驟這個(gè)流程我實(shí)踐下來非常實(shí)用需求定義、監(jiān)控層次定義、分析模型選擇、關(guān)鍵參數(shù)選擇、部署策略和實(shí)驗(yàn)設(shè)計(jì)、技術(shù)和經(jīng)濟(jì)性可行性研究、技術(shù)開發(fā)與線上應(yīng)用。第一步需求定義最容易翻車很多項(xiàng)目上來就問“能不能做預(yù)測(cè)”但沒想清楚預(yù)測(cè)什么。文檔提醒要先判斷對(duì)象是否適合做PHM關(guān)注哪一類故障模式關(guān)注什么具體問題。第二步監(jiān)控層次也很容易被忽略組件級(jí)、設(shè)備級(jí)、產(chǎn)線級(jí)、工廠級(jí)不同層級(jí)的數(shù)據(jù)量、建模復(fù)雜度、業(yè)務(wù)價(jià)值完全不同組件級(jí)做出來可能對(duì)工廠整體沒有意義工廠級(jí)又可能顆粒度太粗得根據(jù)業(yè)務(wù)目標(biāo)倒推。第三步分析模型選擇文檔給出一個(gè)關(guān)鍵判斷維度強(qiáng)數(shù)據(jù)弱機(jī)理、弱數(shù)據(jù)強(qiáng)機(jī)理、強(qiáng)數(shù)據(jù)強(qiáng)機(jī)理。振動(dòng)數(shù)據(jù)充足但機(jī)理不清晰就走數(shù)據(jù)驅(qū)動(dòng)滾動(dòng)軸承的故障特征頻率BPFO、BPFI機(jī)理明確但樣本少就走機(jī)理與數(shù)據(jù)混合。部署策略和實(shí)驗(yàn)設(shè)計(jì)這塊文檔特別強(qiáng)調(diào)采集能進(jìn)行可行性分析的數(shù)據(jù)盡量采集完整工況覆蓋不同失效模式有全生命周期數(shù)據(jù)是最好的。我見過太多項(xiàng)目數(shù)據(jù)采集階段沒有設(shè)計(jì)拿到的都是正常工況數(shù)據(jù)故障樣本幾乎沒有后面建模再怎么折騰都補(bǔ)不回來這一步一定要在項(xiàng)目啟動(dòng)時(shí)就想清楚。3. 數(shù)據(jù)預(yù)處理與特征提取把振動(dòng)信號(hào)變成可建模的特征3.1 工業(yè)數(shù)據(jù)3B問題碎片化、質(zhì)量差、背景干擾數(shù)據(jù)預(yù)處理這章文檔開場(chǎng)就拋出工業(yè)數(shù)據(jù)的“3B”問題Broken數(shù)據(jù)分散在多個(gè)信息系統(tǒng)里碎片化嚴(yán)重Bad Quality工業(yè)現(xiàn)場(chǎng)環(huán)境惡劣數(shù)據(jù)質(zhì)量差Background數(shù)據(jù)受設(shè)備參數(shù)設(shè)定、工況、環(huán)境等背景信息影響。這三個(gè)問題直接決定了建模的上限。很多算法工程師拿到CSV就開始做特征工程但連數(shù)據(jù)是從哪臺(tái)設(shè)備、哪個(gè)工況、哪個(gè)傳感器來的都沒搞清楚后面模型再精也沒用。預(yù)處理的目標(biāo)文檔歸納成五條降低3B問題對(duì)建模的影響、檢測(cè)數(shù)據(jù)質(zhì)量、識(shí)別背景信息、對(duì)不同工況分別標(biāo)準(zhǔn)化、整合碎片化數(shù)據(jù)以及通過數(shù)據(jù)變換強(qiáng)化建模線索。這五條應(yīng)該寫進(jìn)每個(gè)PHM項(xiàng)目的數(shù)據(jù)處理規(guī)范里。實(shí)際做的時(shí)候第一步永遠(yuǎn)是工況分割而不是歸一化順序反了后面全亂。3.2 數(shù)據(jù)預(yù)處理的六種方法及關(guān)鍵參數(shù)文檔把預(yù)處理拆成六種方法每一種都有明確的適用場(chǎng)景預(yù)處理方法解決什么問題關(guān)鍵參數(shù)與做法典型場(chǎng)景工況分割Background按轉(zhuǎn)速、負(fù)載、環(huán)境溫度濕度、Task/Recipe切分變轉(zhuǎn)速機(jī)床主軸、風(fēng)電變槳數(shù)據(jù)清洗與平滑Bad Quality基于數(shù)據(jù)分布的異常點(diǎn)檢測(cè)4種算法時(shí)間序列用滑動(dòng)窗口平滑傳感器毛刺、通信中斷導(dǎo)致的野值振動(dòng)數(shù)據(jù)質(zhì)量檢測(cè)Bad Quality檢測(cè)信號(hào)是否正常異常信號(hào)單獨(dú)處理傳感器松動(dòng)、線纜破損數(shù)據(jù)歸一化Background將不同變量轉(zhuǎn)換到同一分布或取值區(qū)間歸一化統(tǒng)計(jì)量只用訓(xùn)練集計(jì)算神經(jīng)網(wǎng)絡(luò)訓(xùn)練前CNC主軸特征歸一化數(shù)據(jù)樣本平衡類別不均衡過采樣、欠采樣、重采樣電力電子器件故障樣本過采樣數(shù)據(jù)分割建模驗(yàn)證泛化訓(xùn)練集/驗(yàn)證集/測(cè)試集分類需分層抽樣保證類別比例一致所有監(jiān)督學(xué)習(xí)這里重點(diǎn)說一下數(shù)據(jù)歸一化的參數(shù)細(xì)節(jié)。同一臺(tái)CNC機(jī)床主軸負(fù)載不同振動(dòng)特征RMS可能差好幾倍如果直接把所有工況的數(shù)據(jù)混在一起歸一化模型學(xué)到的不是故障特征而是負(fù)載特征。文檔里給的做法是處理不同工況數(shù)據(jù)時(shí)分別進(jìn)行標(biāo)準(zhǔn)化這樣模型才能真正學(xué)到設(shè)備狀態(tài)的偏移。樣本平衡這塊故障樣本少是PHM常態(tài)過采樣不是把故障樣本復(fù)制幾份就完事要在特征空間做合成比如SMOTE類方法而且必須是在分割訓(xùn)練集之后再做不然驗(yàn)證集里混進(jìn)合成樣本指標(biāo)虛高上了線就翻車。3.3 時(shí)域、頻域與時(shí)頻域特征提取軸承磨損與齒輪箱案例特征提取是PHM的核心環(huán)節(jié)文檔分了三類。時(shí)域特征包括RMS、峰峰值、峭度、裕度、歪度、均值、均方根、脈沖因數(shù)、波形因數(shù)、波峰因數(shù)。這組特征看著簡(jiǎn)單但物理意義差別很大峭度對(duì)早期沖擊型故障最敏感RMS反映能量水平歪度反映分布不對(duì)稱。特征計(jì)算公式反映的物理意義RMSsqrt(1/N * Σx_i2)信號(hào)能量水平穩(wěn)定且對(duì)幅值變化敏感峰峰值max(x) - min(x)沖擊幅值的波動(dòng)范圍峭度1/N * Σ((x-μ)/σ)?對(duì)早期微弱沖擊非常敏感裕度x_peak / (Σsqrt(x_i歪度1/N * Σ((x-μ)/σ)3分布對(duì)稱性可用于不對(duì)中診斷頻域特征這塊文檔給了軸承磨損的典型例子。軸承正常狀態(tài)和磨損狀態(tài)的FFT頻譜對(duì)比很直觀磨損后在4000Hz到8000Hz區(qū)間會(huì)出現(xiàn)明顯的共振頻帶。關(guān)鍵操作來了光看共振頻帶不夠文檔強(qiáng)調(diào)要在這個(gè)頻帶做解調(diào)得到包絡(luò)譜包絡(luò)譜里才能看到軸承外圈故障特征頻率BPFO和內(nèi)圈故障特征頻率BPFI這兩個(gè)特征頻率的幅值才是真正的故障特征參數(shù)。我做軸承診斷時(shí)如果不做包絡(luò)譜直接拿共振頻帶能量當(dāng)特征故障識(shí)別率會(huì)明顯下降這個(gè)坑后面避坑章節(jié)再展開。時(shí)頻域分析針對(duì)非平穩(wěn)信號(hào)常用STFT和小波分析。STFT本質(zhì)是基于FFT加窗基函數(shù)是不限長(zhǎng)的正弦函數(shù)做短時(shí)傅里葉變換后可以從時(shí)域、頻域、幅值三個(gè)維度看信號(hào)比如信號(hào)在E1、E2、E3、E4四個(gè)位置出現(xiàn)能量集中區(qū)對(duì)應(yīng)的頻率和時(shí)刻各不相同可以把這些區(qū)域的幅值相加作為能量特征。小波分析用的基函數(shù)是幅值衰減、可伸縮、可平移的小波基這是和STFT的本質(zhì)差別。3.4 特征選擇實(shí)戰(zhàn)Fisher Score與柴油機(jī)燃爆故障案例特征選擇的目的文檔總結(jié)得很接地氣減少數(shù)據(jù)量、為后續(xù)處理提供理解、減少傳感器安裝數(shù)量、提高算法計(jì)算效率。方法分三類基于經(jīng)驗(yàn)的方法、封裝式選擇方法、過濾式選擇方法?;诮?jīng)驗(yàn)的典型例子軸承特征常選RMS、峰峰值、峭度、歪度風(fēng)電機(jī)組振動(dòng)相關(guān)的參數(shù)包括功率、轉(zhuǎn)速、風(fēng)速——這些是領(lǐng)域知識(shí)直接給的。封裝式方法試多個(gè)變量組合用模型性能選最優(yōu)組合常用的有遺傳算法解決大規(guī)模特征選擇、前向選擇法、后向消除法。過濾法典型是互信息和Fisher Score。Fisher Score的原理很直白如果某個(gè)特征在某類樣本內(nèi)部方差小而與其他類樣本的方差大說明這個(gè)特征能區(qū)分類別得分高就是有效特征。計(jì)算邏輯是類間方差除以類內(nèi)方差。我給一套可以直接跑的計(jì)算代碼import numpy as np def fisher_score(feature, labels): 計(jì)算單一特征的Fisher Score。 feature: (n_samples,) 一維特征數(shù)組 labels: (n_samples,) 類別標(biāo)簽, 0表示健康, 1表示故障 返回: float, 得分越高表示該特征區(qū)分能力越強(qiáng) classes np.unique(labels) mu_all np.mean(feature) n_total len(feature) s_between 0.0 # 類間方差(分子) s_within 0.0 # 類內(nèi)方差(分母) for c in classes: idx labels c n_c np.sum(idx) mu_c np.mean(feature[idx]) var_c np.var(feature[idx]) s_between n_c * (mu_c - mu_all) ** 2 # 加權(quán)類間離差 s_within n_c * var_c # 加權(quán)類內(nèi)方差 if s_within 0: return 0.0 return s_between / s_within # 示例: 柴油機(jī)燃爆故障場(chǎng)景下, 某個(gè)振動(dòng)特征的RMS值 X_rms np.array([0.82, 0.71, 0.66, 0.58, 0.23, 0.19, 0.15, 0.11]) y_label np.array([0, 0, 0, 0, 1, 1, 1, 1]) score fisher_score(X_rms, y_label) print(fFisher Score {score:.3f})這套代碼邏輯很簡(jiǎn)單但有兩個(gè)參數(shù)細(xì)節(jié)要注意。第一標(biāo)簽類別數(shù)不限兩類多分類的故障模式照樣能算代碼里np.unique會(huì)自動(dòng)遍歷所有類別。第二分母類內(nèi)方差如果為0說明該特征在某類里完全相同得分設(shè)為0避免除零報(bào)錯(cuò)。實(shí)際項(xiàng)目里我會(huì)把特征矩陣的每一列都過一遍這個(gè)函數(shù)按得分排序然后對(duì)比領(lǐng)域經(jīng)驗(yàn)選擇的結(jié)果兩者重合度高就說明特征選得穩(wěn)。文檔里的柴油機(jī)燃爆故障案例用的就是這個(gè)思路對(duì)四沖程柴油機(jī)的四個(gè)沖程做分割定義燃燒段從噴射燃油到排氣沖程開始采集缸內(nèi)壓力信號(hào)和振動(dòng)信號(hào)計(jì)算各特征的Fisher Score得分越高的特征在后續(xù)建模中對(duì)故障越敏感。3.5 PCA降維什么時(shí)候降、降到幾維降維這塊文檔講了兩個(gè)目的減少計(jì)算量、提高模型泛化能力。PCA是主選方法通過空間轉(zhuǎn)換把高維數(shù)據(jù)降到低維同時(shí)減少原參數(shù)之間的相關(guān)性。注意PCA降維不是簡(jiǎn)單的丟特征而是尋找能代表原特征絕大部分信息的主成分是一種變換。什么時(shí)候用PCA我通常看兩個(gè)信號(hào)一是特征數(shù)量超過樣本數(shù)量的1/10模型容易過擬合二是特征之間相關(guān)性明顯比如RMS、峰峰值、峭度都從同一段振動(dòng)信號(hào)算出來本身就互相耦合。這兩種情況做PCA都能看到效果。降到幾維沒有標(biāo)準(zhǔn)答案工程上我一般看累計(jì)方差貢獻(xiàn)率取到95%就停不要盲目降到2維或3維否則丟失的可能是故障相關(guān)的細(xì)節(jié)信息。另外記住一個(gè)關(guān)鍵點(diǎn)PCA的旋轉(zhuǎn)矩陣只能用訓(xùn)練集擬合驗(yàn)證和測(cè)試時(shí)把訓(xùn)練集的PCA變換直接套上去不能用全量數(shù)據(jù)重新擬合PCA這跟歸一化防止信息泄漏是一個(gè)道理。4. 健康評(píng)估建模五法從邏輯回歸到風(fēng)速儀的AANN案例4.1 三種健康指標(biāo)類型與兩階段建模流程健康評(píng)估的目標(biāo)是把高維特征向量壓縮成一個(gè)健康指數(shù)文檔把它按物理意義分成三類。第一類是以物理量為健康指標(biāo)比如橋梁裂紋寬度、刀具磨損量這種可以直接用回歸模型擬合神經(jīng)網(wǎng)絡(luò)也行。第二類是基于概率的健康指標(biāo)0到1之間的概率值典型實(shí)現(xiàn)是邏輯回歸或t平方統(tǒng)計(jì)。第三類是虛擬健康指標(biāo)數(shù)學(xué)意義上的標(biāo)量比如馬氏距離、SOM的MQE。數(shù)據(jù)驅(qū)動(dòng)的健康評(píng)估分兩個(gè)階段這個(gè)必須說清楚。訓(xùn)練階段基于歷史數(shù)據(jù)訓(xùn)練模型驗(yàn)證階段把當(dāng)前狀態(tài)的特征向量丟進(jìn)訓(xùn)練好的模型計(jì)算健康值。很多人把這兩個(gè)階段混在一起拿當(dāng)前數(shù)據(jù)和訓(xùn)練數(shù)據(jù)一起算距離這是錯(cuò)的。訓(xùn)練階段只用歷史健康數(shù)據(jù)建基準(zhǔn)驗(yàn)證階段才能引入當(dāng)前狀態(tài)。這個(gè)流程是所有健康評(píng)估方法共用的骨架。4.2 邏輯回歸與統(tǒng)計(jì)模式識(shí)別帶標(biāo)簽與不帶標(biāo)簽的兩條路線邏輯回歸適合有健康數(shù)據(jù)和故障數(shù)據(jù)帶標(biāo)簽的場(chǎng)景。線性回歸用自變量線性組合估計(jì)因變量邏輯回歸用自變量線性組合估計(jì)因變量屬于某個(gè)類別的概率。數(shù)學(xué)表達(dá)是ln(p/(1-p)) α β1x1 β2x2 ... βk xk解出來健康值CV(x) exp(αβ1x1...βkxk) / (1 exp(αβ1x1...βkxk))。這個(gè)值就是0到1之間的概率直接當(dāng)健康值用越接近1表示故障概率越大。注意這里有個(gè)工程細(xì)節(jié)邏輯回歸需要兩類帶標(biāo)簽數(shù)據(jù)如果只有健康數(shù)據(jù)邏輯回歸就用不了得換路線。統(tǒng)計(jì)模式識(shí)別是另一條路線只需要健康數(shù)據(jù)。核心思想是計(jì)算當(dāng)前特征分布和健康特征分布的偏移程度假設(shè)兩者都符合高斯分布偏移越大越不健康。具體指標(biāo)有L2距離、正則化L2距離。如果數(shù)據(jù)不是高斯分布就先用高斯混合模型GMM擬合健康值就是多個(gè)高斯模型的L2距離平均值。GMM里模型分量的個(gè)數(shù)是重要超參數(shù)文檔提到用AIC和BIC準(zhǔn)則來選擇AIC 2K - 2ln(L)BIC Kln(n) - 2ln(L)兩者都通過懲罰模型復(fù)雜度來平衡精度和過擬合。我習(xí)慣把兩個(gè)準(zhǔn)則一起看AIC偏向選復(fù)雜一點(diǎn)的模型BIC懲罰更重選出來的分量數(shù)往往比AIC少。4.3 SOM的MQE健康值一個(gè)可刷置信度的無監(jiān)督方法自組織映射神經(jīng)網(wǎng)絡(luò)SOM把高維特征矩陣映射成二維蜂窩狀圖可視化效果很直觀。SOM健康指標(biāo)用的是最小量化誤差MQE先用健康數(shù)據(jù)訓(xùn)練出U-matrix把當(dāng)前狀態(tài)的特征向量放進(jìn)U-matrix找到離它最近的best matching unitBMU當(dāng)前位置與BMU的歐氏距離就是MQE。計(jì)算公式是MQE ||D - w_bmu||。當(dāng)設(shè)備出現(xiàn)故障時(shí)當(dāng)前特征向量會(huì)遠(yuǎn)離健康區(qū)域MQE值大幅上升。def compute_mqe(som_weights, feat_vector): 計(jì)算SOM最小量化誤差MQE。 som_weights: 訓(xùn)練好的SOM權(quán)重矩陣, 形狀為 (rows, cols, feat_dim) feat_vector: 當(dāng)前時(shí)刻特征向量, 形狀為 (feat_dim,) 返回: 當(dāng)前狀態(tài)與最近神經(jīng)元BMU的歐氏距離, 即MQE diff som_weights - feat_vector # 廣播計(jì)算每個(gè)神經(jīng)元與當(dāng)前特征的差 distances np.linalg.norm(diff, axis-1) # 每個(gè)神經(jīng)元的歐氏距離 mqe np.min(distances) # 取最小距離作為MQE return float(mqe) # 用法: 訓(xùn)練階段用健康數(shù)據(jù)生成SOM, 推理階段把當(dāng)前特征向量丟進(jìn)來算MQE # 網(wǎng)格尺寸常用10x10或15x10, 特征維度與訓(xùn)練時(shí)保持一致 # MQE越接近健康基準(zhǔn), 設(shè)備狀態(tài)越好; MQE快速爬升說明出現(xiàn)早期衰退這里提一個(gè)使用習(xí)慣。MQE是無監(jiān)督的不需要故障標(biāo)簽所以特別適合只有健康數(shù)據(jù)的場(chǎng)景。但MQE對(duì)訓(xùn)練數(shù)據(jù)的覆蓋范圍很敏感如果訓(xùn)練數(shù)據(jù)沒有覆蓋某些工況那當(dāng)前工況算出來的MQE天然就大不是故障導(dǎo)致的。我一般會(huì)在訓(xùn)練SOM時(shí)把健康狀態(tài)覆蓋到的工況都記錄下來推理時(shí)先判斷當(dāng)前工況在不在覆蓋范圍內(nèi)不在就先做工況匹配再談MQE判斷。4.4 風(fēng)速儀健康評(píng)估案例拆解AANN殘差加K-Means聚類文檔里最有實(shí)戰(zhàn)參考價(jià)值的是2011年P(guān)HM數(shù)據(jù)競(jìng)賽的風(fēng)速儀健康評(píng)估案例。場(chǎng)景是三杯風(fēng)速計(jì)風(fēng)資源評(píng)估的行業(yè)標(biāo)準(zhǔn)風(fēng)電開發(fā)商用它估算擬建場(chǎng)地的未來能源產(chǎn)量。風(fēng)速儀受損或者超出公差范圍直接影響風(fēng)場(chǎng)能源產(chǎn)量評(píng)估的準(zhǔn)確性。文檔給了一個(gè)很直觀的量化關(guān)系年平均風(fēng)速估計(jì)值2%的誤差可能導(dǎo)致發(fā)電量估算差異到6%直接影響投資回報(bào)率。數(shù)據(jù)結(jié)構(gòu)是三個(gè)不同高度的風(fēng)速儀測(cè)量數(shù)據(jù)而且只有健康狀況的數(shù)據(jù)。技術(shù)路線是自聯(lián)想神經(jīng)網(wǎng)絡(luò)AANN。思想是訓(xùn)練一個(gè)健康狀態(tài)的模型用健康數(shù)據(jù)訓(xùn)練然后把當(dāng)前狀態(tài)數(shù)據(jù)放進(jìn)模型計(jì)算模型擬合的殘差殘差越大說明離健康狀態(tài)的偏移越大。AANN結(jié)構(gòu)分三部分映射層、瓶頸層、解映射層通過瓶頸層挖掘多維特征之間的非線性關(guān)系。實(shí)現(xiàn)示意# AANN殘差計(jì)算示意(Keras風(fēng)格偽代碼) model Sequential([ Dense(12, activationtanh, input_dim6), # 映射層: 輸入特征維度6 Dense(3, activationlinear), # 瓶頸層: 壓縮到3維, 挖掘非線性關(guān)系 Dense(12, activationtanh), # 解映射層: 恢復(fù)到12維 Dense(6, activationlinear) # 輸出層: 輸出維度與輸入一致 ]) model.compile(optimizeradam, lossmse) # 訓(xùn)練: 只用健康數(shù)據(jù), 目標(biāo)是重構(gòu)自身 model.fit(X_healthy_norm, X_healthy_norm, epochs200, batch_size32) # 推理: 計(jì)算當(dāng)前樣本的重構(gòu)誤差作為健康值 residual np.mean((model.predict(X_test_norm) - X_test_norm) ** 2, axis1)這套流程有四個(gè)關(guān)鍵工程點(diǎn)。第一數(shù)據(jù)預(yù)處理做了過濾和歸一化特別提到把不同高度的風(fēng)速轉(zhuǎn)換到相同高度不同高度風(fēng)速本身有差異不歸一化直接當(dāng)特征輸入模型會(huì)學(xué)到高度信息而不是風(fēng)速儀健康狀態(tài)。第二模型不是單個(gè)AANN是集成了多個(gè)AANN模型通過集成降低不確定性單模型殘差波動(dòng)大幾個(gè)模型平均下來穩(wěn)定很多。第三殘差信號(hào)做了K-Means聚類殘差的頻次統(tǒng)計(jì)直方圖呈現(xiàn)雙峰分布說明可能存在兩個(gè)工況需要計(jì)算當(dāng)前狀態(tài)的風(fēng)速儀偏移某一個(gè)狀態(tài)的距離也就是殘差和正常分布的偏移度再設(shè)定失效閾值。雙峰不處理直接設(shè)一個(gè)全局閾值必然誤報(bào)。第四因?yàn)橹挥薪】禂?shù)據(jù)整個(gè)過程沒有用到故障標(biāo)簽屬于異常檢測(cè)思路這在PHM里非常常見——故障數(shù)據(jù)往往比健康數(shù)據(jù)稀缺得多。5. 常見問題與避坑記錄PHM項(xiàng)目從數(shù)據(jù)到部署的五個(gè)翻車點(diǎn)5.1 全生命周期數(shù)據(jù)不足硬做故障預(yù)測(cè)現(xiàn)象拿到設(shè)備最近三個(gè)月的振動(dòng)數(shù)據(jù)就要求做剩余使用壽命預(yù)測(cè)結(jié)果模型跑出來R2飄忽不定現(xiàn)場(chǎng)沒法用。原因文檔里寫得很明確做剩余壽命預(yù)測(cè)需要全生命周期數(shù)據(jù)run-to-failure data只有健康數(shù)據(jù)或短期數(shù)據(jù)時(shí)健康評(píng)估都勉強(qiáng)直接做RUL是讓模型在黑匣子里瞎猜。解決退回健康評(píng)估先用健康數(shù)據(jù)建基準(zhǔn)計(jì)算健康指數(shù)的趨勢(shì)變化如果業(yè)務(wù)必須做壽命預(yù)測(cè)就走混合方法用機(jī)理模型定邊界數(shù)據(jù)驅(qū)動(dòng)定偏移。核心原則是數(shù)據(jù)到什么程度就做什么級(jí)別的事。5.2 工況沒分割就做歸一化模型把轉(zhuǎn)速當(dāng)成故障現(xiàn)象同一臺(tái)軸承在不同轉(zhuǎn)速下RMS特征差異比故障導(dǎo)致的差異還大模型頻繁報(bào)警現(xiàn)場(chǎng)拆檢設(shè)備一切正常。原因預(yù)處理第一步工況分割被跳過了Background信息污染了特征設(shè)備轉(zhuǎn)速變化被模型當(dāng)成健康狀態(tài)偏移。文檔明確說要對(duì)不同工況下的數(shù)據(jù)分別進(jìn)行標(biāo)準(zhǔn)化處理。解決先按轉(zhuǎn)速、負(fù)載、環(huán)境溫度、Task/Recipe把數(shù)據(jù)切成不同工況段每個(gè)工況段分別做歸一化再進(jìn)入特征提取。如果是變頻設(shè)備特征提取前先確認(rèn)穩(wěn)態(tài)工況提取的窗口轉(zhuǎn)速爬升階段的數(shù)據(jù)單獨(dú)處理不要混進(jìn)穩(wěn)態(tài)特征。5.3 看到共振頻帶就當(dāng)故障特征包絡(luò)譜才是關(guān)鍵現(xiàn)象FFT頻譜在4000到8000Hz出現(xiàn)明顯的共振頻帶直接判斷軸承磨損拆檢后發(fā)現(xiàn)軸承完好是設(shè)備結(jié)構(gòu)共振。原因文檔講頻域特征時(shí)特意強(qiáng)調(diào)頻譜上能看到共振頻帶但共振頻帶不等于故障特征要在這個(gè)頻帶做解調(diào)得到包絡(luò)譜在包絡(luò)譜里找軸承外圈故障特征頻率BPFO和內(nèi)圈故障特征頻率BPFI故障特征頻率對(duì)應(yīng)的幅值才是特征參數(shù)。解決用帶通濾波鎖定共振頻帶再做希爾伯特變換得到包絡(luò)譜檢查BPFO、BPFI及其諧波分量。做特征提取前先在已知故障樣本上驗(yàn)證包絡(luò)譜能不能看到特征頻率看不到就換頻帶或換方法不要拿頻譜直接開干。5.4 小波基選錯(cuò)齒輪箱嚙合頻率時(shí)有時(shí)無現(xiàn)象齒輪箱高速端振動(dòng)信號(hào)做時(shí)頻分析同一段數(shù)據(jù)換了一個(gè)小波基分析結(jié)果完全兩樣有時(shí)候能看到嚙合頻率有時(shí)候看不到。原因文檔里對(duì)比了Cmor3-3小波和另一種小波的分析結(jié)果Cmor3-3能清晰提取齒輪箱嚙合頻率另一種提取不出來。小波基函數(shù)不是通用的不同基函數(shù)對(duì)信號(hào)的適應(yīng)性差別很大。解決實(shí)踐中多試幾種小波基固定對(duì)比分析效果選擇最好的作為小波基。不要憑名字選要看實(shí)際信號(hào)的分析效果。確定小波基后把基函數(shù)類型和參數(shù)寫進(jìn)配置文件保證實(shí)驗(yàn)可復(fù)現(xiàn)換人換機(jī)器結(jié)果都一樣。5.5 歸一化泄漏和樣本不平衡驗(yàn)證集很漂亮上線就失效現(xiàn)象模型在驗(yàn)證集上健康值趨勢(shì)非常漂亮一部署到新工況就失效連續(xù)誤報(bào)。原因兩個(gè)問題疊加。一是用全量數(shù)據(jù)計(jì)算歸一化統(tǒng)計(jì)量驗(yàn)證集信息泄漏到訓(xùn)練過程二是過采樣時(shí)把驗(yàn)證集樣本也復(fù)制進(jìn)去了模型相當(dāng)于見過答案。文檔里數(shù)據(jù)分割部分明確要求分類模型要采樣分層抽樣確保各數(shù)據(jù)集之間不同類型樣本比例基本一致。解決先分割訓(xùn)練集、驗(yàn)證集、測(cè)試集再用訓(xùn)練集的均值、方差作用到驗(yàn)證集和測(cè)試集。樣本平衡的操作要在訓(xùn)練集內(nèi)部做驗(yàn)證集保持真實(shí)分布這樣評(píng)估出來的指標(biāo)才是真實(shí)水平。6. 進(jìn)階技巧先摸清數(shù)據(jù)再選算法別一上來就深度學(xué)習(xí)6.1 以數(shù)據(jù)可獲取性為核心的三條選型路線這個(gè)文檔給我最大的啟發(fā)是PHM建模不是先選算法而是先摸數(shù)據(jù)底牌。我后來每個(gè)項(xiàng)目都先畫一張數(shù)據(jù)清單標(biāo)清楚有哪些工況、覆蓋了哪些失效模式、有沒有全生命周期數(shù)據(jù)。根據(jù)清單內(nèi)容選型路線只有三條。第一條只有健康數(shù)據(jù)走統(tǒng)計(jì)模式識(shí)別、GMM、SOM的MQE、AANN殘差這類無監(jiān)督或異常檢測(cè)路線目標(biāo)是建立健康基線算偏移度。第二條有健康數(shù)據(jù)也有故障數(shù)據(jù)但缺全生命周期走故障診斷路線SVM、隨機(jī)森林、神經(jīng)網(wǎng)絡(luò)做分類目標(biāo)是識(shí)別失效模式而不是預(yù)測(cè)壽命。第三條有完整run-to-failure數(shù)據(jù)才考慮RUL預(yù)測(cè)而且優(yōu)先看文檔提到的混合方法機(jī)理邊界加數(shù)據(jù)驅(qū)動(dòng)而不是純深度學(xué)習(xí)。6.2 驗(yàn)證健康值好壞的一個(gè)具體做法健康值模型訓(xùn)練完怎么判斷好不好我常用的辦法是回看故障事件找歷史數(shù)據(jù)里已經(jīng)發(fā)生故障的時(shí)間點(diǎn)檢查健康值在故障發(fā)生前一段時(shí)間有沒有單調(diào)下降趨勢(shì)或者M(jìn)QE有沒有明顯爬升。健康值如果是一條平穩(wěn)直線到故障前一天突然跳水這種模型基本不可用因?yàn)閬聿患邦A(yù)警。好的健康值應(yīng)該在故障前幾十個(gè)采樣點(diǎn)就出現(xiàn)連續(xù)偏離健康基線的趨勢(shì)哪怕幅度不大至少給了維護(hù)響應(yīng)時(shí)間。另外風(fēng)速儀案例里雙峰分布的處理也值得直接用對(duì)殘差或健康值做K-Means聚類如果出現(xiàn)明顯的多峰分布先別急著設(shè)閾值看看是不是工況變化導(dǎo)致的偏移誤以為故障。我從那之后每次接手PHM項(xiàng)目都先花半天時(shí)間拉數(shù)據(jù)清單手動(dòng)標(biāo)一遍工況、失效模式、生命周期覆蓋程度再?zèng)Q定上什么算法而不是拿到數(shù)據(jù)就丟進(jìn)神經(jīng)網(wǎng)絡(luò)。這套文檔把這個(gè)流程講透了需要建立PHM方法論框架的話直接拿原PDF對(duì)照著過一遍比自己零散搜資料高效得多。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取