劉軍 袁海天
摘 要:針對(duì)城市交通大數(shù)據(jù)的來(lái)源、數(shù)據(jù)量大、種類繁多等特征,指出城市交通大數(shù)據(jù)在存貯、可用性、處理等方面的挑戰(zhàn);結(jié)合云計(jì)算技術(shù),提出了基于隨機(jī)森林算法在城市交通大數(shù)據(jù)背景下對(duì)城市短時(shí)交通流并行預(yù)測(cè)方法,縮短了預(yù)測(cè)時(shí)間,提高了對(duì)大數(shù)據(jù)的處理能力。實(shí)驗(yàn)結(jié)果表明,并行化隨機(jī)森林算法在不同數(shù)據(jù)集的預(yù)測(cè)精度均明顯高于決策樹(shù),并能較快的處理城市交通大數(shù)據(jù)。
關(guān)鍵詞:智慧城市;大數(shù)據(jù);隨機(jī)森林算法;云計(jì)算
0 引言
智能交通是智慧城市的一項(xiàng)重要建設(shè)項(xiàng)目,是解決城市交通擁堵,實(shí)現(xiàn)城市交通智能控制、促進(jìn)城市交通運(yùn)輸可持續(xù)化發(fā)展的重要手段。隨著遍布城市的各類傳感器,如微波、激光、攝像頭、地磁線圈、GPS等和各類智能設(shè)備的增加,每時(shí)每刻都會(huì)產(chǎn)生海量的交通數(shù)據(jù),數(shù)量達(dá)到GB級(jí)、TB級(jí)甚至PB級(jí)。這些數(shù)據(jù)由不同協(xié)議設(shè)備產(chǎn)生,數(shù)據(jù)模態(tài)千差萬(wàn)別,構(gòu)成了城市交通流大數(shù)據(jù)。由于相適應(yīng)的市場(chǎng)機(jī)制還未形成,國(guó)內(nèi)在城市交通大數(shù)據(jù)的利用技術(shù)研究雖有一定成就,但遠(yuǎn)未達(dá)到成熟應(yīng)用的目標(biāo)。因此,本文基于Hadoop集群搭建了城市交通大數(shù)據(jù)存儲(chǔ)平臺(tái),并采用大數(shù)據(jù)計(jì)算框架技術(shù)對(duì)城市交通大數(shù)據(jù)進(jìn)行并化挖掘和分析,提出了基于隨機(jī)森林算法在城市交通大數(shù)據(jù)背景下對(duì)城市短時(shí)交通流并行預(yù)測(cè)方法。
1 大數(shù)據(jù)管理框架
1.1 大數(shù)據(jù)分析計(jì)算平臺(tái)的構(gòu)成
以分析城市交通大數(shù)據(jù)為目標(biāo),利用通用大數(shù)據(jù)分析處理工具以及云計(jì)算技術(shù),并結(jié)合對(duì)短時(shí)交通流進(jìn)行預(yù)測(cè)的實(shí)際要求,建立分析計(jì)算城市交通大數(shù)據(jù)管理框架,由3個(gè)部分構(gòu)成:應(yīng)用層、私有云計(jì)算層、數(shù)據(jù)管理層。
1.2 數(shù)據(jù)管理層
主要完成城市交通數(shù)據(jù)到存儲(chǔ)系統(tǒng)的數(shù)據(jù)整合。目前對(duì)數(shù)據(jù)進(jìn)行整合還沒(méi)有完善統(tǒng)一的方法,只能通過(guò)第三方工具,例如Sqoop、Datanucleus等來(lái)完成這一過(guò)程。平臺(tái)采用Sqoop工具對(duì)各種城市交通原始數(shù)據(jù)進(jìn)行抽取和整合,將不同模態(tài)的數(shù)據(jù)遷移到列式數(shù)據(jù)庫(kù)Hive與HBase中;Datanucleus提供了標(biāo)準(zhǔn)的接口來(lái)訪問(wèn)和操作各種類型的數(shù)據(jù)庫(kù)資源,如HBase、Cassandra等多種非關(guān)系型數(shù)據(jù)庫(kù),平臺(tái)使用Datanucleus工具將云計(jì)算過(guò)程中的中間數(shù)據(jù)寫(xiě)入到列數(shù)據(jù)庫(kù)HBase中。
1.3 私有云計(jì)算層與應(yīng)用層
大數(shù)據(jù)的分布存儲(chǔ)、數(shù)據(jù)的分析和計(jì)算等在私有云計(jì)算層完成。來(lái)自數(shù)據(jù)管理層的數(shù)據(jù)保存在HDFS中,并通過(guò)列式數(shù)據(jù)庫(kù)Hive、HBase完成數(shù)據(jù)的管理。HBase為列式數(shù)據(jù)庫(kù),數(shù)據(jù)按列進(jìn)行存儲(chǔ)和讀取,方便對(duì)整列數(shù)據(jù)進(jìn)行查詢,這主要是為了滿足隨后使用的隨機(jī)森林算法需要多次對(duì)整列數(shù)據(jù)進(jìn)行讀取計(jì)算的要求,隨機(jī)森林算法對(duì)數(shù)據(jù)的操作需求和HBase對(duì)數(shù)據(jù)的讀取方法相符合。根據(jù)云計(jì)算技術(shù)中“應(yīng)用即服務(wù)”的理念,應(yīng)用層就是利用云計(jì)算強(qiáng)大的數(shù)據(jù)分析、計(jì)算和存儲(chǔ)能力為城市管理者或參與者提供決策信息和指導(dǎo)功能,同時(shí)提供各類數(shù)據(jù)接口。
2 并行隨機(jī)森林算法預(yù)測(cè)短時(shí)交通流
2.1 短時(shí)交通流預(yù)測(cè)
目前,對(duì)短時(shí)交通流進(jìn)行預(yù)測(cè)的常用方法有邏輯回歸、boosting和Cubist、高斯過(guò)程、關(guān)聯(lián)向量機(jī)、遺傳算法和決策樹(shù)等,其中,決策樹(shù)應(yīng)用廣泛。但由于其自身原因,決策樹(shù)預(yù)測(cè)方法仍存在一些不足,主要表現(xiàn)在:
(1)計(jì)算時(shí)需要將所有屬性讀入內(nèi)存,從而缺少內(nèi)存處理其它數(shù)據(jù),對(duì)大數(shù)據(jù)分析處理能力有限;
(2)當(dāng)訓(xùn)練數(shù)據(jù)集過(guò)小或數(shù)據(jù)中的噪聲較大時(shí),容易出現(xiàn)過(guò)擬合現(xiàn)象,使樹(shù)的結(jié)構(gòu)變得復(fù)雜;
(3)決策樹(shù)在選擇屬性集時(shí)由于不進(jìn)行回歸,從而使算法收斂于局部最優(yōu)解,且泛化能力不高。
隨機(jī)森林算法是在Bagging思想和隨機(jī)子空間思想基礎(chǔ)上,集成了多個(gè)決策樹(shù)為學(xué)習(xí)單元的集成學(xué)習(xí)方法,他保留了決策樹(shù)的優(yōu)點(diǎn)同時(shí)克服了其一些不足,又因?yàn)槠淞己玫牟⒛芴幚砟芰腿菀讛U(kuò)展的性能,具有較強(qiáng)的大數(shù)據(jù)處理能力。
2.2 隨機(jī)森林算法實(shí)現(xiàn)并行化條件
隨機(jī)森林算法集成了多個(gè)決策樹(shù),這是它實(shí)現(xiàn)并行化的基礎(chǔ)條件。而它能實(shí)現(xiàn)并行化的理論根據(jù)則依賴于Bagging算法和隨機(jī)子空間算法。
Bagging算法是一種根據(jù)均勻概率分布從數(shù)據(jù)集中有放回抽樣的技術(shù)。在每輪隨機(jī)采樣過(guò)程中,數(shù)據(jù)集中約36.8%的樣本沒(méi)有被抽到。這些數(shù)據(jù)沒(méi)有參于訓(xùn)練集的擬合,但可以檢測(cè)模型的泛化能力。這一特點(diǎn)使隨機(jī)森林中的每棵決策樹(shù)的訓(xùn)練樣本不同,但所包含的原始數(shù)據(jù)集的知識(shí)規(guī)模是相同的,不但保證了訓(xùn)練過(guò)程的并行化,而且也保證了訓(xùn)練數(shù)據(jù)的并行化。
根據(jù)隨機(jī)子空間思想,決策樹(shù)對(duì)非葉節(jié)點(diǎn)進(jìn)行測(cè)試的屬性樣本子集均從原屬性樣本集中進(jìn)行隨機(jī)抽取,這可以避免將所有屬性樣本都讀入到內(nèi)存的缺點(diǎn)。減少了數(shù)據(jù)噪聲,降低了決策樹(shù)容易過(guò)度生長(zhǎng)的現(xiàn)象,同時(shí)也提高了數(shù)據(jù)的處理能力。
Bagging算法和隨機(jī)子空間算法實(shí)現(xiàn)了隨機(jī)森林算法的并行化。在決策樹(shù)基礎(chǔ)上發(fā)展的隨機(jī)森林算法對(duì)短時(shí)交通流進(jìn)行預(yù)測(cè)是可行的,從而本文基于MapReduce的并行化思想提出了并行隨機(jī)森林算法(MapReduce-Paralleled random forests,MR-PRF)進(jìn)行短時(shí)交通流預(yù)測(cè)的方法。
2.3 城市短時(shí)交通流預(yù)測(cè)流程
隨機(jī)森林的訓(xùn)練過(guò)程采用3個(gè)MapReduce作業(yè)類分別用來(lái)完成生成數(shù)據(jù)字典、生成決策樹(shù)、生成隨機(jī)森林模型。
生成數(shù)據(jù)字典就是用文件來(lái)描述參于訓(xùn)練的樣本數(shù)據(jù),包括樣本的條件屬性、決策屬性和模型的類型(回歸/分類)。該過(guò)程由第1個(gè)MapReduce作業(yè)類完成,得到的描述文件保存在模型的HDFS中,并作為第2個(gè)MapReduce類的輸入。
生成決策樹(shù)過(guò)程是隨機(jī)森林算法訓(xùn)練過(guò)程的核心步驟,由以下3個(gè)步驟構(gòu)成:
(1)運(yùn)用Bagging算法從原始數(shù)據(jù)集中抽取個(gè)訓(xùn)練樣本數(shù)據(jù)集(),每個(gè)訓(xùn)練樣本對(duì)應(yīng)一棵決策樹(shù);
(2)決策樹(shù)的非葉節(jié)點(diǎn)選擇的隨機(jī)屬性集中屬性的個(gè)數(shù)根據(jù)取決于原始訓(xùn)練樣本中屬性的個(gè)數(shù),并根據(jù)每個(gè)屬性集所包含的信息,選擇最佳的屬性值進(jìn)行分支;
(3)生成決策樹(shù)只有Map過(guò)程,而沒(méi)有Reduce過(guò)程,且是并行進(jìn)行的,每個(gè)Map過(guò)程生成一個(gè)決策樹(shù)。該過(guò)程由第2個(gè)MapReduce作業(yè)類完成。
生成隨機(jī)森林就是統(tǒng)計(jì)各個(gè)決策樹(shù)結(jié)果,最終得到隨機(jī)森林結(jié)果的過(guò)程,該過(guò)程由第3個(gè)MapReduce作業(yè)類完成。
3 短時(shí)交通流預(yù)測(cè)模型和實(shí)驗(yàn)分析
課題組搭建了一個(gè)由42臺(tái)配置相同的PC機(jī)組成的城市交通流數(shù)據(jù)分析實(shí)驗(yàn)平臺(tái),一臺(tái)PC機(jī)作為主節(jié)點(diǎn),其它41臺(tái)PC機(jī)作為數(shù)據(jù)節(jié)點(diǎn)。主節(jié)點(diǎn)首先將參于訓(xùn)練數(shù)據(jù)文件進(jìn)行分塊,并以文件的形式保存各數(shù)據(jù)分塊的名字空間和元數(shù)據(jù),各數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)冗余保存各數(shù)據(jù)塊。當(dāng)MapReduce作業(yè)提交到主節(jié)點(diǎn)后,根據(jù)任務(wù)所需要資源,并根據(jù)各數(shù)據(jù)點(diǎn)能提供的資源,主節(jié)點(diǎn)將任務(wù)分配給各數(shù)據(jù)節(jié)點(diǎn),并監(jiān)控?cái)?shù)據(jù)節(jié)點(diǎn)完成任務(wù)的過(guò)程。
實(shí)驗(yàn)數(shù)據(jù)為某城市一條繁華街道2015年4-7月的交通狀態(tài)信息,狀態(tài)信息按15 min一次進(jìn)行記錄,并包含有時(shí)間和天氣等相關(guān)信息。數(shù)據(jù)量遠(yuǎn)沒(méi)有達(dá)到大數(shù)據(jù)規(guī)模,但卻能驗(yàn)證算法的正確性。通過(guò)人為的數(shù)據(jù)擴(kuò)充,使實(shí)驗(yàn)數(shù)據(jù)達(dá)到大數(shù)據(jù)規(guī)模,進(jìn)一步驗(yàn)證算法在大數(shù)據(jù)環(huán)境下的性能表現(xiàn)。
實(shí)驗(yàn)一:以2015-4-6~2015-5-27之間數(shù)據(jù)作為原始數(shù)據(jù)樣本集,分別采用MR-PRF算法和傳統(tǒng)決策樹(shù)算法來(lái)預(yù)測(cè)2017-5-28該路段15:00~15:15時(shí)段的交通流狀態(tài),結(jié)果如表1所示。
表中可見(jiàn),MR-PRF算法的預(yù)測(cè)精度高于決策樹(shù)算法。這是由于MR-PRF算法集成了多個(gè)決策樹(shù),吸收了決策樹(shù)優(yōu)點(diǎn)的同時(shí)又克服了其缺點(diǎn),因而表現(xiàn)出比決策樹(shù)更好的性能。
實(shí)驗(yàn)二:采用不同的數(shù)據(jù)量進(jìn)行實(shí)驗(yàn),得到MR-PRF算法的MAPE值如表2所示。
表中數(shù)據(jù)表明,數(shù)據(jù)量的大小對(duì)MR-PRF算法的預(yù)測(cè)精度影響不大,沒(méi)有明顯的變化規(guī)律,這說(shuō)明并行化的隨機(jī)森林算法可以在大數(shù)據(jù)背景下對(duì)城市短時(shí)交通流進(jìn)行預(yù)測(cè)。
實(shí)驗(yàn)三:人為補(bǔ)充原始數(shù)據(jù)集至3.2G、13.2G、132G,并分別運(yùn)行在由1臺(tái)、6臺(tái)、16臺(tái)、26臺(tái)、36臺(tái)PC機(jī)組成的分布集群上,結(jié)果如圖1所示。
圖中曲線表明,MR-PRF算法在相同分布集群上,原始數(shù)據(jù)量越大,加速比越大;在不同的原始數(shù)據(jù)量下,加速比隨著分布集群的增大而增大,當(dāng)分布集群到達(dá)一定程度時(shí),加速比增大趨勢(shì)減小。
4 結(jié)論
本文根據(jù)城市交通流的大數(shù)據(jù)的結(jié)構(gòu)特征,基于通用大數(shù)據(jù)分析框架結(jié)構(gòu),構(gòu)建出Hadoop的并行隨機(jī)森林算法模型,并利用并行模型對(duì)城市交通大數(shù)據(jù)進(jìn)行快速挖掘和分析,實(shí)現(xiàn)對(duì)城市交通大數(shù)據(jù)對(duì)城市短時(shí)交通流進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)表明,并行隨機(jī)森林算法比決策樹(shù)具有更高的預(yù)測(cè)精度。
參考文獻(xiàn):
[1]楊正理,陳海霞,王長(zhǎng)鵬,等.大數(shù)據(jù)背景下城市短時(shí)交通流預(yù)測(cè)[J].公路交通科技,2019,36(2):136-143.
[2]VLAHOGIANNI E I,KARLAFTIS M G,GOLIAS J C.Short-term traffic forecasting: where we are and where we’re going[J].Transportation Research Part C Emerging Technologies,2014,43(1):3-19.
[3]馬景艷.大數(shù)據(jù)背景下智慧城市破解交通擁堵的策略研究[J].電腦知識(shí)與技術(shù),2014,10(18):4262-4264.
[4]邴其春,龔勃文,林賜云,等.基于粒子群優(yōu)化投影尋蹤回歸模型的短時(shí)交通流預(yù)測(cè)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,47(12):4277-4282.