侯 飛 李俊偉 劉顯峰 劉海全 徐 燦 孫艷梅
(1.濟(jì)南軌道交通集團(tuán)建設(shè)投資有限公司 山東 濟(jì)南 250000; 2.中車青島四方機(jī)車車輛股份有限公司 山東 青島 266111 ; 3.南京康尼機(jī)電股份有限公司 江蘇 南京 210000)
近年,越來(lái)越多算法用于軌道車輛門的健康狀態(tài)監(jiān)測(cè),如貝葉斯網(wǎng)絡(luò)[1]、Petri網(wǎng)[2]等。以上方法多用于故障診斷,對(duì)亞健康診斷鮮有提及。與故障相比,亞健康具有隱蔽性、潛伏性和模糊性,更難發(fā)現(xiàn)。因此,用于亞健康診斷的分類模型需兼?zhèn)涿舾行院透呔?。隨機(jī)森林(Random Forest , RF)是一種基于“Bagging”思想的非線性分類算法,基于RF的分類模型通過(guò)構(gòu)建多個(gè)分類與回歸樹(Classification And Regression Tree ,CART)對(duì)數(shù)據(jù)建模[3],相比于單一分類方法,具有更高的精度。與常用分類器,如支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)相比,建立在 CART決策樹基礎(chǔ)上的RF具有更強(qiáng)的數(shù)據(jù)挖掘、泛化能力和更理想的分類效果[4]。RF還具有訓(xùn)練速度快、對(duì)高維樣本輸入適應(yīng)性良好的特點(diǎn)[5]。因此,選取RF應(yīng)用于車輛門系統(tǒng)亞健康狀態(tài)診斷。
對(duì)于分類問(wèn)題,隨機(jī)森林是包含多個(gè)決策樹的組合分類器,通過(guò)集成基分類器,提高分類器性能。對(duì)于一個(gè)輸入樣本,N棵樹有N個(gè)分類結(jié)果。隨機(jī)森林集成所有分類投票結(jié)果,將投票次數(shù)最多的作為最終輸出。構(gòu)建流程如圖1所示。
圖1 隨機(jī)森林構(gòu)建流程圖
為保證多個(gè)分類器之間的差異性,隨機(jī)森林中的決策樹生成時(shí)采用了兩個(gè)隨機(jī)方法,其生成規(guī)則如下:
(1)從原始訓(xùn)練集中,通過(guò)自助(bootstarp)重采樣技術(shù),隨機(jī)有放回地抽取N個(gè)訓(xùn)練樣本;
(2)如果每個(gè)樣本的特征維度為M,指定一個(gè)常數(shù)m< 隨機(jī)森林分類效果取決于:(1)森林中任意兩棵樹的相關(guān)性。相關(guān)性越大,錯(cuò)誤率越大。(2)森林中每棵樹的分類能力。每棵樹的分類能力越強(qiáng),整個(gè)森林的錯(cuò)誤率越低。 以上兩個(gè)因素互相制約,m越小,相關(guān)性越小、分類能力越低;m越大,相關(guān)性越大、分類能力越強(qiáng)。因此,如何選取最優(yōu)的m是關(guān)鍵。假設(shè)總的特征數(shù)量為M,一般m可以是sqrt(M)、1/2sqrt(M)、2sqrt(M)。 另外,為降低錯(cuò)誤率,在建決策樹時(shí),每棵樹盡最大程度生長(zhǎng),且沒有剪枝過(guò)程,使決策樹具備高差異和低偏差。 基于隨機(jī)森林算法的軌道車輛門亞健康診斷系統(tǒng)軟件(以下簡(jiǎn)稱“系統(tǒng)軟件”)總體架構(gòu)如圖2所示,主要由守護(hù)進(jìn)程、數(shù)據(jù)庫(kù)讀寫模塊、機(jī)器學(xué)習(xí)算法庫(kù)、Log4Cplus日志組件、HttpClient工具組成。其中,守護(hù)進(jìn)程由普通進(jìn)程改造而成,以確保程序只有一個(gè)運(yùn)行實(shí)例;程序崩潰時(shí),將重新啟動(dòng)程序。基于隨機(jī)森林的軌道車輛門亞健康診斷核心算法模塊(以下簡(jiǎn)稱“核心模塊”)用于模型訓(xùn)練及測(cè)試、實(shí)際運(yùn)營(yíng)軌道車輛門的亞健康狀況診斷、亞健康檢修任務(wù)和預(yù)警信息的推送。DAO數(shù)據(jù)庫(kù)讀寫模塊用于讀取數(shù)據(jù)庫(kù)或者將原始數(shù)據(jù)、算法過(guò)程數(shù)據(jù)寫入數(shù)據(jù)庫(kù)。Log4Cplus日志組件記錄服務(wù)器程序運(yùn)行的過(guò)程,一般以文本日志的形式輸出。HttpClient工具用來(lái)支持基于HTTP協(xié)議的預(yù)警信息觸發(fā)。 圖2 系統(tǒng)軟件總體架構(gòu)圖 核心模塊的實(shí)現(xiàn)包括離線建模和在線診斷兩部分。離線建模的輸入為有標(biāo)簽的訓(xùn)練特征及測(cè)試特征、亞健康標(biāo)簽,輸出為隨機(jī)森林亞健康診斷模型(以下簡(jiǎn)稱“診斷模型”)。在線診斷的輸入為無(wú)標(biāo)簽的正線運(yùn)行數(shù)據(jù)特征、診斷模型,輸出為預(yù)測(cè)亞健康類型、置信度。首先根據(jù)有標(biāo)簽數(shù)據(jù)建立診斷模型,然后在線診斷時(shí)調(diào)用診斷模型,診斷正線數(shù)據(jù)亞健康狀況。 2.2.1離線建??偭鞒?/p> 模型訓(xùn)練輸入為訓(xùn)練特征和類型標(biāo)簽,輸出診斷模型;模型測(cè)試輸入為測(cè)試特征和診斷模型,輸出為預(yù)測(cè)平均準(zhǔn)確率;調(diào)整診斷模型訓(xùn)練參數(shù),多次訓(xùn)練與測(cè)試,選取平均準(zhǔn)確率最高的模型為最優(yōu)診斷模型;將最優(yōu)模型序列化并存儲(chǔ)。 用于訓(xùn)練及測(cè)試特征提取的原始數(shù)據(jù)為有標(biāo)簽數(shù)據(jù),一般來(lái)源于試驗(yàn)或者正線維保記錄。 2.2.2特征提取 根據(jù)原始數(shù)據(jù)提取特征值時(shí),首先讀取采集開、關(guān)門期間的電機(jī)轉(zhuǎn)速、轉(zhuǎn)角等運(yùn)動(dòng)參數(shù);然后將運(yùn)動(dòng)過(guò)程分為若干階段;最后計(jì)算各運(yùn)動(dòng)階段統(tǒng)計(jì)特征值、總體時(shí)間和行程、部分運(yùn)動(dòng)階段行程等特征參數(shù)。 2.2.3亞健康類型標(biāo)簽 亞健康類型標(biāo)簽生成方式如下:若區(qū)分健康與N種亞健康類型,輸入訓(xùn)練特征維度為M×N×featureNum,則其對(duì)應(yīng)亞健康類型標(biāo)簽維度為M×N。其中,M×N表示N種不同類型“亞健康”各M條數(shù)據(jù),featureNum表示一種亞健康類型特征維度。 健康及亞健康數(shù)據(jù)類型標(biāo)簽定義為:健康-0,對(duì)中異常-1,緩沖頭磨損-2,依此類推。 根據(jù)以上定義,對(duì)應(yīng)類型標(biāo)簽為{0,0,...,0,1,1,1,...,1,2,2,...,2,.....,i,i,......,i,N,N,......,N},其中,“i,i,...i”表示有M個(gè)i,每個(gè)數(shù)字對(duì)應(yīng)一種亞健康類型。 2.2.4模型參數(shù)篩選 隨機(jī)森林診斷亞健康的準(zhǔn)確率主要受診斷模型中的決策樹棵數(shù)、最大深度影響。設(shè)置決策樹棵數(shù)nEstimators上限值200,變化步長(zhǎng)為10;設(shè)置最大深度maxDepth上限值10,變化步長(zhǎng)為1,計(jì)算平均預(yù)測(cè)準(zhǔn)確率meanAcc,測(cè)試結(jié)果如圖3所示。 圖3 平均預(yù)測(cè)準(zhǔn)確率與決策樹棵數(shù)、最大深度關(guān)系圖 當(dāng)nEstimators=10,maxDepth=9,或nEstimators=40,maxDepth=4,亞健康診斷平均準(zhǔn)確率最高,為0.82。 根據(jù)以上模型測(cè)試結(jié)果,考慮模型復(fù)雜度越高,所需計(jì)算資源越多,選取模型訓(xùn)練參數(shù):決策樹棵數(shù)nEstimator=10,最大深度maxDepth=9,其他的為默認(rèn)值。以此參數(shù)訓(xùn)練得到最優(yōu)模型,序列化后,存儲(chǔ)到本地文本之中,在數(shù)據(jù)庫(kù)存文本名稱,用于在線診斷的時(shí)候加載調(diào)用。 系統(tǒng)會(huì)對(duì)原始數(shù)據(jù)作初步過(guò)濾,以滿足計(jì)算要求。首先,根據(jù)過(guò)濾后數(shù)據(jù)提取特征,在線診斷的特征提取方式與離線建模時(shí)一致,否則會(huì)造成模型不適用;然后,獲取系統(tǒng)配置的診斷模型,調(diào)用模型診斷門亞健康狀態(tài);接下來(lái),對(duì)診斷結(jié)果作進(jìn)一步處理,根據(jù)模型診斷出的亞健康類型可能有多個(gè),選取置信度最高的或者達(dá)到置信度閾值的作為結(jié)果輸出;最后,依策略推送預(yù)警信息。 基于隨機(jī)森林的軌道車輛門亞健康診斷系統(tǒng)軟件部署在測(cè)試服務(wù)器上試運(yùn)行,以濟(jì)南地鐵公司正線運(yùn)行車輛門作為診斷對(duì)象。配置門基本信息和診斷模型信息,將門與系統(tǒng)診斷算法綁定。配置成功后,系統(tǒng)接收門正線運(yùn)行數(shù)據(jù)。每天定時(shí)計(jì)算一天運(yùn)行數(shù)據(jù),診斷門亞健康狀況。 系統(tǒng)上線運(yùn)行一段時(shí)間后,診斷結(jié)果整理如表1所示。由表可見,基于隨機(jī)森林的軌道車輛門亞健康診斷模型對(duì)于對(duì)中異常、緩沖頭磨損、V型異常等亞健康類型有較高識(shí)別率。 表1 系統(tǒng)上線一段時(shí)間后的診斷結(jié)果 正線運(yùn)行預(yù)警信息推送情況如圖4所示。經(jīng)現(xiàn)場(chǎng)檢查反饋,預(yù)警情況屬實(shí)。由此證明,該軌道車輛門亞健康診斷系統(tǒng)可成功診斷出地鐵車輛門亞健康狀況。 圖4 Web界面推送預(yù)警信息 該亞健康診斷方法具有通用性和易擴(kuò)展性。除地鐵車輛門以外,對(duì)于其他類型軌道門系統(tǒng),可根據(jù)門類型及其特點(diǎn)重新設(shè)計(jì)亞健康試驗(yàn),得到試驗(yàn)數(shù)據(jù);系統(tǒng)將利用試驗(yàn)數(shù)據(jù)自動(dòng)進(jìn)行離線建模,得到亞健康診斷模型。隨著運(yùn)營(yíng)數(shù)據(jù)累積,亞健康診斷規(guī)則庫(kù)將日趨完善,如置信度閾值、預(yù)警閾值等參數(shù)的設(shè)置將更加符合實(shí)際運(yùn)行情況,診斷準(zhǔn)確率也會(huì)逐步提高。 對(duì)運(yùn)營(yíng)地鐵車輛門的亞健康診斷采用了一種基于隨機(jī)森林的軌道車輛門亞健康診斷方法,相比于單一分類方法,隨機(jī)森林方法具有更強(qiáng)的數(shù)據(jù)挖掘能力和更理想的分類效果。試驗(yàn)結(jié)果表明,當(dāng)決策樹棵數(shù)為10,最大深度為9時(shí),平均準(zhǔn)確率達(dá)90%左右。隨著地鐵運(yùn)營(yíng)數(shù)據(jù)的豐富,通過(guò)該方法建立的亞健康診斷規(guī)則庫(kù)將更加完善,診斷準(zhǔn)確率也會(huì)逐步提升。另外,在正線試運(yùn)營(yíng)一段時(shí)間后,基于該方法設(shè)計(jì)實(shí)現(xiàn)的系統(tǒng)能成功診斷出車輛門的亞健康狀態(tài),并推送出預(yù)警信息,用于指導(dǎo)地鐵運(yùn)維工作,這對(duì)于減少運(yùn)維人力成本、降低運(yùn)維工作量、提高地鐵運(yùn)營(yíng)的安全性具有實(shí)際意義。1.2 系統(tǒng)軟件總體架構(gòu)
2 亞健康診斷核心模塊實(shí)現(xiàn)
2.1 核心模塊實(shí)現(xiàn)總體方案
2.2 離線建模
2.3 在線診斷
3 系統(tǒng)驗(yàn)證及結(jié)果分析
4 結(jié)束語(yǔ)