孫尉筌
(中鐵第一勘察設計院集團有限公司,西安 710043)
自“八橫八縱”鐵路網規劃建設提出以來,我國鐵路運輸事業邁入了蓬勃發展階段,綜合化、網絡化、智能化、數字化成為現代鐵路運輸系統發展的主要方向。而信號控制系統是現代鐵路運輸的“中樞神經”,信號設備故障的出現不僅會干擾鐵路行車效率,還會對行車安全造成較大的威脅。加之現有信號報告多以文本形式記錄,存儲、分析難度較大。因此,文本以數據挖掘為基礎,探討短時間內辨識鐵路信號設備故障特征并自動推敲原因的方案尤為關鍵。
基于數據挖掘的故障自診斷整體架構主要包括智能診斷層、模型優化層、數據預處理層3 個層次。其中,智能診斷層主要負責根據中間層獲得的故障信息進行故障數據的自動查閱,或根據現有故障現象搜索歷史經驗,提高故障診斷準確率,具體流程為:待診斷故障數據→集成分類器→軌道電路故障/道岔故障/信號機故障/……;模型優化層為中間層,主要負責利用支持向量機、邏輯回歸基分類器隨機森林集成分類機,結合參數特點,對預處理后數據進行調優,具體流程為:初始化參數→基分類器/集成分類器→集中學習群(Voting);數據預處理層主要負責鐵路信號設備故障文本非結構化數據的預處理。即抽取文本數據特征并將其轉化為計算機可識別、核算的文本向量,從根源上規避樣本數據不均衡情況。具體流程為:原始文本數據→特征向量矩陣→分類標簽→不均衡數據處理。
鐵路信號設備涉及調度指揮系統設備、列控系統設備、聯鎖系統設備閉塞設備等多種類型。為保障上述設備無故障運轉,鐵路內構建了不同類別的監測系統或監控系統,上述系統可以以圖形圖像、語音、文本形式進行非結構化數據存儲[1]。在日常維護修理階段,也可以以文本形式進行不同類型信號設備故障現象、原因、處理手段的描述積累。長期下來,形成了以Excel、Word 形式存儲的海量故障數據,如事后追蹤報告、行車日志等。在行車記錄登記簿、事故故障追蹤報告、日志維修臺賬記錄等信號集中監測系統監測的異常數據輸出文本采集的同時,還可以進行結構化數據、外部數據的收集。如設備狀態、線路狀態、氣象局數據、公安局數據等。
由于外界環境的干擾,鐵路信號設備狀態數據無法保證完全有效,部分無效信息常以噪聲形式存在。基于此,信號預處理的主要目的是將指定無價值符號去除,使文本內僅保留漢字。進而對文本進行分詞并將停用詞去除,促使文本最終轉化為可輸入至算法的向量,為后期文本特征的提取、分類奠定基礎[2]。根據不同語言的文本差異,適用的分詞方法也存在一些差異。對于中文分詞,可以將一個漢字序列向單獨次切分。比如,在事先建立的統一詞典表內進行分析句子拆分,并將其與詞典內的詞條進行逐一匹配,在確定二者匹配后結束分詞,反之則繼續進行拆分。整個過程中可用的分詞工具主要有jieba(Python 中文分詞組件)分詞系統或NLPIR 分詞系統,后者可以由用戶自定義“敏感點”實現自適應分詞。比如,針對鐵路信號設備故障進行道岔、紅光帶、軌道電路、信號機、轉轍機等故障詞典自定義。進而采用NLPIR 分詞系統中的通用詞典對事故信號進行分詞,獲得某故障文本結果為“//8#道岔 定位 無表示 15:46 銷記 原因 8#道岔 主機 動作桿與 鎖框 摩卡 別勁 …… A 機 系統 報警 輸出未 驅動”。
在分詞結束后,可以利用Word2vec 算法中的Skip-gram模型進行詞向量轉化。即設定輸入層為若干個詞向量,由輸入層到隱層進行上文向量、下文向量相加后獲得一個向量,進而經softmax 算法輸出所獲得的向量。Skip-gram 模型可以表示為:

式中,L 為輸入層詞向量;P 為隱層詞向量;W 為詞;context(W)為上文向量、下文向量相加;C 為窗口長度,具體可看作當前詞W(t)的前C 個詞、后C 個詞。通過求解公式(1)的最大值,可以訓練詞向量。比如,軌道電路詞向量維數為180 維,對應詞向量為[-0.125 621 315,0.015 213 511 2,…,0.205 121 458],將上述詞向量縱向累加后可以獲得整句話的具體含義。
進行特征提取時,可以選擇基于統計的常用加權方法——TF-IDF 法,即假定某詞在某一文檔中多次出現,且在其他文本中出現概率較小,甚至為0,則可以將這一詞匯看作對應文本的關鍵詞,詞頻TFi,j可表示為:



