上官偉,袁亞輝,王 劍,胡福威
(1.北京交通大學 電子信息工程學院,北京 100044;2.北京交通大學 軌道交通控制與安全國家重點實驗室,北京 100044)
高速鐵路以其特有的快捷性與舒適性,得到大眾的普遍認可。進一步提高列控系統(tǒng)的可靠度對于保證高速鐵路長時間無故障運行以及改善旅客的滿意度具有重要意義。車載設備的可靠度直接影響整個列控系統(tǒng)的可靠度,是列控系統(tǒng)的核心組成部分。車載設備的正常運行,對于確保鐵路運輸有序進行具有重要意義。在列車運行過程中,車載設備一旦發(fā)生故障,不僅會影響運輸效率,嚴重時還會導致人員傷亡。車載設備的故障日志數(shù)據(jù)記錄了車載設備的運行情況,專業(yè)技術(shù)人員據(jù)此可以得到車載設備所發(fā)生故障的具體類型,但此方法嚴重依賴現(xiàn)場的經(jīng)驗知識。不同廠家的車載設備對于故障數(shù)據(jù)的記錄各不相同,再加上誘發(fā)車載設備故障的因素也多種多樣,這給技術(shù)人員準確診斷出車載設備所發(fā)生的具體故障類型帶來了挑戰(zhàn)。因此,進一步研究車載設備的故障診斷算法對于降低故障分析人員的技術(shù)門檻,實現(xiàn)車載設備故障的及時檢修與維護,提高高鐵運行的安全性意義重大。
故障診斷是利用有效的手段檢測系統(tǒng)是否有故障發(fā)生,并進一步確認故障發(fā)生的位置和類型等。針對研究的對象和診斷方式的不同,故障診斷方法可以分為以下三類:基于經(jīng)驗知識的方法、基于解析模型的方法和基于數(shù)據(jù)驅(qū)動的方法[1-2]。針對列控系統(tǒng)的復雜性和實時性,文獻[3]采用貝葉斯網(wǎng)絡模擬列控系統(tǒng)的結(jié)構(gòu),以此為基礎(chǔ)提出了列控系統(tǒng)的故障診斷和維修方法。文獻[4]針對車載設備故障數(shù)據(jù)中含有的冗余信息,引入粗糙集算法,在一定程度上剔除了故障數(shù)據(jù)的重復屬性,采用專家知識與解析模型結(jié)合的故障診斷方法對車載設備進行故障診斷。文獻[5]將模糊理論引入故障診斷中,建立了基于模糊理論和貝葉斯推理的故障診斷模型。
傳統(tǒng)的故障診斷方法針對不同型號的車載設備適應性差,為了提高故障診斷算法的適應性,直接分析具體型號的車載設備記錄的故障數(shù)據(jù),利用數(shù)據(jù)挖掘的方法識別車載設備的故障類型已成為一個新的研究方向。主題模型對于文本語義提取方面具有特有優(yōu)勢,文獻[6]提出了基于主題模型和支持向量機的故障診斷方法,相比傳統(tǒng)的缺乏先驗知識的文本挖掘故障診斷方法有較大改善。文獻[7]將主題模型引入車載設備的故障診斷中,但是未考慮鐵路領(lǐng)域先驗知識的影響,其實用性亟需改善。文獻[8]分析列控系統(tǒng)的結(jié)構(gòu),研究系統(tǒng)不同部分之間的信息流向。在此基礎(chǔ)上進一步分析系統(tǒng)日志文件構(gòu)建知識庫,結(jié)合現(xiàn)場實際情況實現(xiàn)了列控系統(tǒng)的故障診斷。
本文采用主題模型(Topic Models)實現(xiàn)對日志數(shù)據(jù)的語義特征提取。主題模型是一種無監(jiān)督機器學習模型,能夠有效挖掘文檔中的主題之間的相互聯(lián)系。文獻[9]利用LDA模型解決了文本聚類問題,并采用F-measure值評估聚類效果。文獻[10]利用WNTM模型對維基百科的數(shù)據(jù)信息進行話題分析,從中抽取主題,進而實現(xiàn)按照主題對文本的分類。文獻[11-13]在處理文本分類問題時,也引入主題模型并達到了預期效果。主題模型能夠有效提取文本的語義信息,挖掘文檔和詞項之間的潛在語義關(guān)聯(lián)信息[14]。
本文通過對300T車載日志的特點進行分析,采用改進的LDA模型構(gòu)建特征向量空間,實現(xiàn)日志文本數(shù)據(jù)的特征提??;由于樣本日志數(shù)據(jù)的不均衡分布,采用粒子群優(yōu)化算法對SVM的分類參數(shù)進行優(yōu)化,用以改善分類器的診斷性能。以300T車載設備為分析對象,以300T車載日志為故障診斷樣本數(shù)據(jù),最終實現(xiàn)對車載設備的故障診斷。車載設備的結(jié)構(gòu)組成如圖1所示。
圖1 車載設備結(jié)構(gòu)組成
常見的車載設備類型有300T、300S、300H、200H、200C、C3D六種,其中300T的故障數(shù)據(jù)是以txt形式存儲,可讀性較強且易于分析。
為了較為清晰地對車載設備進行分類診斷,參考高鐵技術(shù)人員培訓教材,并結(jié)合專家的經(jīng)驗知識,車載設備的故障類型被劃分為兩個等級。一級故障的故障類型主要是構(gòu)成車載設備的某一模塊發(fā)生故障的集合,較為籠統(tǒng);二級故障在一級故障的基礎(chǔ)上更為具體地定位到單個的故障種類。車載設備常見故障等級劃分如圖2所示。
圖2 車載設備常見故障等級劃分
300T車載日志數(shù)據(jù)能夠有效記錄系統(tǒng)運行的狀態(tài),系統(tǒng)的正常啟機過程以及故障狀態(tài)均會以特定的語句記錄在一塊非易失存儲區(qū)中。Tracing Log和AE Log均可從該儲存區(qū)中使用相應的命令導出。Log文件的記錄采用堆棧的方式,最先發(fā)生的事件記錄在文件末端。因此,在閱讀日志文件時,需注意文檔的閱讀順序。
日志數(shù)據(jù)是以txt文檔的形式進行存儲的,在對Log數(shù)據(jù)進行分析時,需要從系統(tǒng)的啟機語句開始分析,即“Initialised and Started”之后向上查詢車載設備的運行狀態(tài)變化,分析車載設備的故障類型及發(fā)生時間。但是在分析故障類型時需要一個長時間經(jīng)驗的積累,因此,本文在后續(xù)的故障診斷中將結(jié)合專家經(jīng)驗進行分析診斷。為了較為清晰地說明日志數(shù)據(jù)的內(nèi)容,表1列舉了車載設備中部分故障類型的相關(guān)故障語句。
表1 故障語句實例
本文以300T車載設備的2015全年和2016年上半年數(shù)據(jù)作為樣本數(shù)據(jù)。通過統(tǒng)計樣本數(shù)據(jù)各種故障類型的數(shù)目發(fā)現(xiàn),車載設備在不同的故障模式之間具有明顯的不均衡性。具體的故障類型所占比例見表2、表3。
表2 一級故障類型及樣本比例 %
表3 二級故障類型及樣本比例 %
表3(續(xù))
通過表2可以得出,無線通信故障和繼電器相關(guān)故障占據(jù)的比例較大,屬于大類別故障;相對的其他幾種故障類型比例較小,屬于小類別故障。其中,F(xiàn)Ⅰ-1和FⅠ-7的樣本比例接近10∶1;而FⅡ-1和FⅡ-14的樣本比例接近18∶1。在進行診斷分類時,這種樣本分布的不均衡性易將小類別的樣本錯誤地診斷為大類別的故障類型,雖然診斷結(jié)果對于整體的準確率影響較小,但是對于分類器的分類性能是不可忽視的缺陷。
Labeled-LDA以LDA模型為基礎(chǔ),在介紹Labeled-LDA(LLDA)模型之前,需要先了解LDA模型。
LDA是一種典型的語義分析模型。它認為一篇文檔往往包含不止一個主題,文檔中的每一個詞均由特定的主題生成。文檔到主題,主題到詞項均服從多項式分布。LDA模型的概率圖模型如圖3所示。
圖3 LDA概率圖模型
LDA模型中生成一篇文檔的方法如下:對Dirichlet分布α進行取樣,即可得到文檔i的主題分布θi;對主題分布θi取樣,得到第i個文檔中第j個詞項的主題zi,j;對Dirichlet分布β取樣,生成第i個文檔第j個主題的詞語分布φzi,j;對φzi,j采樣生成詞項wi,j[15]。
LDA概率圖模型中,已知參數(shù)為先驗分布α和β,待求參數(shù)為文檔主題和主題詞項的分布即z和w,可以使用吉布斯采樣估計LDA參數(shù)。具體過程如下[15]:
p(zi=k|z,w)=
(1)
當Gibbs采樣過程收斂時,可輸出文檔-主題矩陣θ和主題-詞項參數(shù)矩陣φ。
(2)
(3)
式中:θm,k為文檔m中主題k的概率;φk,t為文檔m中被分配到主題k的詞項個數(shù)。
Labeled-LDA模型是一種改進的LDA模型,與LDA模型的區(qū)別在于,Labeled-LDA通過添加文本標簽信息實現(xiàn)了標簽與主題之間的映射關(guān)系。從圖4能夠明顯看出LDA與LLDA之間的區(qū)別。
圖4 LLDA概率圖模型
LLDA的采樣公式為
(4)
(5)
在已知LLDA模型的參數(shù)時,處理新的文本可采用吉布斯采樣得到收斂后的文檔主題分布為
(6)
盡管利用主題模型分析文本自動化程度較高,但其作為一種無監(jiān)督的機器學習算法,在提取信息的過程中仍然具有一定的盲目性,因此提出了改進的LLDA模型用于提取文本的故障特征。
為了使主題模型更好地應用到300T的故障數(shù)據(jù)分析中,先驗知識被應用到特征提取過程。根據(jù)已知的車載設備常見的故障個數(shù),預先設置文檔的主題個數(shù)。將故障主題與現(xiàn)場技術(shù)人員的經(jīng)驗結(jié)合起來,構(gòu)建故障特征詞庫,進一步簡化提取文檔主題的過程。不同的特征詞項與主題關(guān)聯(lián)的程度各不相同,使用卡方統(tǒng)計度量不同特征詞項與主題關(guān)聯(lián)的強弱,公式如下
(7)
詞項主題關(guān)聯(lián)矩陣歸一化后能夠更加清晰地顯示出每一個詞項與主題之間的關(guān)聯(lián)程度,初始化公式為
(8)
式(4)和式(5)可更新為
p(zi=j|z)=
(9)
(10)
基于改進的LLDA模型提取故障文本特征的流程如圖5所示。
圖5 LDA模型特征提取流程
支持向量機是在分類與回歸分析中應用較為廣泛的一種分類器方法。SVM模型將實例映射為空間中的點,能夠有效地以明顯的間隔將不同類別的實例區(qū)分出來。SVM不僅能夠有效處理線性分類問題,也可以引入核函數(shù)方便地進行非線性分類。以二分類為例,分類平面如圖6所示。
圖6 SVM線性分類示意
其中,分類決策函數(shù)為
f(x)=ωTx+b
(11)
為了優(yōu)化分類效果,可依據(jù)最大化分類間隔得到最優(yōu)分類平面。
s.t.yi(ωTxi+b)≥1i=1,…,n
(12)
為了求解式(12),引入拉格朗日對偶性
(13)
由于在實際情況中,存在一些偏離決策平面的數(shù)據(jù)點,引入松弛變量ξi。因此式(13)可變換為
(14)
式中:C為懲罰因子,用于約束松弛變量。
對式(14)求偏導,整理后得到
(15)
s.t. 0≤ai≤Ci=1,…,n
(16)
為了獲取向量a的值,引入序列最小最優(yōu)化算法[16]SMO(Sequential Minimal Optimization),已知a可求得ω的值。根據(jù)式(17)求出b。
(17)
將數(shù)據(jù)點映射到高緯度空間,能夠解決非線性不可分的情況,從而實現(xiàn)數(shù)據(jù)分類。但是,非線性映射會使得計算量大幅度增加。而在支持向量機中引入核函數(shù)的概念,則能夠有效減少計算量。本文采用高斯核函數(shù)將其輸入隱式映射到高緯度空間中,有效地進行非線性分類。
上述算法描述是針對二分類的情況,在現(xiàn)實生活中,大部分情況下數(shù)據(jù)點的類別多于兩個。目前,SVM算法實現(xiàn)多分類方法的方式主要有兩種:一對多方式和一對一方式。
在分類器的設計過程中,一個好的評價分類器性能的指標,既利于對模型的優(yōu)化又可以直觀說明分類器分類效果的優(yōu)劣?;煜仃嚹軌蛞钥梢暬男问秸宫F(xiàn)分類的好壞程度。矩陣中的每一行代表了預測類別,每一列代表數(shù)據(jù)的真實歸屬類別。
準確率這一指標常被用來評價分類器的性能。準確率代表正確預測的樣本數(shù)占預測總樣本數(shù)的百分比。但是,當樣本數(shù)據(jù)不同類別的比例存在較大差異時,準確率并不能全面反映分類器分類效果的好壞。這是因為小比例類別的樣本易被誤歸類為大類別樣本,但由于小比例樣本數(shù)據(jù)較少,即使小類別樣本的分類效果較差,分類器整體的準確率依然會很高。為了彌補準確率這一指標的缺陷,特引入F-measure作為評估指標,從而更加全面地評價分類器的優(yōu)劣。
已知精確率Precison和召回率Recall可以計算出F-measure。精確率是指正確識別的個體總數(shù)占據(jù)識別出的個體總數(shù)的百分比。精確率能夠直觀表示預測類別中準確預測樣本所占的比例。
P=Precision=TP/(TP+FP)
(18)
式中:TP為實際正類被預測為正類的個數(shù);FP為實際負類被預測為正類的個數(shù)。
召回率是指正確識別的個體總數(shù)占據(jù)測試集中存在個體總數(shù)的百分比。
R=Recall=TP/(TP+FN)
(19)
式中:FN為正類被預測為負類的個數(shù)。
單獨考慮每一故障類別的分類效果時,Precision和Recall有時會出現(xiàn)矛盾的情況;F-measure是Precision和Recall的加權(quán)調(diào)和平均,能夠有效解決這一矛盾。F-measure的表達式為
(20)
式中:當參數(shù)μ=1時,就是常見的F1-measure,即
(21)
利用改進的LLDA模型提取日志文本特征后,采用SVM算法作為分類器,以詞頻方法WF(Word Frequency)和卡方統(tǒng)計CHI作為改進LLDA模型的比對算法進行仿真。
對比圖7~圖9可以發(fā)現(xiàn),小類別樣本數(shù)據(jù)的診斷結(jié)果出錯的較多,并且在分類器一致的情況下,改進的LLDA模型的診斷準確率最高;同時,由于樣本分布的不均衡性,可以發(fā)現(xiàn),在診斷分類過程中小類別樣本易被誤診斷為大類別樣本。在三種算法的混淆矩陣中,可以發(fā)現(xiàn)被錯誤分類的樣本傾向于診斷為F1和F6兩種類別。
(a)測試集的實際分類和預測分類
(b)混淆矩陣
(a)測試集的實際分類和預測分類
(b)混淆矩陣
(a)測試集的實際分類和預測分類
(b)混淆矩陣
為了更加準確且全面地評價三種特征空間的診斷結(jié)果,采用Precision和F-measure作為評估指標,圖10直觀地表示出了三種特征空間之間的差異。
(a)Precision對比
(b)F-measure對比
通過兩種評估指標的對比,可以發(fā)現(xiàn),相比于WF和CHI兩種特征空間,改進的LLDA模型的診斷效果最優(yōu),并且對于小類別樣本的診斷精度也具有一定的改善效果。
通過表2和表3可以發(fā)現(xiàn),樣本數(shù)據(jù)的分布具有明顯的不均衡性。為了使樣本數(shù)據(jù)的這一特點盡可能小地影響分類器的精度,一般可以從數(shù)據(jù)處理層面和算法改進層面解決這一問題。數(shù)據(jù)層面一般采用過采樣、欠采樣的方式進行處理;算法層面則采用引入代價敏感矩陣,構(gòu)建集成分類器等方式進行處理。文獻[17]對不平衡文本數(shù)據(jù)采用SMOTE過采樣技術(shù)實現(xiàn)故障少數(shù)類別樣本的自動生成,提高了分類效果。文獻[18]提出的數(shù)據(jù)流滑動窗口方式下的自適應集成分類算法,有效解決了傳統(tǒng)算法中數(shù)據(jù)塊大小影響分類效果的問題。
本文以SVM為基分類器,采用粒子群算法優(yōu)化分類參數(shù)的方式完成對不均衡數(shù)據(jù)的診斷分類。
粒子群優(yōu)化算法是Eberhart和Kennedy受鳥群捕食行為的啟發(fā),對這一行為深入研究后結(jié)合群體智能提出的一種優(yōu)化算法。該算法利用群體中個體之間的信息交互與合作,使得群體能夠以更快收斂速度移動到最優(yōu)區(qū)域。
PSO將每個個體視為一個“粒子”,該粒子無體積且認為所有的粒子均在同一個D維搜索空間中進行搜索。在每一次的迭代過程中,粒子通過追蹤兩個最優(yōu)解來更新自身。其中一個是粒子本身尋得的最優(yōu)解pbest,另一個就是這個群體中目前搜索到的最優(yōu)gbest。這些粒子以一定的速度飛行,此速度決定了粒子飛行的距離和方向。粒子速度的值不但取決于自身的飛行經(jīng)驗,還受同伴飛行經(jīng)驗的影響,粒子在飛行過程中的速度根據(jù)實際情況實時更新。粒子i的速度用Vi=[vi1vi2…vin]表示。1998年,Shi和Eberhart[19]在論文中首次引入慣性權(quán)重的概念用于改善算法的收斂性能。最初的粒子群優(yōu)化算法的迭代公式如下。
速度向量中第i個分量的迭代公式為
vk+1,i=qvk,i+c1r1(pbestk,i-xk,i)+
c2r2(gbestk-xk,i)
(22)
位置向量中第i個分量的迭代公式為
xk+1,i=xk,i+vk,i
(23)
式中:q為慣性權(quán)重;c1和c2是加速常數(shù);r1和r2在[0,1]區(qū)間內(nèi)隨機取值。
SVM的參數(shù)優(yōu)化具體實現(xiàn)流程如圖11所示。
圖11 SVM優(yōu)化算法流程
本文利用動車段2015年全年和2016年上半年總計552條故障數(shù)據(jù)進行故障診斷仿真。故障數(shù)據(jù)被劃分為訓練集和測試集,其中訓練集占70%,測試集占30%。日志數(shù)據(jù)的診斷分類是通過逐級診斷的方式完成的。日志文本進行一級故障診斷后,將診斷結(jié)果以向量的形式與日志表征向量進行串聯(lián)融合,得到表示日志數(shù)據(jù)的融合特征空間向量,其中日志表征向量是數(shù)字化表示的文本向量,表征不同主題的詞項在該文本中的分布情況,若該詞項出現(xiàn),則向量對應位置置1,否則為0,其維數(shù)等于不同主題所包含的相關(guān)詞項數(shù)量。采用粒子群優(yōu)化后的SVM分類器對融合的特征空間向量進行診斷分類,在進行多分類仿真時,采用臺灣大學林智仁等開發(fā)的LIBSVM工具箱[20],采用一對一的分類策略。將分類器的分類結(jié)果與測試集中已知的故障類別進行對比,得到診斷樣本的診斷精度。
4.3.1 一級故障診斷仿真分析
為了說明PSO-SVM算法的有效性,以SVM和KNN算法作為對比算法,仿真結(jié)果如圖12~圖14所示。
對比圖12~圖14可以看出,在診斷結(jié)果中,采用相同的特征表示向量時,PSO-SVM算法的效果優(yōu)于其他兩種算法。分別采用PSO-SVM、SVM和KNN三種算法進行故障分類的結(jié)果見表4。
(a)測試集的實際分類和預測分類
(b)混淆矩陣
(a)測試集的實際分類和預測分類
(b)混淆矩陣
(a)測試集的實際分類和預測分類
(b)混淆矩陣
表4 一級故障診斷準確率 %
為了進一步說明,對于不均衡數(shù)據(jù)的改善效果,對比三種算法的混淆矩陣可以明顯看出,分類器在提高整體準確率的同時可以較好地提高小類別樣本的診斷精度。同樣采用Precision和F-measure兩個指標對三種算法的診斷效果進行評估。
(a)Precision對比
(b)F-measure對比
通過圖15可以發(fā)現(xiàn)PSO-SVM算法的兩種指標在每一種一級故障診斷結(jié)果中都具有最優(yōu)效果。通過上述仿真結(jié)果可以得出:PSO-SVM對樣本分布不均衡數(shù)據(jù)的診斷分類具有較好的提升效果。
4.3.2 二級故障診斷仿真分析
為了完成車載數(shù)據(jù)的二級故障診斷,同時提高故障診斷的準確率,本文將一級故障診斷結(jié)果轉(zhuǎn)化為一種特征向量,采用數(shù)據(jù)融合技術(shù)與主題模型從文本中提取的主題特征向量進行融合。一級故障診斷結(jié)果的特征向量代表具體的故障類型編號,一級故障共有7種,為了降低向量的維數(shù),采用二進制的表現(xiàn)形式給故障類型編碼,如故障類型編號為7的特征向量表示為[1 1 1]。在進行二級故障診斷時將此向量添加到對應文本直接提取的特征向量的末尾,即采用串行融合方法對特征向量進行融合。
為了說明特征向量融合的有效性,分別采用PSO-SVM、SVM和KNN三種算法比較基于LLDA和FLLDA提取的特征向量進行故障分類的準確率。結(jié)果見表5。
表5 基于LLDA與FLLDA的二級故障診斷準確率 %
從表5中可以看出不同診斷算法均是采用融合后的特征向量進行故障診斷的準確率較高,說明特征融合可以有效提高故障診斷精度。針對同一種特征向量,PSO-SVM算法在三種算法中的診斷準確率依然是最好的。采用PSO-SVM對融合后的特征向量進行二級診斷的準確率低于一級故障診斷的準確率,一方面是由于二級故障診斷劃分類別更加詳細,數(shù)據(jù)的不均衡性對診斷精度的影響增大,另一方面是受到一級故障診斷錯誤分類的影響。
本文根據(jù)300T車載設備故障文本數(shù)據(jù)特點,構(gòu)建故障特征詞庫,采用改進的LLDA模型提取日志數(shù)據(jù)的語義特征,并與傳統(tǒng)的詞頻方法,卡方統(tǒng)計進行了對比分析。實驗結(jié)果表明SVM基于LLDA提取出的特征向量進行故障分類的準確率明顯優(yōu)于采用WF和CHI提取特征進行故障分類的準確率,驗證了LLDA模型提取日志數(shù)據(jù)語義特征的有效性。
故障樣本中不同故障類型所占比例差異較大,傳統(tǒng)分類器容易把小比例故障類型錯誤地歸類為大比例故障類型,具有一定的局限性,無法滿足實際要求。為了解決這一問題,本文將粒子群優(yōu)化算法引入支持向量機內(nèi),優(yōu)化了支持向量機的部分參數(shù),通過與傳統(tǒng)的支持向量機算法SVM,K最近鄰算法KNN進行對比分析,驗證了所提模型的有效性。