唐帥+李青
摘 要:基于電子地圖的路況實(shí)時(shí)預(yù)測(cè)在交通管理中起著非常重要的作用。本文提出了一種基于出租車大數(shù)據(jù)和生成式學(xué)習(xí)算法使用歷史出租車GPS數(shù)據(jù)預(yù)測(cè)事實(shí)車速并與真實(shí)事實(shí)車速進(jìn)行比較,從而實(shí)現(xiàn)城市交通狀況實(shí)時(shí)分析的思路,并探討其在MapReduce模型下的實(shí)現(xiàn)。
關(guān)鍵詞:大數(shù)據(jù);生成式學(xué)習(xí)算法;MapReduce
一、引言
智能交通系統(tǒng)是未來(lái)交通系統(tǒng)的發(fā)展方向,它是將先進(jìn)的信息技術(shù)、數(shù)據(jù)通訊傳輸技術(shù)、電子傳感技術(shù)、控制技術(shù)及計(jì)算機(jī)技術(shù)等有效地集成運(yùn)用于整個(gè)地面交通管理系統(tǒng)而建立的一種在大范圍內(nèi)、全方位發(fā)揮作用的,實(shí)時(shí)、準(zhǔn)確、高效的綜合交通運(yùn)輸管理系統(tǒng)。智能交通可以有效地利用現(xiàn)有交通設(shè)施、減少交通負(fù)荷和環(huán)境污染、保證交通安全、提高運(yùn)輸效率,因而,日益受到各國(guó)的重視。
本文提出了一種基于出租車大數(shù)據(jù)和生成式學(xué)習(xí)算法使用歷史出租車GPS數(shù)據(jù)進(jìn)行城市交通狀況實(shí)時(shí)分析的思路,并簡(jiǎn)略的討論了用MapReduce編程模型實(shí)現(xiàn)模型的方法。
本文首先對(duì)提出方法的大體思路進(jìn)行簡(jiǎn)單介紹,其次對(duì)算法的詳細(xì)設(shè)計(jì)進(jìn)行探討,再次探討本文提出的方法在MapReduce編程模型下的實(shí)現(xiàn)。最后對(duì)本文的工作做出總結(jié)。
二、基本思路
針對(duì)出租車GPS數(shù)據(jù)集的特點(diǎn)設(shè)計(jì)生成式學(xué)習(xí)算法,并使用歷史數(shù)據(jù)對(duì)算法進(jìn)行訓(xùn)練。使用訓(xùn)練得到的生成式學(xué)習(xí)算法,根據(jù)實(shí)時(shí)數(shù)據(jù)中除去車速以外的部分對(duì)車速進(jìn)行預(yù)測(cè),并將預(yù)測(cè)值與實(shí)際車速進(jìn)行對(duì)比,依此對(duì)交通擁堵狀況做出判斷(如果某區(qū)域大部分出租汽車的實(shí)際車速明顯低于生成式學(xué)習(xí)算法基于歷史數(shù)據(jù)得出的預(yù)測(cè)車速,則認(rèn)為這個(gè)區(qū)域此時(shí)刻的交通狀況比較擁堵)。整體設(shè)計(jì)流程如圖1。
二、算法詳細(xì)設(shè)計(jì)
(一)原始數(shù)據(jù)集
本文所用數(shù)據(jù)均來(lái)自數(shù)據(jù)堂的獨(dú)家數(shù)據(jù),包括北京市12000輛出租車在2012年11月所產(chǎn)生的所有GPS數(shù)據(jù)。完整全面地記錄了該市出租車的移動(dòng)軌跡。數(shù)據(jù)格式如下:
數(shù)據(jù)以ASCII文本表示,以逗號(hào)為分隔符,以回車換行符(0x0D 0x0A)結(jié)尾。數(shù)據(jù)項(xiàng)及順序:車輛標(biāo)識(shí)、觸發(fā)事件、運(yùn)營(yíng)狀態(tài)、GPS時(shí)間、GPS經(jīng)度、GPS緯度、GPS速度、GPS方向、GPS狀態(tài)。數(shù)據(jù)示例:
164577,4,0,20121101095638,116.4711838,39.7105064,10,328,1
127415,4,0,20121101095638,116.4567719,40.0033951,28,204,1
(二)數(shù)據(jù)預(yù)處理
以樣本數(shù)據(jù)集為例。樣本數(shù)據(jù)集中共有20200條記錄:
key的選擇:
在所有記錄中GPS狀態(tài)的值均為1(有效),對(duì)速度預(yù)測(cè)沒(méi)有幫助。綜合考慮GPS經(jīng)度和GPS緯度,將二者映射到一個(gè)新的屬性(GPS位置)。所以算法考慮的作為輸入的屬性有車輛標(biāo)識(shí)、觸發(fā)事件、運(yùn)營(yíng)狀態(tài)、GPS時(shí)間、GPS位置、GPS方向。算法將GPS速度作為輸出。
其中,GPS速度,GPS位置的取值為連續(xù)變化的量,而GPS時(shí)間、GPS方向的取值雖然是離散的,但是取值可能過(guò)多。所以對(duì)以上四個(gè)屬性進(jìn)行分箱。
綜上所述,作為算法輸入的所有屬性及其取值分別是:
(五)基于MapReduce的程序設(shè)計(jì)
原始出租車GPS數(shù)據(jù)集大小壓縮后為15.1G,壓縮前50G左右。雖然歷史數(shù)據(jù)的分析階段沒(méi)有實(shí)時(shí)性的要求,然而考慮到數(shù)據(jù)量的龐大,這對(duì)單臺(tái)計(jì)算機(jī)來(lái)說(shuō)依然是十分艱巨的任務(wù)。而采用MapReduce思想對(duì)算法進(jìn)行實(shí)現(xiàn)可以分布式處理的優(yōu)勢(shì)較快、較輕松的完成歷史數(shù)據(jù)的分析工作。而歷史數(shù)據(jù)分析完成后,利用該階段學(xué)習(xí)得到的參數(shù)進(jìn)行實(shí)時(shí)分析時(shí),由于計(jì)算量較小,采用分布式計(jì)算帶來(lái)的調(diào)度和通信上的開銷甚至可能會(huì)使它的優(yōu)勢(shì)顯得微不足道。所以此階段可以采用集中式處理的方法。
歷史數(shù)據(jù)分析階段的計(jì)算特點(diǎn)十分適合使用MapReduce的思想進(jìn)行程序設(shè)計(jì)。以p(Y)為例:
Map:假設(shè)完整數(shù)據(jù)集中共有N條記錄,共有j個(gè)map處理器。則可將完整數(shù)據(jù)集分成j個(gè)子集。每個(gè)子集包含N/j條記錄。所有map處理器對(duì)數(shù)據(jù)進(jìn)行并行處理。map階段結(jié)束后,共輸出N條(Y,1)記錄。其中Y∈{Y1,Y2,…,Yn}
Shuffle:將map步得到的N條(Y,1)記錄依照Y的值分配給n個(gè)Reduce處理器(假設(shè)Y共有n個(gè)取值)。
Reduce:每個(gè)Reduce處理器進(jìn)行并行處理。最終輸出n條(Y,C)記錄。其中C代表每個(gè)Y取值在數(shù)據(jù)集中出現(xiàn)的次數(shù)。
其他屬性的計(jì)算可以使用同樣的方法進(jìn)行處理。
(作者單位:山東科技大學(xué))
參考文獻(xiàn):
[1] 李小菁.基于GPS系統(tǒng)的城市交通狀況實(shí)時(shí)檢測(cè)與預(yù)測(cè)研究[D].中國(guó)海洋大學(xué),2004.
[2] 王夷.城市路網(wǎng)實(shí)時(shí)狀態(tài)研究[D].上海交通大學(xué),2007.