馮富霞,李森貴
(1.安徽工程大學(xué) 計算機(jī)與信息學(xué)院,安徽 蕪湖 241000;2.蕪湖莫森泰克汽車科技有限公司,安徽 蕪湖 241000)
序列數(shù)據(jù)在工業(yè)、醫(yī)學(xué)、IT等行業(yè)十分常見,精確地找出序列中的異常數(shù)據(jù)是非常有價值的。異常檢驗方法有數(shù)學(xué)分布、DTW、概率后綴樹、預(yù)測對比[1-2]、強(qiáng)力搜索[3]等,主要依據(jù)基礎(chǔ)概率統(tǒng)計、鄰近度、判斷模型、回歸模型[2,4]、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等[5]。每種方法都有適用的要求,統(tǒng)計方法必須基于一定的數(shù)學(xué)分布;鄰近度的距離或角度度量法對數(shù)據(jù)在序列中的次序和正負(fù)變化趨勢不敏感,同時如果異常點(diǎn)和正常點(diǎn)的距離很小容易誤判;判斷模型需要大量內(nèi)存和運(yùn)算量;回歸模型參數(shù)復(fù)雜,異常點(diǎn)和正常點(diǎn)的預(yù)測差值閾值敏感;神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)算法復(fù)雜度高,需要大量內(nèi)存和運(yùn)算量。
計算機(jī)的硬件配置飛速提高,如果執(zhí)行異常檢測的硬件是計算機(jī),甚至是云平臺,不管計算量、數(shù)據(jù)量如何,任何算法都可以嘗試。但是在有些場景下受硬件的約束極強(qiáng),無法使用復(fù)雜度高的算法,同時又需要實(shí)時有效地檢測出異常,終止異常并采取措施。例如工業(yè)控制系統(tǒng)序列數(shù)據(jù)異常檢測[5-6]、產(chǎn)品附屬的局部控制功能等。汽車車窗防夾為第二種實(shí)例,硬件配置極大受限,因此對防夾算法的運(yùn)算量、存儲量要求非常敏感,促使研發(fā)人員不斷尋找簡單有效的方法。防夾常用算法是回歸擬合跟隨法,文獻(xiàn)[6]利用復(fù)雜的逆伽馬函數(shù)擬合后,利用殘差正態(tài)分布的異常檢測,局限性必須檢驗證明殘差符合正態(tài)分布才有效。文獻(xiàn)[7-8]基于轉(zhuǎn)矩利用復(fù)雜的線性擬合,然后進(jìn)行殘差閾值比較。文獻(xiàn)[9]利用高斯濾波濾除部分噪聲,然后采用近似積分法對脈寬曲線進(jìn)行積分,再將積分面積和閾值進(jìn)行比較做出是否防夾的判斷,但是實(shí)際中不易定位脈沖的始末位置,同時脈沖周期是多變的,加之異常出現(xiàn)需要及時終止,一個正常的寬扁脈沖和一個異常的高窄脈沖的局部面積可能相等。類似算法[10]的復(fù)雜度比較適合硬件受限環(huán)境。通過對不同路況和時速下,每組3 000~5 000左右數(shù)據(jù)量,25組實(shí)測數(shù)據(jù)的分析研究,設(shè)計了一種更簡單的算法——跟隨周期均值顯著化序列異常數(shù)據(jù)的學(xué)習(xí)算法,其中8組測試使用,17組為學(xué)習(xí)訓(xùn)練使用。
序列數(shù)據(jù)本身具有慣性、次序性、變化的正負(fù)性的特點(diǎn)。序列異常數(shù)據(jù)有分值異常、頻率異常的情況,本算法針對此情況,以汽車車窗防夾的實(shí)際采集數(shù)據(jù)為研究基礎(chǔ),首先霍爾信號和電壓信號融合成一組數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)平滑處理,處理后的序列數(shù)據(jù)圖形如圖1所示。由圖1可知,序列數(shù)據(jù)正常情況下沿某一時段的均值上下震蕩,同時均值上下移動,震蕩周期有變化,異常數(shù)據(jù)明顯高于正常數(shù)據(jù),屬于連續(xù)爬升過程,異常數(shù)據(jù)出現(xiàn)的判斷是障礙物受力超出100 N,所以異常數(shù)據(jù)是一段初始爬升區(qū)域,是異常數(shù)據(jù)的局部,不會放任到最高值的出現(xiàn)。同時序列數(shù)據(jù)具有時效性,爬升閾值需參照臨近的數(shù)據(jù)決定,具有跟隨性,因此車窗防夾算法常常用回歸擬合模型跟隨檢測,然后根據(jù)殘差閾值做出判斷。爬升閾值(殘差閾值)如何設(shè)置是算法有效性的關(guān)鍵。如果跟隨檢測的相鄰數(shù)據(jù)間值差異不顯著,就易出現(xiàn)誤判情況,因此提高跟隨檢測數(shù)據(jù)間取值差異是問題解決的重點(diǎn)。
圖1 原始數(shù)據(jù)預(yù)處理后的序列
則相鄰跟隨周期均值的差值為:
(1)跟隨均值周期T′=c偏小/2;跟隨周期均值顯著化異常數(shù)據(jù)的標(biāo)志,即閾值Dmax=0。
(4)在D中找最小值dmin。
(5)T′=c+1;如果Dmax (6)重復(fù)(2)~(5)步,直到T′≥c偏大或T′>cα;其中cα為明顯差異化的閾值。 圖2 周期不穩(wěn)定的序列以及跟隨周期T 2.3異常檢測設(shè)計 實(shí)驗的數(shù)據(jù)處理、算法驗證、數(shù)據(jù)圖繪制工具為Grapher 12+R x64 3.5.0+eclipse 4.5.2。 直接分析序列相鄰數(shù)據(jù)間差值,異常和正常數(shù)據(jù)間差異性不明確。隨機(jī)抽取學(xué)習(xí)數(shù)據(jù)的10組數(shù)據(jù),取包含異常數(shù)據(jù)區(qū)域的數(shù)據(jù)子序列(x1,x2,x3,…,x240),相鄰兩兩求差值,分析差值取值分布,實(shí)驗顯示差值取值分布幾乎連在一起成直線,沒有明顯的分層。10組結(jié)果中再次隨機(jī)抽取一組其中含兩個異常子序列的數(shù)據(jù),其差值取值分布如圖3所示。因此直接利用相鄰數(shù)據(jù)間差異的相關(guān)特征判斷異常產(chǎn)生,如擬合殘差閾值判斷異常的方法[7-8],極易出現(xiàn)誤判。 圖3 相鄰數(shù)據(jù)間差值分布 圖4 相鄰周期均值差值分布 每組數(shù)據(jù)中至少含有兩類變化性的數(shù)據(jù)的一種:障礙物阻力,必須防夾;對于不同速度、路面等引起的震動阻力不應(yīng)防夾。測試結(jié)果與線性擬合算法進(jìn)行了對比,8組測試序列中防夾點(diǎn)出現(xiàn)時的相關(guān)數(shù)據(jù)如表1所示。 數(shù)據(jù)顯示本算法異常點(diǎn)的檢測率為100%,而線性擬合算法出現(xiàn)了一次誤判;與線性擬合算法的靈敏度相當(dāng),如圖5所示。當(dāng)障礙物固定在車窗某處時(測試序列m6、m7、m8),本算法的異常定位很穩(wěn)定,具有簡單魯棒的特點(diǎn),而線性擬合算法受外界速度、路況的干擾。 表1 防夾點(diǎn)出現(xiàn)時的相關(guān)數(shù)據(jù) 圖5 與線性擬合算法的靈敏度對比 對于取值異常的序列數(shù)據(jù),跟隨周期均值法有顯著化異常數(shù)據(jù)的效果,有效地提高了異常檢測的正確率,降低了誤檢率,同時對外界干擾抵抗力良好,異常定位穩(wěn)定。具有簡單有效、魯棒性的特點(diǎn),對于實(shí)時監(jiān)測,硬件受限的應(yīng)用場景尤為適宜。對于多維數(shù)序列數(shù)據(jù)異常檢測的效果有待驗證,需要深入研究。3 學(xué)習(xí)和測試結(jié)果分析
3.1 學(xué)習(xí)結(jié)果分析
3.2 測試結(jié)果分析
4 結(jié)語