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