式中,TFi為詞頻;IDFi為逆向文檔頻率。在得到wi的權重后,考慮到各鐵路信號設備故障自診斷所面對的特征向量Ti,j間存在較大的差異,需要對其進行歸一化操作。同時,設鐵路信號設備故障為信號機故障、微機聯鎖故障、道岔故障、軌道電路故障,取若干組正常數據,按正常狀態、故障狀態對分析數據進行分組。分組后按不同故障狀態表現取值,將狀態對應的幅值劃分為多個區段,以幅值最小的區段記錄為起始區間,取連續多個區間進行有效點的分布線密度計算[3]。逐次遞增進行下一個區間線密度計算。最終取線密度最大的區間進行均值計算,獲得估算正常值。同時,選擇一個備分析序列數據作為分析目標,將其按狀態順序分組,按狀態順序取一組數據判斷是否滿足式(4),若滿足則進入下一步,反之則為異常數據去除。則在正常狀態下參數錯誤(E0)、壓縮機高壓保護故障(E1)、燈箱型元顯示錯誤(E2)、壓縮機低壓保護故障(E3)分別為0.121、0.232、0.211、0.105 時,信號機故障下E0、E1、E2、E3分別為0.072、0.103、0.387、0.168,微機聯鎖故障下E0、E1、E2、E3分別為0.222、0.255、0.136、0.258,道岔故障下E0、E1、E2、E3分別為0.232、0.289、0.200、0.132,軌道電路故障下E0、E1、E2、E3分別為0.099、0.198、0.152、0.177。
故障分類主要是針對故障記錄文本內容,利用一個決策函數進行位置文本類別劃分。考慮到經向量化的數據兼具高維度、稀疏特征,首先需要利用基分類器進行處理[4]。比如,設定向量數據集數量為n,特征維度為m,分類數為c,利用LR分類器進行統計后可以得到分類結果。在基分類器處理完畢之后,可以利用以Voting 的集成分類器按照分類器錯誤率均無聯系的策略,進行分類操作,以便盡可能選擇多樣、精確分類結果,避免分類中位置統計、核算風險的出現。
參數優化的主要目的是進行不平衡數據處理,常常用合成少數過采樣技術,即SMOTE 算法。在基于SMOTE 算法的參數優化過程中,首先需要輸入多數類樣本集和少數類樣本集,以歐式距離D 為標準計算樣本到少數類樣本集的距離[5]。同時,根據數據集不平衡比例進行采樣倍率設置,由歐式距離D 選出最近的幾個樣本作為一個組合,每個組合樣本中2 個與2 個之間隨機連線,獲得新的少數類樣本并加入數據集內,循環后輸出新樣本集。上述方法可以滿足分布于密集域內樣本參數優化要求,而對于分布在稀疏域內的樣本點,可以輸入多數類樣本集、少數類樣本集后,設置閾值、采集倍率,進行少數類樣本集、多數類樣本集以及二者的鄰集計算,選取若干個近鄰點生成新的樣本。若相鄰集中不含少數類樣本,則可以直接將其看作噪聲去除。
考慮到鐵路信號設備故障復雜度較高,且兼具不確定性、可傳播性,因此,為了順利實現參數優化,可以面向故障自動診斷需求,以傳統Petri 網為基礎進行故障自動診斷的Petri 有機純網構建[6]。即設定面向鐵路信號設備故障自動診斷的Petri十元組為:

式(4)為基于P/T 網的故障自動傳播系統。其中,N 是三元組(基網),N=(P,T,F,),T 為有限為空的庫所集合;F 為故障因子數量;P 為有限非空的庫所集合;W 為集合標識,集合的初始標識為1;K 為容量函數,K∈{0,1};α 為真實度函數值,α∈{0,1},α>0 表示事件可信度較大,反之則表示完全不可信;μ、p 分別表示在T 上的實函數和各有向弧的概率權重函數,前者代表變遷對應故障自動診斷規則的置信度;后者表示經驗給定值,p=0 表示當前條件下不可發生事件,p=1 表示當前條件下的一定發生事件。
為確定以數據挖掘為基礎的故障自診斷應用效果,選擇4核CPU 計算機,在32 GB 的內存中安裝Windows2010 系統,選擇傳統支持向量機、數據挖掘2 種鐵路信號設備診斷方法,在訓練樣本為400 個,測試樣本為100 個的情況下,將2種方法應用效果進行對比[7]。
從鐵路信號設備自診斷準確度來看,正常狀態下,傳統支持向量機診斷準確度為92.00%,基于數據挖掘的故障自診斷準確度為96.00%;故障狀態下,傳統支持向量機診斷準確度為91.00%~93.00%,基于數據挖掘的故障自診斷準確度為94.00%~97.00%,這主要是由于傳統支持向量機在小樣本調解下訓練參數確定方式為隨機,信號設備診斷準確度低于數據挖掘方法。
從鐵路信號設備自診斷時間來看,正常狀態下,傳統支持向量機診斷時間為6.00 s,基于數據挖掘的故障自診斷時間為4.80 s;故障狀態下,傳統支持向量機診斷時間為6.00~8.00 s,基于數據挖掘的故障自診斷時間為3.80~4.00 s,表明基于數據挖掘的鐵路信號設備故障自動診斷方法可以有效壓縮故障診斷時間,優化鐵路信號設備故障診斷效率。
綜上所述,為了順利發掘文本數據中蘊含的海量高價值故障特征信息,保證信號設備故障報告的使用價值,技術人員可以選擇數據挖掘技術,對現有信號設備故障進行匯總剖析,自動分辨識別設備故障報告中特征。并對現有信號設備故障案例提取高頻詞匯,以固定故障案例中文分詞+形式化自定義規則的形式,進行故障信息提取和原因追溯,為故障處理與改進決策提供助力。