吳星辰
(中車長春軌道客車股份有限公司國家軌道客車工程技術研究中心,吉林長春 130000)
對城市軌道車輛運行狀態的實時監測,并對監測結果進行處理、分析,實現數據驅動、模型驅動的城市軌道車輛故障的分析、預測,為城市軌道車輛延長檢修周期、優化檢修內容、優化修程和修制、提升檢修效率、促進動車組檢修服務方式的轉變和安全運營提供了重要保證,國內外對城市軌道車輛運行狀態數據的異常檢測進行了大量研究。城市軌道車輛關鍵系統和部件種類繁雜,車輛運營時間長,傳統基于閾值和機理的異常檢測、分析方法已無法適用于海量、實時的城市軌道車輛時序數據分析要求。隨著人工智能、大數據和云計算等新興技術的產生和發展,機器學習算法逐漸被應用于解決工業設備的時序數據異常檢測領域。
異常檢測就是將數據集中偏離數據簇的數據檢測出來,而時序數據的異常檢測在上個世紀末就在各個領域得到了廣泛應用。
Knorr和Ng通過計算數據點和目標之間的歐氏距離實現異常點的檢測,實現最初基于空間距離的異常檢測算法[1-2]。Breuin等[3]根據數據集中、數據密度分布不均的特點,提出了基于密度的異常檢測算法,此算法處理大數據集時復雜度過高,無法取得時間復雜度與檢測精度間的平衡。Eamoon等[4]通過將時間序列符號化,通過符號檢索出時間序列中的異常子序列,實現了對時間序列中異常子序列的檢測。高嘉偉等[5]提出了一種基于密度和網格的聚類算法,引入動態劃分網格的方法,通過當前數據塊內數據的特征,動態設置網格劃分、網格密度閾值等參數并自適應生成網格,適用于處理軌跡信息等時序數據流的異常檢測問題。丁建立等[6]提出了一種基于時間序列的多維特征聚類異常檢測方法,提高廣播式自動相關監視(ADS-B)數據異常檢測技術的精確性,通過提取ADS-B數據中經度、緯度、速度、航向信息,利用Hausdorff距離計算軌跡數據的多特征相似度,結合層次聚類方法檢測軌跡中的異常行為。
針對本文研究的城市軌道車輛關鍵系統、部件監測時序數據具有周期性上下波動,相鄰數據具有關聯性,相同類型數據具有關聯性的特點。本文提出使用簡單、易于理解、易于實現,無須參數估計的、基于改進的余弦相似度的KNN算法城市軌道車輛時序數據異常檢測方法。
由Cover和Hart提出的K近鄰算法(KNN),是一個基本的分類和回歸監督學習算法,具有思想簡單直觀、無須估計參數和訓練的特點。KNN算法可以應用于分類算法中,也可以應用于回歸算法中。KNN進行回歸和分類的主要區別在于最后預測的決策不同。分類預測時,一般采用多數表決法和加權多數表決法;回歸預測時,一般使用平均值法和加權平均值法。KNN善于處理分類問題,同時可以處理多分類問題,適合對稀有事件進行分類。KNN算法通過采用少數服從多數的決策方法實現對異常點的檢測,該算法的多數指某個特征空間中距離樣本最近的K個值,這K個值中個數最多的類別能夠代表該樣本點的類別[7]。
K值、距離度量和決策規則是KNN算法中最重要的三個因素。多數表決法是目前主要采用的分類決策規則,將K個點多數屬于的類別作為待測點的最后分類屬性。K值的選取對分類結果影響較大,K越小,使用較小的領域中的樣本進行預測,訓練誤差小,但模型復雜度高,導致過擬合;K越大,使用較大的領域中的樣本進行預測,訓練誤差增大,模型簡單,容易導致欠擬合的問題。上述問題可以通過設定不同的K值交叉驗證對比訓練分類效果,降低誤差,得到合適的K值。對于距離的度量方法較多,如歐幾里得距離、曼哈頓距離、余弦相似度和字符串相似度等方法,在實際使用中需要根據不同的數據特性以及計算特點,選擇合適的距離公式[8]。本文根據轉向架軸承溫度數據特點,提出一種改進的空間距離度量方法。
(1)對軸箱軸承溫度數據進行預處理。
(2)輸入軸箱軸承溫度訓練數據集:

式中:xi——軸箱軸承溫度數據;yi——軸承溫度數據對應的屬性,即軸承運行時的正常或異常狀態。
(3)輸出軸承溫度數據所屬類別,即正常或異常溫度。
(4)元組數據集測試完畢后計算誤差率,繼續設定不同的K值重新進行訓練,取誤差率最小的K值。
使用的改進的距離度量公式:

式中:xj——特征向量,xi和xj共有d維;xik、xjk——維向量對應第k維。
為了驗證提出的基于改進余弦相似度的KNN城市軌道車輛時序數據異常檢測方法的有效性,本文截取了某城市軌道車輛在一段時間內,轉向架軸箱軸承部分電機驅動側與非驅動側的軸承溫度數據,數據中包含車輛正常運行時的軸箱軸承溫度數據和異常時的溫度數據。
軸箱軸承電機驅動側與非驅動側溫度檢測如圖1所示。

圖1 軸箱軸承電機驅動測與非驅動側溫度監測數據
本文使用KNN算法實現城市軌道車輛時序數據異常檢測的目的是能夠自動識別圖中21:50時軸承溫度的異常升高情況,同時能夠對正常的軸承溫度數據進行自動分類[9]。
本文根據軌道車輛轉向架軸箱軸承溫度數據特點,使用KNN算法建立的城市軌道車輛轉向架軸箱軸承溫度二維時序數據異常檢測程序如圖2所示。

圖2 城市軌道車輛二維時序數據異常檢測程序
本文在PyCharm集成開發環境中使用python編程語言對程序進行了開發和測試[10]。
本文提取正常的軸承溫度數據和異常軸承溫度數據對KNN算法進行了訓練,并隨機抽取正常軸承溫度時間點的電機驅動側溫度與非驅動側軸溫數據以及異常軸承溫度時間點的電機驅動側溫度與非驅動側軸溫對算法進行了測試。
測試結果如圖3所示。

圖3 試驗測試結果
由圖3可知,計算得到的正常軸承溫度數據與監測得到正常溫度數據值相一致,提示的異常溫度數據值與監測得到的異常溫度數據值相一致。試驗結果表明,本文提出的基于KNN算法的城市軌道車輛時序數據異常檢測方法,能夠有效檢測出車輛轉向架軸箱軸承的異常溫度數據和正常溫度數據,證明了方法的有效性[11-12]。
本文針對城市軌道車輛關鍵系統部件時序監測數據特點,提出基于KNN算法的異常數據檢測方法,能夠克服傳統基于閾值和機理的異常檢測方法在應對周期性往復波動、各數據間強關聯性數據時的弊端。通過對轉向架軸箱軸承溫度數據的檢測試驗,證明了觀點。該方法的研究有助于實現城市軌道車輛轉向架系統的維修由計劃性維修到狀態性維修的過渡,同時對提升城市軌道車輛運行的安全性具有重要的意義。