基于网络索引树的异常轨迹检测算法
針對軌跡數(shù)據(jù)的運(yùn)動規(guī)律和特征,結(jié)合空間劃分的方法,提出本文的基于網(wǎng)絡(luò)索引的異常軌跡檢測方法。
實(shí)驗結(jié)果表明,該算法可提高異常軌跡挖掘效率,且更有現(xiàn)實(shí)意義。
該算法不足:對參數(shù)比較敏感,目前(2014)只適用于靜態(tài)歷史軌跡數(shù)據(jù)庫。
異常軌跡檢測完整算法:
輸入軌跡數(shù)據(jù)集,參數(shù),閾值,鄰域
首先對軌跡數(shù)據(jù)庫做基于距離的線性插值;
接著構(gòu)建網(wǎng)絡(luò)索引樹,在檢測出異常軌跡點(diǎn)后,根據(jù)定義計算軌跡異常度,
最后輸出異常軌跡。
以下是詳解:
1. 構(gòu)建網(wǎng)絡(luò)索引樹算法:
創(chuàng)建根節(jié)點(diǎn),對輸入數(shù)據(jù)集的每一個數(shù)據(jù)點(diǎn)計算所在單元,
將數(shù)據(jù)點(diǎn)插入樹中,
返回網(wǎng)絡(luò)索引樹。
2. 軌跡樹的范圍查詢
先獲得當(dāng)前維序列號,如果它加上范圍值加1大于當(dāng)前節(jié)點(diǎn)關(guān)鍵字個數(shù),就把關(guān)鍵字個數(shù)減少1賦值給開始位置,否則把當(dāng)前維序列號加上范圍賦值給開始位置。
然后再從開始位置依次循環(huán)遍歷查詢:
如果當(dāng)前維序列號減去范圍值大于當(dāng)前關(guān)鍵字值,就返回;
否則,判斷當(dāng)前維序列號加上范圍值是否小于當(dāng)前關(guān)鍵字值,如果是,就執(zhí)行下一次循環(huán)。
如果當(dāng)前層不是葉節(jié)點(diǎn),就執(zhí)行遞歸范圍查詢
否則,加入結(jié)果集合。
最后返回結(jié)果集合。
3.計算軌跡異常度
首先計算經(jīng)過每個單元的軌跡數(shù)目,如果大于閾值,則將其標(biāo)記為紅色,表明該單元中的軌跡點(diǎn)正常,否則標(biāo)記為白色,表明軌跡點(diǎn)異常。
然后針對白色單元的每個異常軌跡點(diǎn),根據(jù)下面的條件判斷是否異常。
判斷是否異常的條件:
1.局部異常軌跡點(diǎn)的判斷:給定軌跡數(shù)據(jù)集,如果軌跡點(diǎn)集合中的某一點(diǎn)不被包含在任何一個核心軌跡點(diǎn)的鄰域內(nèi),則稱該點(diǎn)為局部異常軌跡點(diǎn)。
2.異常軌跡點(diǎn)檢測算法
輸入網(wǎng)絡(luò)索引樹,軌跡點(diǎn)集合,閾值 ,鄰域限定
首先, 依次判斷網(wǎng)絡(luò)索引樹的每一個葉節(jié)點(diǎn)是否大于閾值,如果是,則將其歸為紅色單元,
接著,對網(wǎng)絡(luò)索引樹中的每個白色節(jié)點(diǎn)中的每一個軌跡點(diǎn),利用已知條件對網(wǎng)絡(luò)索引樹的范圍查詢,
然后,對結(jié)果集中的每一個對象,判斷其與白色節(jié)點(diǎn)中的軌跡點(diǎn)的距離,
如果小于鄰域值,就將其添加到鄰域集合;
如果該對象鄰域集合為空,判斷其鄰域基數(shù)是否小于閾值,如果是將其添加到異常軌跡點(diǎn)集合中,最后返回該異常軌跡點(diǎn)集合。
參考文獻(xiàn):
【1】陳剛,錢猛,劉金. 基于劃分的高效異常軌跡檢測[J]. 計算機(jī)工程與應(yīng)用, 2014, 50(24): 127-132, 172.
總結(jié)
以上是生活随笔為你收集整理的基于网络索引树的异常轨迹检测算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenMP的环境变量
- 下一篇: 编译处理过程