付文秀,周曉勇,李弘揚,郭 毅
(1.北京交通大學(xué) 電子信息工程學(xué)院,北京 100044;2.中鐵通信信號勘測設(shè)計院有限公司,北京 100071)
列車車載ATC 設(shè)備是控制列車運行安全與效率的核心設(shè)備.若列車車載ATC 設(shè)備發(fā)生故障,將極大的影響列車的運行效率.因此,及時診斷出列車車載ATC 設(shè)備的故障,成為了研究重點.
故障診斷通常可以分為三類,即建立分析模型診斷方法、專家經(jīng)驗診斷方法以及智能數(shù)據(jù)驅(qū)動診斷方法[1].盡管故障診斷方法多種多樣,但是,將合適的故障診斷技術(shù)應(yīng)用于列車車載ATC 設(shè)備的故障診斷顯得更具有實際意義[2-3].由于車載設(shè)備結(jié)構(gòu)的復(fù)雜性不利于構(gòu)建具體的數(shù)學(xué)分析模型,專家經(jīng)驗診斷方法以及智能數(shù)據(jù)驅(qū)動診斷方法在車載設(shè)備故障診斷中應(yīng)用較為廣泛.
文獻[4-5]根據(jù)實際維護中的專家經(jīng)驗分別對CTCS2-200C 車型和CTCS3-300T 車型上的列控車載BTM 設(shè)備故障數(shù)據(jù)進行了分析.文中闡述了車載BTM 設(shè)備常見的故障現(xiàn)象,并分析了故障原因,得出對BTM 設(shè)備故障的處理意見與預(yù)防措施.但是,專家知識依靠人工經(jīng)驗,存在覆蓋面不完全的風(fēng)險.
文獻[6]將地鐵車載ATP 設(shè)備作為研究對象,結(jié)合故障數(shù)據(jù)統(tǒng)計結(jié)果與SA-BP(Simulate Anneal-Back Propagation)神經(jīng)網(wǎng)絡(luò),建立故障診斷模型,并進行了模型驗證.文中對車載ATP 設(shè)備的故障診斷進行了研究,但是只考慮了緊急制動情況下的ATP 故障,故障現(xiàn)象考慮比較單一.文獻[7]將車載設(shè)備故障診斷問題轉(zhuǎn)化為了數(shù)學(xué)問題,利用小波網(wǎng)絡(luò)對BP 神經(jīng)網(wǎng)絡(luò)進行了優(yōu)化,但是優(yōu)化之后的BP 神經(jīng)網(wǎng)絡(luò)存在局限性,僅解決了13 號線地鐵車載設(shè)備的故障診斷預(yù)測問題.
一個問題的復(fù)雜度與輸入樣本的數(shù)量和維度均相關(guān),多特征問題本身樣本維度較大,若樣本數(shù)量過大,計算將更加復(fù)雜.車載ATC 設(shè)備結(jié)構(gòu)復(fù)雜,子設(shè)備眾多,故障特征多樣化.支持向量機SVM 是一種先進的小樣本學(xué)習(xí)方法,計算的復(fù)雜性主要取決于支持向量的數(shù)量.因此,根據(jù)SVM的這一特點,尋找車載ATC 設(shè)備故障樣本中的支持向量,并利用支持向量對樣本進行分類診斷.
根據(jù)車載ATC 設(shè)備的故障特點以及SVM 的優(yōu)勢,本文作者采用了一種基于粒子群算法改進的支持向量機(PSO-SVM)故障診斷算法.基本思路是:通過對車載ATC 設(shè)備的歷史故障記錄表進行分析,根據(jù)專家經(jīng)驗得到歷史故障數(shù)據(jù)集,利用粗糙集理論對故障數(shù)據(jù)特征集進行約簡,得到約簡屬性集;通過訓(xùn)練集,對PSO-SVM 進行訓(xùn)練,建立故障診斷模型;最后,利用廣州某地鐵線路車載ATC 設(shè)備故障歷史數(shù)據(jù),對模型進行驗證分析.
地鐵車載ATC 設(shè)備子模塊眾多,需要較高的安全性. 設(shè)備主要由列車自動駕駛系統(tǒng)(Automatic Train Control,ATO)、列車自動防護 系 統(tǒng)(Automatic Train Protection,ATP)、列車接口單元(Train Interface Unit,TIU)、列 車 無 線 單 元(Train Radio Unit,TRU)、應(yīng) 答 器 收 發(fā) 模 塊(Balise Transceiver Module,BTM)、本地通信單元(Local Communication Unit,LCU)、光脈沖測速傳感器(Optical Pulse Generator,OPG)等組成,結(jié)構(gòu)如圖1 所示.
圖1 地鐵車載ATC 設(shè)備結(jié)構(gòu)Fig.1 Structure of ATC equipment on subway vehicle
分類問題一直是機器學(xué)習(xí)研究中的熱點問題之一,支持向量機作為強分類器,相比其他的機器學(xué)習(xí)方法,具有較多的優(yōu)勢.支持向量機的目標(biāo)是解決一個凸二次規(guī)劃的問題,并且得到的該二次規(guī)劃問題的解一定是唯一的解.支持向量機是通過最大化兩個不同類之間的間隔,求出最佳超平面的模型,是基于結(jié)構(gòu)最小化模型,而不是經(jīng)驗風(fēng)險最小化模型[8].
粗糙集理論是處理模糊和不確定問題的數(shù)學(xué)工具[9].利用粗糙集理論對原數(shù)據(jù)樣本進行屬性約簡,可以不改變原有樣本的分類能力,并且有效的減少了故障診斷的時間,提高了故障診斷的能力.
從數(shù)學(xué)角度看,粗糙集的研究對象是一個集合,可以表示為一個四元組:IS={U,A,V,f},其中U代表論域,即研究對象集合;A是條件屬性C與決策屬性D的交集,即A=CD;V是屬性值A(chǔ)的值域集合;f表示論域中的每個對象與其屬性的映射關(guān)系.假設(shè)任取B?A,E?A,當(dāng)U/IND(B)=U/IND(B-E)仍成立時,則E為冗余屬性,可以被約簡,而最大集合B與U存在不可辨識關(guān)系(等價關(guān)系).由此,可以使用約簡后的最大集合B作為研究對象.
當(dāng)前,列車車載ATC 設(shè)備的故障主要由現(xiàn)場工班維修人員記錄在設(shè)備檢修記錄表中,最后這些記錄被匯總到歷史故障記錄表中.分析廣州某線2017—2018 年的故障數(shù)據(jù),統(tǒng)計歸納出車載ATC 故障如圖2所示.
圖2 2017—2018 年數(shù)據(jù)統(tǒng)計信息Fig.2 Data statistics in 2017—2018
本文只研究車載ATC 設(shè)備信號設(shè)備的故障,不研究非信號類故障.因此,可以構(gòu)建故障類型表如表1所示.
表1 故障類型Tab.1 Fault types
現(xiàn)場匯總的歷史故障數(shù)據(jù)表,雖然沒有統(tǒng)一的格式,但是依舊存在一些共有的特征詞匯可以辨別.以2017 年5 月24 日故障信息為例,其內(nèi)容為:“列車回廠后下載數(shù)據(jù)查看ATP-S 系處于脫機狀態(tài),檢查27 車ATP-S 系 的ATP-IO 板狀態(tài),發(fā)現(xiàn)ATP-IO 板燈位顯示異常,判斷為ATP-IO 板故障,更換后恢復(fù)正常.”其中,“ATP-IO 板狀態(tài)”為該文本的關(guān)鍵詞匯,選取該詞匯為特征詞匯.按照此方法,分析404 條文本信息,可以構(gòu)成特征詞匯表,如表2 所示.
表2 故障特征詞匯Tab.2 Fault feature glossary
從歷史故障數(shù)據(jù)記錄表中提取出的特征詞匯表只能反應(yīng)該特征詞匯在記錄表中的出現(xiàn)頻率較大,但是不能體現(xiàn)該詞匯在記錄表中的重要程度,且不能區(qū)分相近詞匯,因此使用詞語逆頻率(Term Frequency-Inverse Word Frequency,TF-IWF)方法表征詞匯在記錄表中的權(quán)重大?。?0-11],即重要程度.
式 中:TFi,t表示 詞 語i在文本t中的頻 率;IWFi表 示詞語i在整個詞匯庫中的頻率倒數(shù)取對數(shù),表示區(qū)分程度,出現(xiàn)次數(shù)越少,區(qū)分程度越高;ni,t為詞語i在文本t中出現(xiàn)的次數(shù);∑k nk,t為所有詞語的次數(shù)之和;∑i=1m wi為所選詞語出現(xiàn)的次數(shù)之和;wi為詞語i在所選詞語中出現(xiàn)的次數(shù).
作為示例,使用“ATP-IO 板狀態(tài)”特征詞匯進行計算,根據(jù)上述文本,ATP-IO 板狀態(tài)在上文中出現(xiàn)1 次,文本共有詞匯23 個,分詞技術(shù)得到的所有文本詞匯總數(shù)為14 544 個,總文本中該詞匯出現(xiàn)次數(shù)為13 次.因此,代入式(1),可以得到“ATP-IO 板狀態(tài)”的權(quán)重為0.305 1,為了后續(xù)粗糙集的處理,本文采用倍乘的方法得到倍乘后的權(quán)重為0.610 2,得到權(quán)值決策表,如表3 所示.
表3 故障屬性決策表(a)Tab.3 Fault attribute decision table (a)
表3 故障屬性決策表(b)Tab.3 Fault attribute decision table (b)
表3 故障屬性決策表(c)Tab.3 Fault attribute decision table (c)
粗糙集處理離散型屬性,因此需要對故障屬性決策表進行離散化處理.將重要度分為兩個等級,分別為0 和1,采用四舍五入的方法將決策表離散化,構(gòu)建離散權(quán)重表,如表4 所示.
以故障數(shù)較少的TIU 故障說明屬性約簡方法.根據(jù)TF-IWF 方法可以得到的TIU 故障的權(quán)重矩陣為
矩陣中,行代表文本,列代表不同的特征詞匯.將信息相同的對象刪除,由此得到壓縮后的信息矩陣.
表4 離散化故障屬性決策表Tab.4 Discretized fault attribute decision table
據(jù)此,刪除冗余屬性得到如下矩陣
代入屬性項,得到最小約簡矩陣
因此可以將TIU 故障的屬性約簡為{F1,F(xiàn)14},依此辦法,可以得到各故障類型的屬性約簡如表5 所示.
表5 屬性約簡結(jié)果Tab.5 Attribute reduction results
對約簡屬性取并集,表2 的屬性約簡結(jié)果為{日志中斷,等級切換,BTM 緊制,位置緊制,ATO緊制,聯(lián)鎖緊制,ATP-IO 板狀態(tài),OPG 速度異常,雷達速度異常,SRP 切換,BTM 切換,主從系切換,SRP 錯誤,LCU 錯 誤,ATO 激 活,空轉(zhuǎn)打 滑,OPG 通道異常,雷達通道異常,天線強度異常,ATO 通信異常,速度傳感器供電故障,測速雷達供電故障,LCU 供電故障,BTM 供電故障}.通過粗糙集約簡,將原有的29 個特征詞匯約簡為24 個,減少了冗余輸入量.同時,屬性決策表,其中包含了各屬性對故障類型的關(guān)聯(lián)關(guān)系,這些關(guān)聯(lián)關(guān)系表征了故障類型與各個故障特征之間的離散關(guān)系,與構(gòu)建數(shù)據(jù)集的方式類似.因此,本文使用生成的離散化后的決策屬性表可以作為后續(xù)模型訓(xùn)練的數(shù)據(jù)集.
構(gòu)建拉格朗日函數(shù),將最小化模型對偶化并選擇合適的核函數(shù)[12],模型轉(zhuǎn)化為
式中:γ為高斯徑向基參數(shù),是高斯核函數(shù)中的唯一參數(shù),其影響著樣本空間中的數(shù)據(jù)從低維到高維的映射效果,并最終影響故障診斷的效果.同時,懲罰系數(shù)C也影響著最終的診斷效果.因此,本文將粒子群算法應(yīng)用到尋找最優(yōu)的參數(shù)C和γ.將樣本代入SVM 的決策函數(shù),可以得到樣本的回歸估計值y?.因此,將粒子群算法的適應(yīng)度函數(shù)取為可以直接反應(yīng)SVM 性能的均方差
當(dāng)群體終止迭代之后,將種群最優(yōu)的位置映射到SVM 中的C和γ.
粒子群算法的尋優(yōu)具體流程如下:
1)初 始 化 粒 子 群(C,γ),確 定 群 體 規(guī) 模sizepop,給定算法最大迭代數(shù)pso_option.maxgen.
2)將每個粒子的個體極值local_fitness 設(shè)置為當(dāng)前位置,利用適應(yīng)度函數(shù)計算適應(yīng)度,取適應(yīng)度最好的local_fitness 作為全局極值global_fitness.
3)更新粒子的速度和位置.
式中:c1是自我學(xué)習(xí)因子;c2是社會學(xué)習(xí)因子;r1和r2為 隨 機 數(shù);xtid和vtid為 粒 子i在 第t次 迭 代 時d維的位置和速度;ω為慣性權(quán)重;ptid為粒子i在d維 的粒子個體極值位置;ptgd為種群在d維的全局極值位置.
4)評價每個粒子的適應(yīng)度.
5)將每個粒子的適應(yīng)度值與其local_fitness 做比較,若優(yōu)則更新.
6)將更新后的每個粒子的個體極值local_fitness 與global_fitness 比 較,若 優(yōu),則 更 新global_fitness,否則保留原值.
7)判斷是否滿足終止條件,若達到最大迭代次數(shù)或所得解不再變化,則終止迭代,否則繼續(xù)返回步驟3).
PSO 算法偽代碼如下:
因此,模型的整體構(gòu)建流程如圖3 所示.
從代碼中可以看出,c1和c2是粒子群算法的兩個重要參數(shù),它們的好壞決定了全局最優(yōu)解的好壞,分別使用3 種方式調(diào)節(jié)學(xué)習(xí)因子以優(yōu)化學(xué)習(xí)因子參數(shù).
圖3 PSO-SVM 模型流程圖Fig.3 Flowchart of PSO-SVM model
1)收縮學(xué)習(xí)因子
式中:φ為學(xué)習(xí)因子調(diào)節(jié)參數(shù);c為學(xué)習(xí)因子.
2)異步學(xué)習(xí)因子
式中:cstart,cend均為學(xué)習(xí)因子;T為設(shè)置的最大迭代次數(shù).
3)同步學(xué)習(xí)因子
式中:cmax,cmin分別為學(xué)習(xí)因子最大值和最小值.
本文研究的是多分類問題,對于多分類問題,每個分類標(biāo)簽都可以求出各自的準(zhǔn)確率,但是各自的準(zhǔn)確率不足以反應(yīng)全數(shù)據(jù)的分類情況,也就難以對比不同分類方法的優(yōu)劣.多分類問題的評價指標(biāo)一般可以采用宏平均法(Macro Average)和加權(quán)平均法(Weighted Average),宏平均法適用于各標(biāo)簽類數(shù)據(jù)均衡的情況,而加權(quán)平均則更適合數(shù)據(jù)非均衡分布的情況.根據(jù)本文多分類問題,以及數(shù)據(jù)分布的情況,本文采用加權(quán)平均法來評價模型的分類效果.
文獻[13]介紹了通過F1_score 求取加權(quán)平均的方法.公式為
式中:P為模型的精確率;R為模型的召回率.推出模型的加權(quán)平均為
式中:Fi為類別i對應(yīng)的F的值;Pi為該類別在模型正確的預(yù)測值中所占的比例;n為類別的總和.
為了體現(xiàn)本文建立的算法模型的穩(wěn)定性,使用各算法模型進行30 次試驗,根據(jù)概率論理論基礎(chǔ)中的平均值、極差、標(biāo)準(zhǔn)差等參數(shù),對試驗結(jié)果進行評估.
故障原始樣本集來源于廣州某地鐵線路車載ATC 設(shè)備故障歷史數(shù)據(jù),經(jīng)過數(shù)據(jù)挖掘,約簡樣本總數(shù)為404 條,其中故障特征為24 項,故障類型為8 項.模型選用70%的樣本作為訓(xùn)練集,30%的樣本作為測試集.本文先對粒子群算法中不同的學(xué)習(xí)因子進行評估,得出較為合理的調(diào)節(jié)方法,并得到最佳懲罰函數(shù)參數(shù)與高斯徑向基參數(shù);其次,對SVM、PS0-SVM、神經(jīng)網(wǎng)絡(luò)3 種模型分別進行30 次故障準(zhǔn)確率試驗并進行對比分析.
測試環(huán)境:處理器Intel Core i5,主頻2.3 GHz,電腦內(nèi)存4 GB,WINDOW10 x64 操作系統(tǒng),模型使用Matlab 矩陣實驗室軟件建立.
選取粒子群種群數(shù)量為20,最大終止迭代數(shù)為50,種群數(shù)量為20,分別選取合適的c1和c2的初始值,對不同的學(xué)習(xí)因子調(diào)節(jié)方式進行評估,如圖4所示.
同步學(xué)習(xí)因子調(diào)整方式,粒子收斂速度適中,適應(yīng)度較好,選用同步學(xué)習(xí)因子調(diào)整方式.迭代次數(shù)t=15,粒子群收斂,由公式可以計算出此時的最佳c1=c2=0.54,得出最佳適應(yīng)度下的最佳懲罰函數(shù)C=2,γ=0.5,并得出該次試驗中的加權(quán)平均故障準(zhǔn)確率為92.150 2%,如圖5 所示.
圖4 不同因子適應(yīng)度曲線Fig.4 Curves with different learning factor fitness
本文在確定PSO-SVM 的兩個最佳參數(shù)的基礎(chǔ)上,使用未約簡的數(shù)據(jù)集對SVM 模型進行訓(xùn)練,同時利用相同的約簡后的測試集和驗證集,分別對SVM、PSO-SVM 以及常見的神經(jīng)網(wǎng)絡(luò)模型進行了訓(xùn)練驗證,并使用加權(quán)平均故障準(zhǔn)確率進行對比評估,得到如圖6 所示結(jié)果.
由圖6 可知,使用約簡數(shù)據(jù)集訓(xùn)練SVM 模型的效果稍優(yōu)于使用未約簡數(shù)據(jù)集SVM 模型.同時使用約簡故障數(shù)據(jù)集,相較于SVM 算法,PSO-SVM 算法顯然在故障診斷準(zhǔn)確率上表現(xiàn)更加優(yōu)異,而神經(jīng)網(wǎng)絡(luò)與PSO-SVM 在數(shù)據(jù)顯示上相差不大.為進一步對比各模型的優(yōu)劣,對30 次試驗的故障診斷率數(shù)據(jù)分析,并使用TOC 函數(shù)記錄模型的訓(xùn)練測試時間,如表6 所示.
圖5 SVM 參數(shù)選擇結(jié)果(等高線圖)Fig.5 SVM parameter selection results
表6 模型試驗結(jié)果數(shù)據(jù)分析Tab.6 Data analysis of model test resuls
圖6 加權(quán)平均故障率結(jié)果Fig.6 Weighted average failure rate result
由表6 可以看出,數(shù)據(jù)約簡對模型的準(zhǔn)確率略有提高,但提高幅度較小,但是在訓(xùn)練測試時間上,使用約簡后的數(shù)據(jù)集優(yōu)勢更大.同時,改進后的SVM 算法模型對故障診斷的效果有了較大的提高,多次試驗后的極差與標(biāo)準(zhǔn)差要小于神經(jīng)網(wǎng)絡(luò)模型,說明穩(wěn)定性方面優(yōu)于神經(jīng)網(wǎng)絡(luò)模型.
由此,驗證了本文利用PSO 對SVM 算法改進的可行性與有效性.
1)采用了一種基于改進粗糙集理論和PSO 算法優(yōu)化SVM 模型的地鐵列車車載ATC 設(shè)備的故障診斷方法,分別對3 種PSO 算法的學(xué)習(xí)因子調(diào)節(jié)方式進行評估,并得出最佳的SVM 模型參數(shù),最后使用未約簡的數(shù)據(jù)集對SVM 模型進行訓(xùn)練與測試,同時使用約簡后的故障數(shù)據(jù)集對SVM、PSO-SVM 和神經(jīng)網(wǎng)絡(luò)模型行訓(xùn)練與測試.
2)由測試結(jié)果可以得出:約簡后的數(shù)據(jù)集可以提高故障診斷的準(zhǔn)確率以及提高模型訓(xùn)練的效率.相較于其他的模型,本文使用的PS0-SVM 模型對原有模型進行了優(yōu)化處理,并且相較于神經(jīng)網(wǎng)絡(luò)模型,PSO-SVM 模型得出的故障診斷準(zhǔn)確率高,故障診斷的穩(wěn)定性也更加好,在地鐵列車車載ATC 設(shè)備的故障診斷中有一定的借鑒意義.