胡翔宇,陳慶奎
(上海理工大學(xué) 光電信息與計算機工程學(xué)院,上海 200093)
在國內(nèi)外飽受疫情影響的背景下,遠(yuǎn)程設(shè)備的維護(hù)工作遭受了巨大沖擊。專業(yè)維護(hù)人員的流動受到了限制,人工檢修等服務(wù)也受到了影響。以往的設(shè)備數(shù)量有限、且異常排查難度較低,主要通過定期的人工檢修。但隨著互聯(lián)網(wǎng)+與5G 時代的發(fā)展,設(shè)備精密化程度提升、設(shè)備數(shù)量的大幅增長成為了時代發(fā)展的趨勢,人工檢修維護(hù)的效率愈加難以滿足現(xiàn)實的需要。而大量的設(shè)備數(shù)據(jù)和日志都可以通過網(wǎng)絡(luò)傳輸?shù)礁鱾€服務(wù)商的云平臺和數(shù)據(jù)庫中,使設(shè)備異常事件分析成為了可能,例如電網(wǎng)狀態(tài)異常檢測[1]、選煤廠設(shè)備的遠(yuǎn)程檢測[2]等都是依據(jù)設(shè)備傳感器數(shù)據(jù)進(jìn)行異常分析的有效應(yīng)用場景。
交通網(wǎng)絡(luò)通過引入車載一體機設(shè)備,極大增強了運營數(shù)據(jù)獲取的便利性。該設(shè)備通過網(wǎng)絡(luò)將各類傳感器數(shù)據(jù)傳輸至云平臺,例如車內(nèi)攝像頭的實時監(jiān)控、GPS 位置信息、行駛速度、報站信息等。管理中心通過以上各種實時數(shù)據(jù),可以實現(xiàn)客流量統(tǒng)計[3]、設(shè)定調(diào)度安排[4]、預(yù)測到站時間[5]等。然而針對車載設(shè)備的異常排查,現(xiàn)有檢修方式還是通過人工。這種方式效率低下,且維護(hù)需要定時停運一批車輛,影響正常車輛的工作,因此往往是設(shè)備異常已然影響車輛正常運營時才會進(jìn)行人工檢修。針對這種情況,設(shè)計一套面向車載設(shè)備數(shù)據(jù)流的異常檢測方法顯得尤為重要,通過這些運營數(shù)據(jù)可以發(fā)現(xiàn)車載設(shè)備的一些潛在故障,為維修人員提供可能發(fā)生異常的設(shè)備名單及其優(yōu)先級,提高檢修效率。例如,固定運行路線的車輛通過比對GPS 信息和運營線路坐標(biāo)可以判斷是否出現(xiàn)GPS 信號偏移的異常事件,但判斷的過程需要考慮諸多因素,短暫的偏移可能是由外部電磁干擾造成,并非車載設(shè)備自身的異常,只有出現(xiàn)持久性的或頻繁的偏移才能預(yù)示著GPS 模塊的損壞。車載設(shè)備運營中各類事件紛繁復(fù)雜,容易造成誤判,如何對車載設(shè)備的數(shù)據(jù)流采取有效的檢測,過濾掉一些干擾因素并分析出潛在的異常事件是難點。
目前,采用傳感器收集數(shù)據(jù)并在遠(yuǎn)程進(jìn)行設(shè)備異常檢測的方式已經(jīng)大量應(yīng)用于各個領(lǐng)域內(nèi),文獻(xiàn)[6]引入貝葉斯神經(jīng)網(wǎng)絡(luò)建立了衛(wèi)星遙測數(shù)據(jù)異常檢測模型,通過對系統(tǒng)中不確定性高的樣本進(jìn)行重新評估,提高了異常檢測能力。文獻(xiàn)[7]通過電力計量裝置采集數(shù)據(jù)、電壓互感器的狀態(tài)量選擇和對電壓運行狀態(tài)的在線評估,實現(xiàn)了對異常電壓的檢測。文獻(xiàn)[8]提出了傳感器選擇策略和數(shù)據(jù)異常檢測的新方案,該方案基于信息論和高斯過程回歸實現(xiàn)了對飛機發(fā)動機狀態(tài)的有效監(jiān)測。
當(dāng)存在多個傳感器或信息源的數(shù)據(jù)時,由于具備處理不確定性數(shù)據(jù)的優(yōu)勢,D-S 證據(jù)理論成為最常用的多源信息融合技術(shù)之一。自該理論提出以來,國內(nèi)外學(xué)者對該理論的沖突悖論和算法改進(jìn)取得了一定的成果[9-10],使基于證據(jù)理論的異常檢測被廣泛應(yīng)用于各個領(lǐng)域[11-13]。但低下的傳感器數(shù)據(jù)質(zhì)量會極大程度影響檢測的效果,針對該問題,文獻(xiàn)[14]建立了基于邊緣計算的分布式傳感數(shù)據(jù)異常檢測模型,提高了檢測的效率和準(zhǔn)確性。文獻(xiàn)[15]提出了基于最近鄰的異常檢測數(shù)據(jù)預(yù)處理算法,并在實際工業(yè)機械的異常檢測中得到了驗證。
各類異常之間可能具有組合與傳遞的特性,Petri 網(wǎng)是對事件建模與分析的有力工具,結(jié)合Petri網(wǎng)進(jìn)行故障診斷已經(jīng)在電網(wǎng)[16]和液壓器[17]等設(shè)備上得到了大量的應(yīng)用。針對交通設(shè)備故障,文獻(xiàn)[18]建立了離合器故障樹對應(yīng)Petri網(wǎng),并通過關(guān)聯(lián)矩陣求得最小割集,取得重要度優(yōu)先級來排序?qū)<蚁到y(tǒng)中的規(guī)則,實現(xiàn)了機動車故障的快速定位。但以上方法均未用到實時傳感器數(shù)據(jù),并且是對故障下的異常模塊溯源工作。
針對上述情況,提出一種面向車載設(shè)備數(shù)據(jù)流的異常檢測方法,通過發(fā)掘車載設(shè)備正常行駛數(shù)據(jù)間的異常關(guān)系,實現(xiàn)對車載設(shè)備異常事件的檢測、累計和組合。為檢修人員提供可能發(fā)生故障的設(shè)備排查名單,提高檢測的效率。
本文主要工作有:
(1)底層異常事件生成:針對車載設(shè)備實時數(shù)據(jù),從3 種角度判別數(shù)據(jù)的異常關(guān)系提取出檢測值,通過累計池收納檢測值并結(jié)合證據(jù)理論合成特征值,將達(dá)到閾值的異常特征觸發(fā)為底層異常事件,避免因外界因素干擾下數(shù)據(jù)波動帶來的誤判。
(2)異常事件的組合推導(dǎo):通過設(shè)備維護(hù)日志與歷史數(shù)據(jù)對底層事件次數(shù)和故障次數(shù)進(jìn)行統(tǒng)計,采用貝葉斯概率獲取各類事件組合的條件概率,使用概率Petri 網(wǎng)對事件的組合關(guān)系建立模型推導(dǎo)故障。
車載設(shè)備的不同類型數(shù)據(jù)具有各自協(xié)議規(guī)定的時間周期、觸發(fā)條件和數(shù)據(jù)格式。例如周期位置協(xié)議是按規(guī)定的時間間隔發(fā)送的數(shù)據(jù),間隔時間短且較為固定,包含發(fā)送時間與經(jīng)緯度信息等。到站協(xié)議是到達(dá)目標(biāo)地點后發(fā)送的數(shù)據(jù),間隔時間較長且不固定,包含站點信息和發(fā)送時間等。
異常是指上述數(shù)據(jù)出現(xiàn)違背協(xié)議規(guī)定或無法正常反映車輛狀態(tài)的情況。由于車輛工作期間發(fā)送的數(shù)據(jù)都是正常的運營數(shù)據(jù),單一數(shù)據(jù)僅能判斷格式和缺省情況,無法得知數(shù)據(jù)內(nèi)容是否正確,因此本文通過數(shù)據(jù)間的關(guān)系發(fā)現(xiàn)異常。異常主要分為3 種類別:
(1)不穩(wěn)定:固定時間間隔發(fā)送的數(shù)據(jù)出現(xiàn)了缺失、斷連的情況。
(2)不完整:運行觸發(fā)的數(shù)據(jù)缺失或數(shù)據(jù)無法完整反映車輛運行過程。
(3)無效數(shù)據(jù):數(shù)據(jù)的先后邏輯違背、數(shù)據(jù)間的組合邏輯相互違背。
數(shù)據(jù)檢測是發(fā)現(xiàn)上述異常的過程,不同類別的檢測需要不同的數(shù)據(jù),但不同數(shù)據(jù)發(fā)送頻率各不相同,且觸發(fā)條件也不一致,難以采用統(tǒng)一的方式進(jìn)行處理。因此本文按照異常檢測的時間間隔對協(xié)議進(jìn)行簡單分類,主要分為瞬時協(xié)議、短周期協(xié)議、固定時間協(xié)議和長周期協(xié)議四種,見表1。
表1 協(xié)議分類Tab.1 Protocols classification
對不同的協(xié)議類別與檢測時間間隔,采用不同響應(yīng)時間的緩沖區(qū)積累數(shù)據(jù)。將其分類存儲后,便可進(jìn)行統(tǒng)一的檢測流程。針對上文異常的3 種類別,本文從穩(wěn)定性、完整性和一致性三種角度對數(shù)據(jù)的異常關(guān)系進(jìn)行檢測,并提取出檢測值。
由于設(shè)備異常一旦發(fā)生,會導(dǎo)致異常值持久地或頻繁地出現(xiàn),因此一次程度較輕的異常檢測值并不能代表異常事件的真正發(fā)生。需要對異常檢測值進(jìn)行累計,達(dá)到觸發(fā)條件才能生成為異常事件。異常事件會相互影響,組合推導(dǎo)出新的事件。例如設(shè)備連接性差與整體數(shù)據(jù)包丟失率高都與網(wǎng)絡(luò)有關(guān),因此可以相互組合為網(wǎng)絡(luò)通訊異常。事件組合推導(dǎo)將底層事件提煉為更易于人所感知并理解的組合事件,最終得到包含故障信息的異常事件集。
本文的異常檢測方法主要包含異常檢測值提取、底層事件累計生成和事件組合推導(dǎo)三個部分,其工作流程如圖1 所示。
圖1 異常事件檢測流程圖Fig.1 Flow chart of abnormal event detection
車載設(shè)備數(shù)據(jù)流簡單分類后被緩沖區(qū)接收后持久化到數(shù)據(jù)庫表內(nèi)。從穩(wěn)定性、完整性和一致性三種角度提取異常檢測值。累計池對這些異常檢測值進(jìn)行收集,通過多源數(shù)據(jù)合成特征值,并判定是否達(dá)到事件生成的條件。產(chǎn)生的新事件在事件組合Petri 網(wǎng)內(nèi)進(jìn)行組合推導(dǎo),推導(dǎo)出全部組合事件和故障事件。
1.1.1 穩(wěn)定性檢測
穩(wěn)定性檢測是判斷固定時間間隔發(fā)送的數(shù)據(jù)是否出現(xiàn)了缺失、斷連等一系列不按照規(guī)定要求穩(wěn)定發(fā)送數(shù)據(jù)的情況。劃分時間片斷示意如圖2 所示。圖2中,Xs為按照順序排布的原始單物聯(lián)數(shù)據(jù),sti表示單個數(shù)據(jù)點,ti為數(shù)據(jù)的發(fā)送時間。
圖2 劃分時間片段示意圖Fig.2 Schematic diagram of time division
單位時間內(nèi)數(shù)據(jù)量的大小是度量短時數(shù)據(jù)穩(wěn)定性的重要依據(jù),設(shè)數(shù)據(jù)發(fā)送時間周期為k,則該數(shù)據(jù)序列Xs的總運行時長tn -t1內(nèi)共可以得到m=(tn -t1)/k個時間片段。將Xs內(nèi)的數(shù)據(jù)點按照其所在時間區(qū)間放入對應(yīng)的uj內(nèi),得到了一條新序列Xu={u1,u2,…,un},其中uj表示第j個時間片段內(nèi)所含數(shù)據(jù)的數(shù)量。在理想情況下,每條數(shù)據(jù)均按照規(guī)定時間間隔發(fā)送,則uj=1,j∈{1,2,…,m},參見圖3中的u2、u5和u6。但由于數(shù)據(jù)發(fā)送不穩(wěn)定的情況存在,實際運行情況下uj→{0,1,…,k},參見圖3中u3,uj=0 表示該時間片段內(nèi)的數(shù)據(jù)缺失。uj >1 表示該時間片段收到多條數(shù)據(jù),參見圖3 中的u1、u4,這可能是由于缺失的數(shù)據(jù)在網(wǎng)絡(luò)通訊恢復(fù)后一并發(fā)送的結(jié)果。
圖3 滑動窗口檢測示意圖Fig.3 Schematic diagram of sliding window detection
針對數(shù)據(jù)不穩(wěn)定的情況,滑動時間窗口通過計算一段時間內(nèi)收到數(shù)據(jù)量的變化情況并設(shè)定閾值,可以發(fā)現(xiàn)短時區(qū)間的數(shù)據(jù)的不穩(wěn)定,也能過濾數(shù)據(jù)的正常波動帶來的影響。因此本文定義Sld為檢測數(shù)據(jù)穩(wěn)定性的一個滑動窗口,其長度為β個時間片段的總時長,由圖3 可知,Sld長度為3 k。通過數(shù)據(jù)缺失率和時間片段數(shù)據(jù)量的最大差值來計算該窗口的不穩(wěn)定率,即:
其中,Sld(j)表示第j個滑動窗口的不穩(wěn)定率;W(j)表示窗口內(nèi)數(shù)據(jù)缺失率;Csld(j)表示窗口實際收到的數(shù)據(jù)量;β為窗口內(nèi)時間片段的數(shù)量,即應(yīng)得數(shù)據(jù)量;umax為時間片段收取數(shù)據(jù)最大量;umin為最小量。為避免差值為0 導(dǎo)致最終不穩(wěn)率定為0 的情況出現(xiàn),因此設(shè)定1 為差值默認(rèn)最小值。設(shè)一組數(shù)據(jù)序列共檢測出異常窗口數(shù)λsld個,則不穩(wěn)定性的異常檢測值可由如下公式計算得出:
1.1.2 完整性檢測
完整性檢測是判斷該段數(shù)據(jù)是否能描述車輛一段完整運行過程,因此數(shù)據(jù)的缺失率是異常判斷的重要依據(jù)。車載設(shè)備的數(shù)據(jù)既包含按照固定時間間隔發(fā)送的數(shù)據(jù),例如周期位置信息、握手連接數(shù)據(jù)等,也包含運營車輛在工作中隨著行進(jìn)流程觸發(fā)的事件,例如到達(dá)目標(biāo)地發(fā)送的到站信息、駛出站點信息等。
針對運行觸發(fā)的數(shù)據(jù),需要判斷其是否與觸發(fā)條件對應(yīng)且無缺失。通過比對實際獲取到的觸發(fā)數(shù)據(jù)與當(dāng)日行車量調(diào)度安排的線路、站點等信息,將不匹配或缺失的數(shù)據(jù)記為一個異常點。設(shè)異常點的發(fā)生次數(shù)為Del,調(diào)度安排的全部觸發(fā)事件總數(shù)為Tal,則異常檢測值Vint的數(shù)學(xué)定義式具體如下:
針對固定時間間隔發(fā)送的數(shù)據(jù)Xs={st1,st2,…,stn},上文的滑動時間窗口Sld對每個短時區(qū)間內(nèi)的數(shù)據(jù)丟失情況進(jìn)行了檢測,但無法排查整體的數(shù)據(jù)丟失的問題。例如每個滑動窗口都達(dá)到了最低數(shù)據(jù)量要求,但數(shù)據(jù)總量卻缺失較大,這可能預(yù)示著車載設(shè)備發(fā)生了規(guī)律性掉線或重啟的異常。需要對數(shù)據(jù)量的整體缺失情況進(jìn)行檢測,設(shè)序列實際獲取數(shù)據(jù)量為n,通過序列中數(shù)據(jù)的最晚和最早發(fā)送時間差值tn -t1與該種數(shù)據(jù)規(guī)定的發(fā)送時間間隔Fj可以得到應(yīng)得數(shù)據(jù)量,得到異常檢測值Vint。其計算公式的數(shù)學(xué)表述如下:
1.1.3 一致性檢測
上述2 種檢測方式均是對數(shù)據(jù)外部特征的檢測,不涉及數(shù)據(jù)內(nèi)容的判斷。一致性檢測是通過數(shù)據(jù)具體內(nèi)容對其先后順序、數(shù)據(jù)間的組合邏輯進(jìn)行異常判斷。例如車輛的周期位置信息到達(dá)了站點附近,但卻缺失相應(yīng)站點的到/離站數(shù)據(jù),這預(yù)示著報站模塊的異常。通過將實際運營情況、相關(guān)協(xié)議和檢測人員的專業(yè)知識相結(jié)合,預(yù)估出所有可能的異常情況,計算異常點或異常發(fā)生時長與全部運行數(shù)據(jù)的占比得到檢測值。異常點的計算與式(3)相同,異常發(fā)生時長的檢測值Vval的數(shù)學(xué)公式為:
其中,eti表示第i個異常發(fā)生的結(jié)束時間;sti表示第i個異常發(fā)生的開始時間;數(shù)據(jù)序列的開始時間為Ts;結(jié)束時間為Te;通過計算異常時長占比即可得到異常檢測值Vval。
底層異常事件是對數(shù)據(jù)檢測出的全部異常情況的統(tǒng)稱,反映某一時段內(nèi)檢測值的總體情況。同一種檢測方式下的異常檢測值序列可表示為V=[V1,V2,…,Vn],Vi∈[0,1]。車載設(shè)備正常運行時,檢測值序列的每個值均接近或等于0,偶爾出現(xiàn)小的波動。車載設(shè)備故障真正發(fā)生時,一類故障會影響多種數(shù)據(jù),使其出現(xiàn)程度嚴(yán)重的、較為頻繁的或較為持久的異常波動。
因此一次普通的異常檢測值不能直接作為故障的成因,當(dāng)異常檢測值出現(xiàn)以下3 種情況時可以記錄為異常事件:
(1)個別數(shù)據(jù)的異常程度嚴(yán)重,檢測值接近或等于1。
(2)一段時間內(nèi)數(shù)據(jù)頻繁地出現(xiàn)異常且檢測值較高。
(3)較長的時間區(qū)間內(nèi)穩(wěn)定地出現(xiàn)異常情況。
針對上述3 種異常事件的判別條件,本文設(shè)置了一個包含三級累計區(qū)的異常累計池,并將累計區(qū)內(nèi)序列的特征簡單提取后合成為特征值,判斷是否達(dá)到底層異常事件生成的觸發(fā)條件。
1.2.1 三級時長累計池
累計池工作流程如圖4 所示,池內(nèi)包含3 個累計區(qū),每種累計區(qū)設(shè)有不同長度的累計周期時間。一級累計區(qū)存放的是最新時間段的異常檢測值,用于判斷短時區(qū)間內(nèi)是否出現(xiàn)嚴(yán)重異常。二級累計區(qū)存放較為近期的異常檢測值,判斷中等時區(qū)內(nèi)是否頻繁地出現(xiàn)較高檢測值情況。三級累計區(qū)存放的是較為長期的異常檢測值,判斷是否持續(xù)出現(xiàn)異常檢測值情況。
圖4 累計池工作流程圖Fig.4 Work flow chart of cumulative pool
最新周期的異常檢測完成后,各級累計區(qū)將最早的數(shù)據(jù)清除并把新異常檢測值放入隊尾。待新檢測值進(jìn)入累計區(qū)內(nèi),重新計算該區(qū)的特征值。若Li,i∈{1,2,3},滿足觸發(fā)條件,則將生成的新事件放入底層事件集,反之則繼續(xù)等待新檢測值的輸入。
1.2.2 合成特征值
傳統(tǒng)的累計方法采用滑動窗口記錄異常數(shù)量,由于上文進(jìn)行了數(shù)據(jù)異常檢測,每個檢測值都是對異常程度的推斷,無法通過簡單地進(jìn)行數(shù)量累計,并且傳統(tǒng)的累計無法區(qū)分異常嚴(yán)重程度、異常發(fā)生頻次和穩(wěn)定地出現(xiàn)異常三種情況,因此本文對區(qū)內(nèi)所有檢測值進(jìn)行特征的簡單提取,并進(jìn)行多源數(shù)據(jù)合成。
異常并非每次檢測都會出現(xiàn),因此檢測值常常出現(xiàn)值為0 的情況,直接對其使用多源數(shù)據(jù)融合容易造成沖突的巨大化。為了避免該情況,在提取特征時將所有值為0 的數(shù)據(jù)剔除,以非零檢測值數(shù)量占比作為衡量序列內(nèi)數(shù)據(jù)的一個特征。
針對一級累計區(qū)判斷短時區(qū)間內(nèi)嚴(yán)重異常的目標(biāo),選取累計區(qū)內(nèi)前k個最大異常檢測值λi,i∈{1,2,…,k} 作為特征,得到特征序列FE1={λ1,λ2,…,λk};針對二級累計區(qū)判斷中等時間區(qū)間內(nèi)頻繁出現(xiàn)較高異常檢測值的目標(biāo),選取非零檢測值數(shù)量占比γ1、檢測值中位數(shù)γ2以及異常檢測逐差平均值γ3作為特征,得到特征序列FE2={γ1,γ2,γ3};針對三級累計區(qū)判斷長時區(qū)內(nèi)穩(wěn)定出現(xiàn)異常的目標(biāo),選取非零檢測值數(shù)量占比δ1、異常檢測平均值δ2作為特征,得到特征序列FE3={δ1,δ2}。
D-S 證據(jù)理論是一種不確定性推理方法,已大量應(yīng)用在各類數(shù)據(jù)融合系統(tǒng)中,其優(yōu)點是可以在先驗知識未知的情況下對多源數(shù)據(jù)進(jìn)行融合,即建立在一個非空集合Θ上,Θ由一系列互斥且窮舉的對象構(gòu)成,即Θ={θ1,θ2,…,θn},對于論域中的任意命題A均屬于2Θ,其基本概率函數(shù)m:2Θ→[0,1],且滿足:∑(A∈Θ)m(A)=1且m(?)=0。此處需用到的數(shù)學(xué)公式可寫為:
特征序列FEi,i∈{1,2,3} 內(nèi)的每個特征均是對同一問題領(lǐng)域的不同證據(jù),可視為多源數(shù)據(jù)。為保證各命題最終結(jié)果之和為1,弱化沖突帶來的誤差影響,本文采用文獻(xiàn)[9]中的證據(jù)理論合成公式對累計區(qū)的特征序列進(jìn)行融合,具體參見式(6)。這里,m(A)為事件融合后的結(jié)果值,k?q(A)為證據(jù)沖突情況下的概率分配值,n為全部證據(jù)源的個數(shù),Ai,i∈{1,2…,m} 為辨識框架的各個元素,mj(Ai)為第j個證據(jù)源對Ai的基本概率賦值。在本節(jié)中,n為特征個數(shù),辨識框架Θ={A1,A2},此處的A1表明事件判定為異常的情況,A2表明事件判定為正常的情況。以FE2為例的基本概率賦值見表2,通過計算得到各個累計區(qū)特征融合的累計結(jié)果值Li,i∈{1,2,3}。
表2 以FE2為證據(jù)集的基本概率賦值Tab.2 Basic probability assignment with FE2 as evidence set
1.3.1 事件描述與分類
1.1 和1.2 節(jié)分別介紹了異常的檢測與底層事件的累計生成過程,但底層事件都是針對數(shù)據(jù)的某一類具體檢測而來的,僅能反映數(shù)據(jù)間的異常情況,無法反映設(shè)備異常的具體現(xiàn)象或故障。車載設(shè)備故障會在數(shù)據(jù)上得以體現(xiàn),一類故障會影響多種數(shù)據(jù),而一類數(shù)據(jù)的異常也可能是多類故障共同的影響,其間復(fù)雜的關(guān)系難以通過簡單的映射來表示。通過對異常事件建模,剝離其中復(fù)雜的相關(guān)性,將異常事件進(jìn)行組合和推導(dǎo)可以發(fā)現(xiàn)更為一般性的故障問題,為檢修人員提供更為可靠和易于理解的異常信息。因此將累計池內(nèi)生成的事件與組合推導(dǎo)而來的事件進(jìn)行區(qū)分,事件分類的定義見表3。
表3 事件分類Tab.3 Events classification
1.3.2 基于概率Petri 網(wǎng)的事件推導(dǎo)模型
Petri 網(wǎng)是對事件描述與建模分析的有力工具,為適應(yīng)不同事件的各種組合推導(dǎo)方式,本文引入概率Petri 網(wǎng)(PPN)。PPN 省去了模糊Petri 網(wǎng)(FPN)的語言變量和模糊推理邏輯,以閾值控制變遷的觸發(fā),無需事前產(chǎn)生模糊推理規(guī)則,更加地簡便。
PPN 定義為一個八元組,記為∑=(S,T;F,Wt,M,P,f,V)。其中(S,T;F)是一個傳統(tǒng)網(wǎng)系統(tǒng);Wt:F→[0,1]是有向弧上的概率權(quán)值,默認(rèn)為1;P:S→[0,1],P(si)則是庫所si內(nèi)標(biāo)識的概率值。V:T→[0,1]是變遷上的閾值集合;M為各庫所的狀態(tài)標(biāo)識;t在M上享有發(fā)生權(quán)的條件為:?si∈.tj:M(si)>0 ∧f(tj)>V(tj)。f為定義在變遷的概率計算函數(shù),函數(shù)形式見如下:
其中,n為滿足條件的si∈tj的元素總數(shù)。變遷發(fā)生后產(chǎn)生的新標(biāo)識值P(si)由前置變遷集的最大值得出:
PPN 網(wǎng)的基本型如圖5 所示。圖5中,圓圈表示庫所,帶箭頭的線段表示有向弧,豎線表示變遷。假設(shè)t1、t2均滿足發(fā)生條件,f(t2)>f(t1),因此輸出庫所的概率值P(s3)為f(t2)。
圖5 PPN 變遷示意圖Fig.5 Transition diagram on PPN
車載設(shè)備功能眾多,以報站模塊為例,其主要工作內(nèi)容為判別車輛是否到達(dá)目標(biāo)點位,并發(fā)送到站數(shù)據(jù)包和出站數(shù)據(jù)包。通過1.1.2 節(jié)對異常的分析可以得到3 種檢測方式:一致性下的到達(dá)規(guī)定位置不報站和到站/離站數(shù)據(jù)不對應(yīng),以及完整性下的報站信息缺失。以這3 種檢測方式為底層事件,車載設(shè)備不報站為組合事件,報站模塊故障為終點建立事件組合Petri 網(wǎng)。
報站模塊事件組合Petri 網(wǎng)如圖6 所示。圖6中,s1、s2、s3為底層事件庫所,分別是到站/離站數(shù)據(jù)不對應(yīng)事件、報站信息缺失事件和到達(dá)規(guī)定位置不報站事件。s4為組合事件庫所,表示車載設(shè)備不報站事件。s5為報站模塊故障事件庫所。t1、t2變遷代表事件的組合。有向弧上的概率權(quán)值w1、w2、w3、w4代表了事件組合傳導(dǎo)的概率,其值通過歷史維護(hù)信息與維修人員對異常情況和故障的統(tǒng)計得到先驗概率,采用貝葉斯定理的后驗概率計算公式得出:
圖6 報站模塊事件組合Petri網(wǎng)Fig.6 Petri nets of station reporting module event combination
當(dāng)累計池的底層異常事件觸發(fā)時,將其作為標(biāo)識放入組合Petri 網(wǎng)的底層事件庫所內(nèi),其概率值為事件生成時的特征值,組合事件以及故障的概率值由上層事件概率值與概率權(quán)值通過式(8)計算得到,最終推導(dǎo)出所有事件及其發(fā)生概率值。
本文選用某公交公司3~11 月期間46 臺車輛的運營數(shù)據(jù),包含車載設(shè)備的行駛數(shù)據(jù)和維護(hù)報告,由于協(xié)議內(nèi)容眾多且包含與異常檢測無關(guān)的數(shù)據(jù),選擇其中的5 種協(xié)議作為實驗數(shù)據(jù),車載設(shè)備協(xié)議表的內(nèi)容見表4。
表4 車載設(shè)備協(xié)議表Tab.4 Protocol table on on-board equipments
實驗?zāi)繕?biāo):在確保盡可能地將異常設(shè)備全部檢出的前提下,減少誤判為異常的設(shè)備數(shù)量。以查準(zhǔn)率和召回率判別方法的準(zhǔn)確性。設(shè)TP為異常設(shè)備被正確檢出的樣本數(shù),F(xiàn)P為正常設(shè)備被誤判為異常的樣本數(shù),F(xiàn)N為異常設(shè)備被誤判為正常的樣本數(shù)。查準(zhǔn)率和召回率的公式分別是:
查準(zhǔn)率和召回率是一對矛盾的度量,通過提高檢測標(biāo)準(zhǔn)可以提高查準(zhǔn)率、降低召回率,但相應(yīng)會漏掉許多異常設(shè)備。降低檢測標(biāo)準(zhǔn)可以提高召回率、降低查準(zhǔn)率,帶來更多的誤判。為了權(quán)衡這2 個指標(biāo),取二者調(diào)和值F-Score作為評判標(biāo)準(zhǔn),以β為加權(quán)系數(shù),進(jìn)而得到:
β的取值影響2 個指標(biāo)的重要性比例,當(dāng)β為1時,二者同樣重要;當(dāng)β >1時,召回率更為重要。相反,當(dāng)β <1時,查準(zhǔn)率更為重要。由于本方法的目標(biāo)是為檢修人員提供設(shè)備排查的優(yōu)先級和具體的異常信息,提高檢測的效率。相比于查準(zhǔn)率,召回率更能體現(xiàn)本方法的可行性,因此選擇F2分?jǐn)?shù)作為評價指標(biāo),將召回率的重要程度設(shè)定為查準(zhǔn)率的2倍。
實驗分為2 個部分。實驗一評估數(shù)據(jù)異常檢測結(jié)果與底層事件累計生成的情況,并對其結(jié)果進(jìn)行分析。實驗二通過事件組合推導(dǎo)出全部異常事件,與實際結(jié)果比對驗證準(zhǔn)確性。
2.3.1 數(shù)據(jù)檢測結(jié)果與異常事件生成情況
結(jié)合表4 中車載設(shè)備協(xié)議類型與1.1.2 節(jié)的異常檢測角度,共得到12 種檢測類別,見表5。該部分實驗選擇3~9 月期間所有車輛的運營數(shù)據(jù),共計約11 萬趟次。以車輛一趟運行時長作為檢測的時間周期,通過表5 中的各類檢測,得到半年間所有趟次的數(shù)據(jù)檢測結(jié)果。
表5 具體異常檢測類別Tab.5 Anomaly detection categories
圖7(a)~(c)分別展示了穩(wěn)定性、完整性和一致性三種性能指標(biāo)下各種檢測方式的異常檢測值分布情況柱狀圖。橫坐標(biāo)表示的檢測編號與表5 相對應(yīng)。異常檢測值按照嚴(yán)重程度從小到大排序,分為4類,分別是:輕(小于0.1)、較輕(介于0.1~0.3 之間)、較重(介于0.3~0.5 之間)和嚴(yán)重(異常值大于0.5)。圖7 中的折線表示異常檢出率,反映該種檢測方式下異常的發(fā)生率。
圖7 異常檢測值統(tǒng)計結(jié)果Fig.7 Statistical results of abnormal detection value
通過對圖7 的分析可以得出:完整性檢測的異常檢出率遠(yuǎn)高于其他2類,但程度較重的檢測值數(shù)量占比遠(yuǎn)小于其他2 種檢測類別。說明車載設(shè)備由于信號波動或者網(wǎng)絡(luò)異常造成的小段數(shù)據(jù)丟失情況較為普遍。一致性檢測異常檢出率最低,但程度較重的檢測值數(shù)量占比高于其他2 種檢測類別,說明該種檢測類別對異常更為敏感,具有針對性。D2、D5和D11在圖7 中異常檢出率遠(yuǎn)高于其他同類別檢測方式,但程度較重的異常值數(shù)量占比與其他檢測方式并無差異。由于這3 種檢測方式都只用到DS2協(xié)議編號,說明協(xié)議周期時間越短,則數(shù)據(jù)積攢的數(shù)目越多,異常檢測效率越高。
針對公交車載設(shè)備的運營安排,設(shè)定一級、二級和三級累計區(qū)的累計時間Ti,i∈{1,2,3}分別為1 日、3 日和7 日。對異常發(fā)生下的特征值進(jìn)行監(jiān)測得到其變化情況。
圖8 是3 個累計區(qū)的特征值變化情況。圖8(a)是累計池在收到短暫的、且程度嚴(yán)重的異常檢測值下特征值的變化情況。
圖8 特征值變化趨勢圖Fig.8 Change trend of characteristic value
一級特征值在嚴(yán)重檢測值出現(xiàn)當(dāng)天快速上升到了最高點后、下降至較低水平,變化趨勢明顯且快速。二級特征值產(chǎn)生了較小幅度的增長、并在隨后3 天均保持穩(wěn)定,當(dāng)程度嚴(yán)重的異常值因超出累計周期時間被淘汰后,二級特征值緩慢下降。而三級特征值增長和變化幅度均不明顯,說明一級累計區(qū)對于短時間內(nèi)嚴(yán)重異常值判別效果較好。圖8(b)是累計池在第3~7 日頻繁收到較高異常檢測值下特征值的積累情況。一級特征值的上下波動較大,但特征值均不超過0.5,難以作為短時間嚴(yán)重異常事件的生成條件。二級特征值在第3 日開始呈連續(xù)增長的趨勢、并且增速較快,至第6 日達(dá)到最高點,隨后緩慢下降。三級特征值呈緩慢增長的趨勢,在第8 日達(dá)到最高值、并保持穩(wěn)定。說明二級累計區(qū)對于一段時間內(nèi)頻繁出現(xiàn)較高異常值的情況判別效果較好,三級累計區(qū)對異常檢測值在更長時間區(qū)間頻繁出現(xiàn)的情況會有更好的累計結(jié)果。
為保證歷史數(shù)據(jù)的故障全部檢出,各累計區(qū)以歷史故障發(fā)生情況下的最低特征值作為閾值,最終得到3~9 月期間全部車輛的底層事件的生成結(jié)果,如圖9 所示。圖9中,每一個柱形反映每種底層事件的生成數(shù)量,底層事件庫所編號與表6 中的庫所編號一一對應(yīng),每個柱形從下至上3 種顏色分別反映一級、二級和三級累計區(qū)的事件生成數(shù)目。
圖9 累計池底層事件生成統(tǒng)計結(jié)果Fig.9 Statistical results for the events generated by the cumulative pool
分析圖9 可以得出:底層事件主要由一級累計區(qū)生成,二級與三級累計區(qū)生成的占比依次減少,分別為70.4%、24.6%和5.0%。說明一日的累計可以判別出大部分的底層異常事件,較長時間周期的累計區(qū)可以捕捉少部分遺漏的底層事件。與圖7 內(nèi)各種檢測結(jié)果比對可以得出,異常檢測值的數(shù)量與底層事件數(shù)量無線性關(guān)系,并且平均各個底層事件生成數(shù)占異常檢測值數(shù)目約0.12%,證明累計池可以有效地過濾掉大量無法推導(dǎo)故障的冗余異常檢測值。
2.3.2 異常事件推導(dǎo)結(jié)果
為了使用概率Petri 網(wǎng)進(jìn)行故障的推理計算,需要獲得組合事件發(fā)生下模塊故障的條件概率。統(tǒng)計3~9 月的維護(hù)數(shù)據(jù),得到故障綜合概率為0.072 4%臺/天,其中報站模塊0.013% 臺/天、GPS模塊0.035%臺/天、網(wǎng)絡(luò)通訊模塊0.024%臺/天。
針對組合事件與最終故障推導(dǎo)的不確定性,通過檢修人員對故障情況下各類組合事件的發(fā)生現(xiàn)象進(jìn)行判斷,得到故障情況下組合事件的發(fā)生概率。將上述概率作為先驗概率,通過式(10)求出各個有向弧的概率權(quán)值,結(jié)合1.3.2 節(jié)Petri 網(wǎng)定義建立事件組合推導(dǎo)Petri 網(wǎng)。全部事件集見表6。
表6 車載設(shè)備異常事件集Tab.6 Abnormal event set of on-board equipments
車載設(shè)備異常事件組合Petri 網(wǎng)如圖10 所示。圖10中,S1~S12為底層事件的庫所,由累計池生成而來,其庫所內(nèi)標(biāo)識的概率值P為事件生成時的特征值。S13~S24均由底層事件或其他組合事件推導(dǎo)而來,其庫所內(nèi)標(biāo)識的概率值P由所有指向該庫所的變遷通過式(8)計算而來。其中,S20、S22、S24為最終的故障庫所。
圖10 車載設(shè)備異常事件組合Petri網(wǎng)Fig.10 Petri nets for combination of on -board equipments abnormal events
該部分實驗選用3~9 月的數(shù)據(jù)和維護(hù)報告對Petri 網(wǎng)中各個變遷的閾值做調(diào)節(jié),9~12 月的真實數(shù)據(jù)作為數(shù)據(jù)集Ⅰ,計算方法的最終準(zhǔn)確率。由于3 個月內(nèi)真實的故障發(fā)生次數(shù)過少,難以驗證本方法的準(zhǔn)確性,因此在原數(shù)據(jù)集的基礎(chǔ)上建立仿真數(shù)據(jù)集Ⅱ和Ⅲ。收集故障發(fā)生下的異常檢測值和特征值,在周期為3 個月的運行數(shù)據(jù)內(nèi),選擇隨機日期、隨機車輛的正常數(shù)據(jù)替換為故障數(shù)據(jù),得到數(shù)據(jù)集Ⅱ。在故障發(fā)生下的歷史數(shù)據(jù)最大邊界值內(nèi)對異常數(shù)據(jù)進(jìn)行浮動,并作為替換數(shù)據(jù)插入至正常數(shù)據(jù)集內(nèi),得到數(shù)據(jù)集Ⅲ。針對每種仿真數(shù)據(jù)集均進(jìn)行多次實驗,得到平均異常結(jié)果見表7。
表7 車載設(shè)備故障檢測結(jié)果Tab.7 Fault detection results of on-board equipments %
由表7 可知,每行對應(yīng)不同數(shù)據(jù)集下的查準(zhǔn)率、召回率和F2均值。本文的目標(biāo)是通過對設(shè)備的異常檢測為檢修人員提供可能發(fā)生故障的設(shè)備,以提高設(shè)備的檢修效率。數(shù)據(jù)結(jié)果表明,本方法對于3類數(shù)據(jù)集的召回率均能保持較高的水平,并且在滿足高召回率的基礎(chǔ)上適當(dāng)兼顧了查準(zhǔn)率,可以有效檢測出可能發(fā)生故障的設(shè)備。
本文提出一種面向車載設(shè)備數(shù)據(jù)流的異常檢測方法,從穩(wěn)定性、完整性、一致性三種角度檢測數(shù)據(jù)間的異常。針對各種異常情況設(shè)置不同時間周期的累計區(qū),通過證據(jù)理論合成公式對區(qū)內(nèi)數(shù)據(jù)的特征進(jìn)行融合,過濾數(shù)據(jù)波動帶來的異常誤判情況。分析底層異常事件、設(shè)備故障與組合事件的關(guān)系,使用概率Petri 網(wǎng)建立車載設(shè)備異常事件組合模型推導(dǎo)設(shè)備故障。實驗結(jié)果表明,該方法可以過濾掉數(shù)據(jù)波動帶來的誤判,有效地檢測出可能發(fā)生異常的車載設(shè)備,異常檢測F2均值接近84%。但由于歷史故障數(shù)據(jù)量較少,難以形成有效的數(shù)據(jù)集調(diào)控各個閾值權(quán)重。如何在檢測中出現(xiàn)新故障數(shù)據(jù)的情況下,動態(tài)地調(diào)控累計池以及組合Petri 網(wǎng)的參數(shù),提高檢測的查準(zhǔn)率,還有待進(jìn)一步的研究。