国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于IsolationForest的城市道路交通異常檢測方法與流程

      文檔序號:12676963閱讀:601來源:國知局
      基于Isolation Forest的城市道路交通異常檢測方法與流程

      本發(fā)明屬于智能交通領(lǐng)域,尤其涉及一種基于Isolation Forest的城市道路交通異常檢測方法。



      背景技術(shù):

      交通異常是指道路的實際運行特征偏離了它期望的運行特征,這在城市交通路網(wǎng)中廣泛的存在。當發(fā)生重大交通事故、集會、施工以及交通管制等情況時,路網(wǎng)交通流會變得異常,影響出行時間、效率以及造成污染等,因此對于交通管理部門來說,檢測城市路網(wǎng)中的異常十分重要。但是基于城市路網(wǎng)的復雜性,目前大多數(shù)的異常算法研究還只是基于高速公路和快速路而展開的,對于城市道路交通異常檢測仍處于弱勢。

      城市道路交通異常的檢測基于采集到的交通數(shù)據(jù)進行,本質(zhì)上是一個模式識別或分類問題。根據(jù)所使用的數(shù)據(jù)源的不同,現(xiàn)有的交通異常檢測方法可以分為兩類:基于固定監(jiān)測器的檢測方法和基于浮動車的檢測方法。

      被廣泛應(yīng)用的基于固定監(jiān)測器的交通異常檢測算法有:基于模式識別的加利福尼亞算法、基于統(tǒng)計分析的標準偏差法等。加利福尼亞算法通過比較相鄰檢測站之間的占有率數(shù)據(jù),對可能存在的交通異常進行判別。標準偏差法通過判斷交通參數(shù)的變化率是否大于指定的閾值來實現(xiàn)對交通異常的判別。固定監(jiān)測器大多是鋪設(shè)在道路上的,數(shù)據(jù)精度較好,但是只能檢測特定點的交通信息,難以檢測路段的交通信息。

      浮動車技術(shù)是發(fā)展比較新型的交通信息采集技術(shù)。浮動車是裝備有GPS設(shè)備的車輛,具有應(yīng)用方便、經(jīng)濟、覆蓋范圍廣等特點,且采集到的是基于路段區(qū)間的數(shù)據(jù)(如路段的速度),能較為真實的反映道路的運行狀況。

      基于固定監(jiān)測器數(shù)據(jù)的檢測方法是直接檢測道路相關(guān)參數(shù)的變化,而浮動車返回的數(shù)據(jù)是車輛行駛狀態(tài)的參數(shù),因此基于固定監(jiān)測器的檢測方法無法適用于浮動車數(shù)據(jù)。

      基于浮動車數(shù)據(jù)的城市交通異常檢測算法有兩類:一類算法將地圖劃分為區(qū)域,用向量表示區(qū)域與區(qū)域之間車輛流動的變化,然后用KNN等方法檢測異常,這些算法得到的是區(qū)域與區(qū)域之間的異常;另一類算法計算檢測道路的異常,例如正態(tài)偏差檢測算法,該算法假定道路在某個時間段內(nèi)的交通值服從正態(tài)分布,如果某個時間段的交通流量超過了指定的閾值,則認為這條道路在這個時間段內(nèi)是異常的,該方法需要計算所有道路在不同的時間段內(nèi)分布值,當?shù)缆窋?shù)量較多的時候計算量大。

      Isolation Forest方法最初提出來是用于檢測網(wǎng)絡(luò)入侵數(shù)據(jù)等。它的基本思想是認為異常數(shù)據(jù)在整體數(shù)據(jù)里是孤立而且較少的,那么在對數(shù)據(jù)進行劃分時,異常數(shù)據(jù)相對于正常的數(shù)據(jù)只需要很少的次數(shù)就能劃分出來。Isolation Forest方法在對內(nèi)存需求較低的情況下能保持線性時間復雜度,因為Isolation Forest方法通過采樣數(shù)據(jù)集來訓練異常樹,因此在數(shù)據(jù)量較大的數(shù)據(jù)集以及高維數(shù)據(jù)集上也有很好的表現(xiàn)。



      技術(shù)實現(xiàn)要素:

      本發(fā)明提供一種基于Isolation Forest的城市道路交通異常檢測方法。以道路為檢測對象,根據(jù)道路在不同時段的平均運行速度劃分不同類別數(shù)據(jù)集,基于每個數(shù)據(jù)集訓練一個Isolation Forest,通過檢測道路速度在Isolation Forest中到根節(jié)點的距離來判斷道路是否異常。本發(fā)明提出的方法計算量小,不需要對每條道路都計算其分布。

      為實現(xiàn)上述方法,本發(fā)明采用如下的技術(shù)方案:

      一種基于Isolation Forest的城市道路交通異常檢測方法包括以下步驟:

      步驟1、以道路為檢測對象,根據(jù)道路在不同時段的平均運行速度劃分不同類別數(shù)據(jù)集;

      步驟2、基于每個數(shù)據(jù)集訓練一個Isolation Forest,通過檢測道路速度在Isolation Forest中到根節(jié)點的距離來判斷道路是否異常。

      作為優(yōu)選,步驟1具體為:

      設(shè)城市路網(wǎng)用一個有向圖G表示:

      G=(V,E)

      V是有向圖的點集,每個點表示路網(wǎng)中的交叉口,由經(jīng)度和緯度組成的兩元組表示;E是有向圖的邊集,每條邊表示路網(wǎng)中某條道路;

      浮動車通過攜帶的GPS設(shè)備返回車輛狀態(tài),返回數(shù)據(jù)的形式如下:

      record=[car ID,time,latitude,lontitude,speed,angel]

      其中car ID表示車輛的車牌號,time表示返回記錄時的時間,latitude、lontitude表示返回記錄時車輛所在位置的經(jīng)度和緯度,speed表示車輛速度,angel表示車輛行駛角度;

      首先,對浮動車返回的數(shù)據(jù)進行地圖匹配,計算與浮動車返回數(shù)據(jù)(latitude、lontitude)最接近的道路上的點,即使浮動車數(shù)據(jù)與路段匹配的正確位置;

      其次,將浮動車數(shù)據(jù)匹配后的道路數(shù)據(jù)進行分類,分類有時間和速度兩個維度的標準:1)對每日06:00到21:00時間段以預(yù)設(shè)時間間隔進行劃分;2)將每個時間段內(nèi)道路速度按照城市道路交通評價指標體系分為四個速度區(qū)間,

      然后對路網(wǎng)中所有道路按照時間段標記速度區(qū)間,即<e,t,s>表示在時間段t,道路e屬于速度區(qū)間s,s∈{S1,S2,S3,S4},e∈E,其中s是n天內(nèi)的時間段t道路e速度的均值;

      根據(jù)道路標記的速度區(qū)間,將所有的道路數(shù)據(jù)分為四個數(shù)據(jù)集Di,i∈{1,2,3,4},如果<e,t,s>的分量s∈Si,則道路e在n天內(nèi)的時間段t的記錄<e,tj,speed>∈Di,j={1,2,……n}。

      作為優(yōu)選,步驟2具體包括以下步驟為:

      步驟2.1、基于數(shù)據(jù)集Di構(gòu)建Isolation Forest Fi={Tk|k=1,2,…,m}用于檢測城市道路交通異常,F(xiàn)i是包含m棵異常樹的森林;

      步驟2.2、檢測一條道路記錄<e,tj,speed>,即道路e在第j天的時間段t內(nèi)的平均速度speed是否異常,先找到其所屬的速度區(qū)間Si,即找到了對應(yīng)的Isolation Forest Fi,然后計算道路記錄在Fi中的平均深度;

      步驟2.3、根據(jù)計算得到道路記錄在Isolation Forest Fi中的平均深度,即道路記錄距離根節(jié)點的期望長度為length,按照公式(1)計算異常值

      c(ψ)由公式(2)計算。

      H(ψ-1)=ln(ψ-1)+0.57721(歐拉常數(shù))

      其中,ψ為256,

      如果記錄的返回值s非常接近1,表明記錄離根節(jié)點近,通過很少的劃分便能隔離出來,則這條記錄可以認為是異常的;

      如果返回值遠遠小于0.5,說明記錄距離根節(jié)點較遠,需要多次劃分才能將這條記錄隔離出來,則這條記錄可以認為是正常的。

      附圖說明

      圖1為Isolation Tree的結(jié)點結(jié)構(gòu);

      圖2異常路段數(shù)比例;

      圖3本方法檢測到的異常路段;

      圖4 Isolation Forest與正態(tài)偏差檢測算法訓練所消耗的時間示意圖。

      圖5本發(fā)明異常檢測方法的流程圖。

      具體實施方式

      如圖5所示,本發(fā)明提供一種基于Isolation Forest的城市道路交通異常檢測算法。以道路為檢測對象,根據(jù)道路在不同時段的平均運行速度劃分不同類別數(shù)據(jù)集,基于每個數(shù)據(jù)集訓練一個Isolation Forest,通過檢測道路速度在Isolation Forest中到根節(jié)點的距離來判斷道路是否異常。本發(fā)明提出的方法計算量小,不需要對每條道路都計算其分布。

      城市路網(wǎng)用一個有向圖G表示:

      G=(V,E)

      V是有向圖的點集,每個點表示路網(wǎng)中的交叉口,一般由經(jīng)度和緯度組成的兩元組表示。E是有向圖的邊集,每條邊表示路網(wǎng)中某條道路。

      浮動車通過攜帶的GPS設(shè)備返回車輛狀態(tài),返回數(shù)據(jù)的形式如下:

      record=[car ID,time,latitude,lontitude,speed,angel]

      其中car ID表示車輛的車牌號,time表示返回記錄時的時間,latitude、lontitude表示返回記錄時車輛所在位置的經(jīng)度和緯度,speed表示車輛速度,angel表示車輛行駛角度。一般來說,每日21:00到次日6:00之間浮動車數(shù)量較少,返回的數(shù)據(jù)量不夠,因此異常檢測只考慮當日06:00到21:00時間段上的道路異常狀態(tài)檢測。

      首先需要對浮動車返回的數(shù)據(jù)進行地圖匹配,因為浮動車返回的經(jīng)緯度信息存在偏差,需要計算與浮動車返回數(shù)據(jù)(latitude、lontitude)最接近的道路上的點,即使浮動車數(shù)據(jù)與路段匹配的正確位置,然后根據(jù)浮動車的速度計算出道路的平均速度。

      其次為了更加精確的檢測到異常,需要將浮動車數(shù)據(jù)匹配后的道路數(shù)據(jù)進行分類,分類有時間和速度兩個維度的標準:1)對每日06:00到21:00時間段以20分鐘為間隔進行劃分,即每天包含有45個時間段;2)將每個時間段內(nèi)道路速度按照城市道路交通評價指標體系分為四個速度區(qū)間,對特定速度值speed來說

      if speed>60km/h speed∈S1

      else if speed≥40km/h speed∈S2

      else if speed≥20km/h speed∈S3

      else speed∈S4

      然后對路網(wǎng)中所有道路按照時間段標記速度區(qū)間,即<e,t,s>表示在時間段t,道路e屬于速度區(qū)間s,s∈{S1,S2,S3,S4},e∈E,其中s是n天內(nèi)的時間段t道路e速度的均值。

      根據(jù)道路標記的速度區(qū)間,將所有的道路數(shù)據(jù)分為四個數(shù)據(jù)集Di,i∈{1,2,3,4}。如果<e,t,s>的分量s∈Si,則道路e在n天內(nèi)的時間段t的記錄<e,tj,speed>∈Di,j={1,2,……n}。

      接下來基于數(shù)據(jù)集Di構(gòu)建Isolation Forest Fi={Tk|k=1,2,…,m}用于檢測城市道路交通異常,F(xiàn)i是包含m棵異常樹的森林。

      基于數(shù)據(jù)集D構(gòu)建Isolation Forest F的算法如下:

      異常樹的構(gòu)建算法如下:

      檢測一條道路記錄<e,tj,speed>,即道路e在第j天的時間段t內(nèi)的平均速度speed是否異常,先找到其所屬的速度區(qū)間Si,即找到了對應(yīng)的IsolationForest Fi,然后計算道路記錄在Fi中的平均深度。

      計算道路記錄在Isolation Forest中的平均深度算法如下:

      根據(jù)Algorithm 3可計算得到記錄x在Isolation Forest Fi中的平均深度,即記錄x距離根節(jié)點的期望長度為length,按照公式(1)計算異常值

      c(ψ)由公式(2)計算。

      H(ψ-1)=ln(ψ-1)+0.57721(歐拉常數(shù))

      本發(fā)明中ψ取值256。

      s關(guān)于length單調(diào)遞減,如果記錄的返回值s非常接近1,表明記錄離根節(jié)點近,通過很少的劃分便能隔離出來,則這條記錄可以認為是異常的。

      如果返回值遠遠小于0.5,說明記錄距離根節(jié)點較遠,需要多次劃分才能將這條記錄隔離出來,則這條記錄可以認為是正常的。

      本發(fā)明對上述方法進行了實驗,并得到了明顯的效果。實驗區(qū)域是在北京市五環(huán)內(nèi)。我們用OpenStreeMap(OSM)數(shù)據(jù)來構(gòu)建北京市的路網(wǎng),剔除掉一些車輛無法通行的道路后,共有39951條路。出租車數(shù)據(jù)從2013年6月1日到2013年6月14日,剔除掉錯誤數(shù)據(jù)和不符合要求的數(shù)據(jù)后,每日的數(shù)據(jù)量約在1000萬條以上。

      根據(jù)我們的方法計算14天中每天異常路段數(shù)占總體的比例,如圖2所示,可以看出在2013年6月8日與6月9日異常路段數(shù)明顯增多。而根據(jù)北京交通發(fā)展研究中心發(fā)布的北京市道路交通運行分析報告中指出,在2013年6月8日與6月9日適逢端午假期前不限行工作日、北京市高考以及降雨三因素疊加,道路交通擁堵情況突出,特別是6月9日高峰交通指數(shù)達到6月最高值8.4。

      而北京市交通委發(fā)布的數(shù)據(jù)也顯示6月8日與6月9日的道路交通指數(shù)明顯要高于其它幾天。表1為北京市交通委發(fā)布的道路交通指數(shù)。

      表1 2013年6月北京市交通指數(shù)

      圖3為2013年6月8日18:20:00時的交通情況。其中黑線部分表示本方法檢測到的異常路段。

      而Isolation Forest在時間上也要優(yōu)于基于道路的正態(tài)偏差檢測算法。這兩種算法在檢測一條紀錄是否異常所消耗的時間都在1ms左右,但是在訓練過程中正態(tài)偏差算法所需的時間與道路數(shù)量成線性關(guān)系,道路數(shù)量越多,其訓練需要的時間越長。而Isolation Forest算法因為是基于采樣數(shù)據(jù)來構(gòu)建異常樹,因此訓練所消耗的時間與道路數(shù)量無關(guān)。

      圖4為兩種算法在訓練上所消耗的時間??梢钥闯鲈诘缆窋?shù)量較多時,Isolation Forest所消耗的時間要明顯少于正態(tài)偏差檢測算法。

      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1