方英蘭+楊勇
摘要:通過(guò)對(duì)移動(dòng)用戶(hù)的出行方式的識(shí)別,可以挖掘出用戶(hù)的移動(dòng)特征。目前識(shí)別移動(dòng)用戶(hù)的出行方式的方法在多種出行方式交替出現(xiàn)時(shí),識(shí)別的準(zhǔn)確度并不高,在特殊情況下,甚至很低。針對(duì)以上問(wèn)題,提出了基于速度和轉(zhuǎn)角相結(jié)合的軌跡劃分的識(shí)別方法,首先利用速度小于固定速度閾值和轉(zhuǎn)角小于固定轉(zhuǎn)角閾值的位置點(diǎn)將原始GPS軌跡劃分為交通方式單一的子軌跡段,然后使用相同的方法對(duì)子軌跡段進(jìn)行劃分。實(shí)現(xiàn)結(jié)果表明,提出的算法能夠有效識(shí)別不同出行方式,效果較一般更好。
關(guān)鍵詞:出行方式;軌跡劃分
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)01-0211-04
1 引言
過(guò)去研究者通過(guò)參與者填寫(xiě)問(wèn)卷調(diào)查和電話(huà)采訪的形式,來(lái)收集出行方式的信息,這通常會(huì)導(dǎo)致遺漏短途旅行和不準(zhǔn)確的數(shù)據(jù)[1-2]。然而隨著全球定位系統(tǒng)(GPS)的迅速發(fā)展,因其覆蓋范圍廣、定位速度快、定位精度高等特點(diǎn),被普遍應(yīng)用于大多數(shù)移動(dòng)終端上。[3]而裝有GPS的移動(dòng)終端使位置點(diǎn)的采集變得容易,這給軌跡數(shù)據(jù)挖掘研究提供了便利。[4]擁有GPS功能的智能手機(jī)可以快速地定位和保存用戶(hù)的空間位置和定位時(shí)間,獲取大量移動(dòng)用戶(hù)的軌跡數(shù)據(jù)。移動(dòng)用戶(hù)軌跡可由位置點(diǎn)按照時(shí)間排序得到,分析移動(dòng)用戶(hù)軌跡,可以挖掘移動(dòng)用戶(hù)出行特征,了解用戶(hù)的出行規(guī)律,活動(dòng)規(guī)律,為解決交通擁堵,對(duì)城市交通進(jìn)行科學(xué)規(guī)劃和合理調(diào)度。
文獻(xiàn)[5]利用速度小于某一閾值的數(shù)據(jù)點(diǎn)將原始GPS軌跡劃分為交通方式單一的子軌跡段,然后對(duì)子軌跡段分別抽取特征,采用監(jiān)督式學(xué)習(xí)方法建立推斷模型對(duì)不同子軌跡的交通方式進(jìn)行識(shí)別。文獻(xiàn)[6]利用手持GPS設(shè)備記錄的GPS定位軌跡,選取方式段長(zhǎng)度,平均速度、速度均值、速度協(xié)方差等、最大的三個(gè)加速度、最大的三個(gè)速度等統(tǒng)計(jì)值,分別利用決策樹(shù)、貝葉斯網(wǎng)、支持向量機(jī)、條件隨機(jī)場(chǎng)等模式識(shí)別方法,對(duì)出行者采用的交通方式進(jìn)行了識(shí)別。文獻(xiàn)[7]提出了一種通過(guò)追蹤AGPS手機(jī)中的定位數(shù)據(jù)來(lái)識(shí)別交通流中的乘客所采用的交通方式的方法,通過(guò)Weka軟件建立起B(yǎng)P神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)AGPS定位數(shù)據(jù)進(jìn)行交通方式的識(shí)別。文獻(xiàn)[8]根據(jù)轉(zhuǎn)角將軌跡劃分成若干軌跡段,然后通過(guò)計(jì)算軌跡段的結(jié)構(gòu)相似度來(lái)判斷軌跡的匹配程度,進(jìn)而完成軌跡聚類(lèi)。文獻(xiàn)[9]提出了三種基于統(tǒng)一時(shí)間軌跡分段的算法,充分考慮了移動(dòng)對(duì)象在軌跡片段上的地理空間、時(shí)間的結(jié)構(gòu),并運(yùn)用了基于時(shí)間序列的距離方法將軌跡劃分為許多空間和時(shí)間均勻的小片段,最后使用了最大移動(dòng)速度來(lái)檢測(cè)基于統(tǒng)一時(shí)間的空間異常點(diǎn)。文獻(xiàn)[10]將一段包含多種交通方式的軌跡分割成交通模式單一的片段,通過(guò)檢測(cè)兩種不同交通方式之間的潛在轉(zhuǎn)換點(diǎn)來(lái)自動(dòng)識(shí)別交通方式,具有相同交通方式的相鄰片段被合并在識(shí)別過(guò)程中。并引入交通模式的層次概念來(lái)對(duì)劃分的片段進(jìn)行交通模式識(shí)別。
根據(jù)以上分析可知,本文提出一種基于軌跡段劃分和貝葉斯網(wǎng)絡(luò)相結(jié)合的方式來(lái)識(shí)別移動(dòng)用戶(hù)的出行方式。該方法首先通過(guò)計(jì)算速度和轉(zhuǎn)角分別小于各自閾值的轉(zhuǎn)折點(diǎn),將GPS軌跡進(jìn)行劃分,由此可以獲得多種出行方式其中之一的子軌跡段,再?gòu)淖榆壽E段中提取不同的出行特征。建立貝葉斯網(wǎng)絡(luò),優(yōu)化貝葉斯網(wǎng)絡(luò)推斷模型,對(duì)分段過(guò)程中形成的每段子軌跡進(jìn)行出行方式識(shí)別。
2 出行方式識(shí)別
2.1 相關(guān)定義
為了更好的描述本文所提出的方法,首先介紹一些所使用的基本定義來(lái)對(duì)軌跡和相關(guān)屬性進(jìn)行形式化描述。
定義1 GPS軌跡(GPS Trajectory,GPSTR)由一系列不斷變化的GPS特征點(diǎn)(GPS Trajectory Points)構(gòu)成,而這些點(diǎn)會(huì)隨著時(shí)間的推移、位置在空間上的變化而變化。這些GPS特征點(diǎn)包含大量的信息,其中最重要的就是位置信息和時(shí)間信息,它通常以經(jīng)緯度的形式來(lái)表示。GPSTR={GPSTR1,GPSTR2,…,GPSTR?,…,GPSTRn},GPSTR?={
,
,…, 定義2 GPS子軌跡(GPS SubTrajectory)一段完整軌跡所包含的部分軌跡,它是由轉(zhuǎn)折點(diǎn)劃分出來(lái)的,包含連續(xù)相對(duì)緊密的數(shù)據(jù)點(diǎn),每段子軌跡代表一種出行方式,不同的子軌跡中相鄰數(shù)據(jù)點(diǎn)間的間隔不同。GPSTR={SubTR1,SubTR2,…,SubTR?,…,SubTRn},其中子軌跡SubTR?表示第i個(gè)子軌跡,SubTR?={ , ,…, },P?j={Lat?j,Lon?j},1 定義3 轉(zhuǎn)折點(diǎn),運(yùn)動(dòng)實(shí)體在特定區(qū)域內(nèi),速度保持較低狀態(tài)、停留時(shí)間超過(guò)一定閾值,且轉(zhuǎn)角超過(guò)一定閾值位置點(diǎn)。 2.2 基于轉(zhuǎn)折點(diǎn)的軌跡劃分 人們?cè)诔鲎廛?chē)站臺(tái)或路邊乘坐出租車(chē)時(shí),在等車(chē)的過(guò)程中,人總是在原地或周邊徘徊,此時(shí)人的速度總是保持幾乎靜止。可能由于各種情況,這種狀態(tài)可能會(huì)持續(xù)好久,導(dǎo)致其產(chǎn)生大量軌跡段,而這些軌跡段之間的轉(zhuǎn)角一般變化比較小。利用轉(zhuǎn)折點(diǎn)將便可以對(duì)GPS軌跡進(jìn)行劃分,每一段稱(chēng)為子軌跡,現(xiàn)假設(shè)每一個(gè)子軌跡段都只有一種出行方式。如圖1所示,假設(shè)用戶(hù)軌跡由12個(gè)位置點(diǎn)組成,這些點(diǎn)是按時(shí)間序列排序的,其中點(diǎn)a1,a2,a3,a4為轉(zhuǎn)折點(diǎn),轉(zhuǎn)折點(diǎn)將軌跡段劃分為幾段出行方式不同的子軌跡段。 現(xiàn)實(shí)生活中由于交通事故、上班高峰時(shí)期等原因?qū)е陆煌〒矶?,此時(shí)轉(zhuǎn)折點(diǎn)的識(shí)別可能會(huì)出現(xiàn)兩種不同的情況,正常狀況指交通順暢,無(wú)擁堵且用戶(hù)只有在改變出行方式時(shí)才會(huì)發(fā)生短暫的停留或徘徊。此時(shí)軌跡中每個(gè)位置點(diǎn)的速度和方向是不同的,分別計(jì)算其速度和轉(zhuǎn)角,尋找速度值小于某一閾值,轉(zhuǎn)角值小于另一閾值的點(diǎn),這時(shí)包含多個(gè)位置點(diǎn)的軌跡便被這些轉(zhuǎn)折點(diǎn)劃分為一個(gè)個(gè)獨(dú)立的子軌跡段,每段子軌跡段代表一種出行方式,如圖2所示,尋找出的轉(zhuǎn)折點(diǎn)即為速度小于閾值且轉(zhuǎn)角小于閾值的點(diǎn)。
當(dāng)城市出現(xiàn)交通擁堵時(shí),人們乘坐的出行工具會(huì)不間斷的發(fā)生變化,如時(shí)快時(shí)慢,時(shí)停時(shí)走,此時(shí)一段軌跡內(nèi)可能會(huì)出現(xiàn)速度和轉(zhuǎn)角小于各自閾值的轉(zhuǎn)折點(diǎn),這些點(diǎn)將這出行方式相同的軌跡段劃分為又劃分為距離更近的子軌跡段。如圖3所示。在公交車(chē)和乘坐出租車(chē)時(shí),出現(xiàn)了多個(gè)速度和轉(zhuǎn)角小于閾值的點(diǎn)或停留點(diǎn),如點(diǎn)p1,p2,p3,它們將一種出行方式下的子軌跡段又劃分成多個(gè)子軌跡段,如tr1,tr2。
針對(duì)軌跡段出行方式已知,但有多個(gè)轉(zhuǎn)折點(diǎn)時(shí),可能軌跡段的出行方式有多種。為了能精準(zhǔn)地找到轉(zhuǎn)折點(diǎn),需要分別計(jì)算這些轉(zhuǎn)折點(diǎn)前后子軌跡段的平均速度和平均轉(zhuǎn)角,如果這兩個(gè)平均速度和平均轉(zhuǎn)角值相近或相等,則將這兩個(gè)識(shí)別有誤的轉(zhuǎn)折點(diǎn)合并,表明此時(shí)并沒(méi)有發(fā)生出行方式的改變。否則不進(jìn)行合并。如圖4所示,在乘坐公交車(chē)子軌跡段中,出現(xiàn)了四個(gè)轉(zhuǎn)折點(diǎn)a2,a3,p1,p2.分別計(jì)算a2和p1,p1和p2、p2和a3間的速度v1、v2、v3,轉(zhuǎn)角θ1、θ2。如果v1、v2、v3相近或相等且θ1、θ2相近或相等,則說(shuō)明沒(méi)有發(fā)生出行方式的轉(zhuǎn)換,此時(shí)將p1和p2合并,在乘坐公交車(chē)的子軌跡段中,只有a2和a3兩個(gè)轉(zhuǎn)折點(diǎn)。
算法1描述了如何識(shí)別轉(zhuǎn)折點(diǎn)的詳細(xì)步驟,第3行計(jì)算位置點(diǎn)的速度,第4、5行計(jì)算位置點(diǎn)的轉(zhuǎn)角,第6行尋找待轉(zhuǎn)折點(diǎn),第7~13為判斷待轉(zhuǎn)折點(diǎn)是否為轉(zhuǎn)折點(diǎn)的過(guò)程,其中第7~8行為交通順暢時(shí)識(shí)別待轉(zhuǎn)折點(diǎn)為轉(zhuǎn)折點(diǎn)的方法,其中10~13行為交通出現(xiàn)堵塞時(shí)轉(zhuǎn)折點(diǎn)的識(shí)別步驟,第10、11行為計(jì)算平均速度和平均轉(zhuǎn)角,其中Li、Ti、SPi、θi分別表示子軌跡段的長(zhǎng)度、時(shí)間、平均速度和轉(zhuǎn)角。第12行為判斷平均速度和轉(zhuǎn)角是否相等或接近,如果符合要求則合并中間的待轉(zhuǎn)折點(diǎn),將子軌跡頭尾待轉(zhuǎn)折點(diǎn)識(shí)別為轉(zhuǎn)折點(diǎn)。
算法1 find_TurnPoint(N,speedThreshold,cornerThreshold,trafficCondition)
輸入:GPS位置點(diǎn)N,一個(gè)速度閾值speedThreshold,一個(gè)轉(zhuǎn)角閾值cornerThreshold,交通順暢、交通堵塞兩種情況
輸出:一組轉(zhuǎn)折點(diǎn)集合TPCollection
1. i=0;pointNum=|N|;
2. While i 3. speed=length/time; 4. α=arccos((length2+lengthi+12-hypotlength2)/2lengthi*lengthi+1); 5. θ=|π-α|; 6. if speed 7. if trafficCondition is normal then 8. TPCollection.Add(pi); 9. else 10. SPi=aveSpeed(Li,Ti); 11. θi=aveθ(θi,θi+1); 12. if SPi≈SPi+1 || θi≈θi+1then 13. TPCollection.Add(p1,pn); 14. break; 15. i++; 16. return TPCollection; 2.3 特征提取 移動(dòng)用戶(hù)出行時(shí)方式各異,導(dǎo)致出行速度和轉(zhuǎn)角又各有不同。公交車(chē)沿著固定的線路行駛,其速度一般變化不大,在一段路程上其轉(zhuǎn)角變化很小甚至沒(méi)有任何變化。出租車(chē)由于所在用戶(hù)的不同,道路情況不同,其具有一定的不確定性,所以其速度和轉(zhuǎn)角一般變化較大。因此我們可以通過(guò)計(jì)算移動(dòng)用戶(hù)的速度和轉(zhuǎn)角來(lái)識(shí)別其出行方式,找出其出行規(guī)律。本文考慮的因素有速度,平均速度,夾角,轉(zhuǎn)角,平均轉(zhuǎn)角,相關(guān)定義如下: 1)速度:運(yùn)動(dòng)實(shí)體從起始位置到終點(diǎn)位置單位時(shí)間內(nèi)位置變化大小程度,用Vi=Li/ti表示,i=1,2,3,…,n. 2)平均速度:運(yùn)動(dòng)實(shí)體在時(shí)間段內(nèi)其位置變化大小的平均程度。用V=(Vi+Vi+1+…+Vj)/n表示,其中1≦i≦n,1≦j≦n,n表示當(dāng)前子軌跡段內(nèi)位置點(diǎn)的數(shù)目,Vi表示位置點(diǎn)i處的速度。 3)夾角:運(yùn)動(dòng)實(shí)體在某點(diǎn)相鄰兩個(gè)軌跡段之間的夾角,它反映了運(yùn)動(dòng)實(shí)體的運(yùn)動(dòng)趨勢(shì),用αi=arccos((a2+b2-c2)/2a*b)表示,a,b分別表示位置點(diǎn)i處相鄰軌跡段的長(zhǎng)度,c表示位置點(diǎn)i的斜邊長(zhǎng)度,其中1≦i≦n。 4)轉(zhuǎn)角:運(yùn)動(dòng)實(shí)體在某點(diǎn)相鄰兩個(gè)軌跡段之間方向偏移量。規(guī)定外向轉(zhuǎn)角為正值,內(nèi)向轉(zhuǎn)角為負(fù)值,用θi=|π-αi|,其中1≦i≦n。 5)平均轉(zhuǎn)角:一段時(shí)間內(nèi)運(yùn)動(dòng)實(shí)體的子軌跡段之間的平均偏移程度。用θ=(θi+θi+1+…+θj)/n表示,其中1≦i≦n,1≦j≦n,n表示子軌跡上位置點(diǎn)的數(shù)目,θi表示位置點(diǎn)i處的轉(zhuǎn)角。 如圖5一段軌跡包括3個(gè)位置點(diǎn),如a1,a2,a3,位置點(diǎn)a1,a2之間的距離為L(zhǎng)1,時(shí)間間隔為T(mén)1,a2和a3之間的距離為L(zhǎng)2,時(shí)間間隔為T(mén)2,以及a1和a3的距離L3,可以應(yīng)用式(1)、(2)和式(3),計(jì)算a1的速度,軌跡段Tra1a2和Tra2a3之間夾角,轉(zhuǎn)角。 2.4 模型識(shí)別 本文使用貝葉斯網(wǎng)絡(luò)對(duì)出行方式進(jìn)行自動(dòng)識(shí)別。首先計(jì)算軌跡中位置點(diǎn)的速度和相鄰軌跡段之間的轉(zhuǎn)角,識(shí)別速度小于速度閾值和轉(zhuǎn)角小于轉(zhuǎn)角閾值的轉(zhuǎn)折點(diǎn),劃分GPS軌跡為多個(gè)子軌跡段,再計(jì)算子軌跡段的平均速度和平均轉(zhuǎn)角,對(duì)子軌跡段進(jìn)行轉(zhuǎn)折點(diǎn)判斷,最終識(shí)別移動(dòng)用戶(hù)的出行方式。利用移動(dòng)用戶(hù)速度,平均速度和轉(zhuǎn)角、平均轉(zhuǎn)角來(lái)建立出行方式貝葉斯網(wǎng)絡(luò),再使用測(cè)試集對(duì)該貝葉斯網(wǎng)絡(luò)進(jìn)行優(yōu)化。最終使用建立的貝葉斯網(wǎng)絡(luò)自動(dòng)識(shí)別軌跡段的出行方式。
3 實(shí)驗(yàn)結(jié)果分析
針對(duì)本文提出的結(jié)合速度和轉(zhuǎn)角來(lái)進(jìn)行軌跡劃分的出行方式識(shí)別方法,,以北方工業(yè)大學(xué)數(shù)據(jù)庫(kù)實(shí)驗(yàn)室開(kāi)發(fā)的移動(dòng)互聯(lián)資源管理平臺(tái)的手機(jī)端手機(jī)的數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),本數(shù)據(jù)集記錄了338個(gè)用戶(hù)在3年之內(nèi)的移動(dòng)行為,每個(gè)用戶(hù)持有一個(gè)安裝有開(kāi)發(fā)的易劃APP的智能手機(jī)來(lái)將各自的位置數(shù)據(jù)回傳到服務(wù)器的數(shù)據(jù)庫(kù)保存,通過(guò)挖掘這些位置數(shù)據(jù),可以得到用戶(hù)個(gè)人的出行方式。選擇該數(shù)據(jù)集中的部分?jǐn)?shù)據(jù)作為訓(xùn)練集,剩余數(shù)據(jù)作為測(cè)試集,來(lái)驗(yàn)證該方法。
3.1 分段方法精確度
為了突出本文提出的速度和轉(zhuǎn)角相結(jié)合的轉(zhuǎn)折點(diǎn)劃分方法的準(zhǔn)確性,分別選擇基于單一速度的分段方法[4]和基于參考時(shí)間的分段方法[9]與之進(jìn)行對(duì)比?;趩我凰俣鹊姆侄畏椒ㄖ焕盟俣葋?lái)進(jìn)行軌跡分段,基于參考時(shí)間的分段方法利用相同時(shí)間間隔將軌跡分段。本文選擇速度區(qū)間0.4~4m/s來(lái)測(cè)試基于單一速度的分段方法不同數(shù)據(jù)集的精確度,選擇時(shí)間區(qū)間40~280s來(lái)測(cè)試參考時(shí)間的分段方法不同數(shù)據(jù)集的精確度,而對(duì)于基于速度和轉(zhuǎn)角相結(jié)合的分段方法,選擇速度區(qū)間0.5~5m/s和轉(zhuǎn)角區(qū)間4°~40°測(cè)試不同數(shù)據(jù)集的精確度。如圖6、圖7和圖8所示,三種方法在不同數(shù)據(jù)集時(shí)大體都是呈先上升達(dá)到最高點(diǎn)后下降趨勢(shì),只是在單一時(shí)間劃分方法時(shí)略微不同,此方法時(shí)在數(shù)據(jù)集1和數(shù)據(jù)集3時(shí)中間有少許下降。整體來(lái)看速度和轉(zhuǎn)角相結(jié)合的方法的精確度明顯高于單一速度劃分方法和統(tǒng)一時(shí)間劃分方法。由于本文所提方法考慮了兩種因素,且這兩個(gè)因素對(duì)于出行方式的識(shí)別具有關(guān)鍵作用,且在現(xiàn)實(shí)生活中符合用戶(hù)的出行特點(diǎn),所以本方法識(shí)別的精確度更高。
4 結(jié)語(yǔ)
本文提出了一種將速度和轉(zhuǎn)角相結(jié)合的軌跡段拆分方法,并利用建立決定出行方式的貝葉斯網(wǎng)絡(luò),最終識(shí)別出各個(gè)分段的出行方式。首先計(jì)算各個(gè)分段的速度和轉(zhuǎn)角,識(shí)別出轉(zhuǎn)折點(diǎn)。然后再對(duì)子軌跡段進(jìn)行平均速度和平均轉(zhuǎn)角,根據(jù)平均速度和平均轉(zhuǎn)角來(lái)識(shí)別子軌跡段上的出行方式。根據(jù)訓(xùn)練集得到的結(jié)果建立速度、平均速度和轉(zhuǎn)角、平均轉(zhuǎn)角決定的貝葉斯網(wǎng)絡(luò),并使用測(cè)試集來(lái)驗(yàn)證建立的貝葉斯網(wǎng)絡(luò)的正確性,并做調(diào)整。本方法將速度和轉(zhuǎn)角相結(jié)合,相比之前的方法[4][9],識(shí)別的出行方式更契合移動(dòng)用戶(hù),也符合現(xiàn)實(shí)生活。但由于轉(zhuǎn)角的計(jì)算難道大,計(jì)算的轉(zhuǎn)角又不那么準(zhǔn)確,增加了計(jì)算的時(shí)間,且識(shí)別時(shí)考慮的因素相對(duì)來(lái)說(shuō)比較不完整。下一步找到快速、準(zhǔn)確的計(jì)算轉(zhuǎn)角方法,并考慮其他因素,如移動(dòng)用戶(hù)的出行喜好,移動(dòng)用戶(hù)所在區(qū)域的交通狀況等,來(lái)提高出行方式識(shí)別的精確度。
參考文獻(xiàn):
[1] S.Bricka and C.Bhat.Comparative Analysis of Global Positioning System-Based and Travel Survey-Based Data[J].Transportation Research Record:Journal of the Transportation Research Board,1972:9-20,Jan 2006.
[2] G.Draijer,N.Kalfs,and J.Perdok.Global Positioning System as Data Collection Method for Travel Research[J].Transportation Research Record:Journal of the Transportation Research Board,1719:147-153,Jan 2000.
[3] Jianwei Han,Micheline Kamber,Jian Pei.數(shù)據(jù)挖掘:概念與技術(shù)[M].北京:機(jī)械工業(yè)出版社,2012.7.
[4] 李海.基于GPS軌跡的周期模式發(fā)現(xiàn)[J].電子設(shè)計(jì)工程.2015,21(23):24-27.
[5] 肖艷麗,張振宇,楊文忠.基于GPS軌跡的用戶(hù)移動(dòng)行為挖掘算法[J].計(jì)算機(jī)應(yīng)用與軟件.2015.11(32):83-87.
[6] 袁華,錢(qián)宇,楊銳.基于GPS軌跡的用戶(hù)興趣點(diǎn)及頻繁路徑挖掘研究[J].系統(tǒng)工程理論與實(shí)踐.2015.5(35):1276-1282.
[7] 袁冠,夏士雄,張磊,周勇.基于結(jié)構(gòu)相識(shí)度的軌跡聚類(lèi)算法[J].通信學(xué)報(bào).2011,9(32):103-110.
[8] Yoon H,Shahabi C.Robust Time-Referenced Segmentation of Moving Object Trajectories[C]/ /ICDM,2008:1121-1126.