亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Spark平臺城市出租車乘客出行特征分析①

        2017-03-28 10:09:14段宗濤陳志明
        計算機系統應用 2017年3期
        關鍵詞:載率出租車乘客

        段宗濤, 陳志明, 陳 柘, 康 軍

        ?

        基于Spark平臺城市出租車乘客出行特征分析①

        段宗濤1,2, 陳志明1, 陳 柘1,2, 康 軍1,2

        1(長安大學信息工程學院, 西安 710064)2(陜西省道路交通智能檢測與裝備工程技術研究中心, 西安 710064)

        從海量出租車GPS軌跡數據中挖掘和分析城市出租車乘客的出行特征, 可以為城市交通管理者和出租車行業(yè)管理者在城市交通規(guī)劃與管理、城市交通流均衡與車輛調度等方面提供決策依據. 基于Spark大數據處理分析平臺, 選擇YARN作為資源管理調度系統, 采用HDFS分布式存儲系統, 對出租車GPS軌跡數據進行挖掘. 給出了基于Spark平臺的出租車乘客出行特征的挖掘方法, 包括出租車乘客出行距離分布、出租車使用時間分布及出租車出行需求. 實驗結果表明, 基于Spark平臺分析方法能夠快速且準確的分析出出租車乘客出行特征.

        Spark大數據平臺; 出租車GPS數據; 出行特征; 大數據; 智能交通

        1 引言

        近幾年, 國內經濟發(fā)展迅速, 在居民對交通具有越來越高要求的大環(huán)境下, 出租車以其方便、舒適、快捷的特點越來越受城市市民的歡迎. 針對城市出租車乘客行為進行分析, 一方面可以對之制定合理切實的城市交通政策, 合理配置公共基礎設施; 另一方面可以緩解城市交通擁堵等情況. 目前利用人工對出行進行分析的方法多采用問卷調查的方式, 且結果隨著調查者的不同帶有一定的主觀性. 人工分析效率普遍偏高, 數據后期處理工作復雜麻煩, 所能分析的數據量較少, 另外人工分析的方法對于調查對象的覆蓋面較窄, 研究范圍局限性較高, 這種方式在現今快節(jié)奏的城市居民出行生活中已變得不適用[1], 因此快速并且準確的通過海量出租車GPS數據分析城市出租車乘客出行特征就具有十分重要的意義. 本文針對Spark平臺給出的特征分析方法具有處理效率高, 成本低, 數據后期處理工作簡單等特點, 并且能夠反映整個城市的居民出行情況.

        大數據是近幾年廣受關注的一個概念, 現有的基于大數據挖掘城市出租車乘客的出行特征的研究基本基于Hadoop這個大數據處理工具, 但是Hadoop MapReduce在編寫復雜的程序時, 往往要編寫多個MapReduce任務, 這些任務提交到集群上之后都是獨立運行的, 產生的數據不能保存在內存上, 會出現內存和磁盤之間數據不斷的轉移, 導致程序運行效率低下, 運行時間長, 磁盤和內存占用過大等缺點, 而Spark則完美解決這個問題, Spark不僅繼承Hadoop MapReduce的優(yōu)點, 而且在此基礎上進行擴充, 相對于Hadoop MapReduce, Spark更適合應用如機器學習、圖計算、圖操作、流式處理等操作, 它把數據加載到內存, 并且可以保存在內存, 通過內存進行計算, 減少磁盤I/O, 減少數據的移動, 大幅度提高程序的性能, 正因為如此, 經檢驗, Spark的性能超出Hadoop 100倍以上[2]. Spark這個大數據處理工具以其對海量數據進行處理的優(yōu)越性能也越來越受到人們的青睞. 目前, 利用Spark平臺處理海量出租車數據的研究相對較少, 參考資料也相對較匱乏[3].

        隨著交通發(fā)展和車載GPS設備的迅速普及, 每天出租車通過車載GPS數據都在源源不斷的產生數據[4]. 以西安市為例, 全市約有1萬輛出租車, GPS數據每隔30s產生一次, 一周的數據量超過2億條. 如何從如此大的數據量中挖掘出有用的交通信息, 是交通大數據分析面臨的一個重要問題. 本文基于Spark平臺提出了3個算法用來挖掘出租車乘客出行特征信息. 實驗首先對數據進行預處理, 包括過濾異常和錯誤數據; 而后, 使用計算每小時運行車輛數算法、提取出租車行駛距離算法、計算每小時實載率算法分別挖掘出租車出行距離、使用時間和計算每小時實載率出租車使用需求信息. 實驗結果表明實驗提出3個基于Spark平臺的挖掘算法能均能在90分鐘內完成對一周數據的統計分析.

        2 數據處理平臺

        Spark是AMP lab提出的類似于Hadoop MapReduce的開源大數據處理和計算框架, 可以在流處理、迭代計算、批處理等不同場景下使用. Spark提出了彈性分布式數據集的概念(Resilient Distributed Dataset)簡稱RDD. 每個RDD都被分為多個分區(qū), 這些分區(qū)運行在集群中的不同節(jié)點上. 一般數據操作分成3個步驟: 創(chuàng)建RDD、轉化已有的RDD以及調用RDD操作進行求值. Spark數據分析流程如圖1所示, 運行程序時, Spark會自動把RDD發(fā)布到集群上, 并行化執(zhí)行RDD. 首先把數據上傳到HDFS, Spark計算引擎通過textfile把數據從HDFS上面加載到集群內存, 程序通過輸入數據創(chuàng)建一系列的RDD, 之后通過調用Spark的算子如map、flatmap, filter等對RDD進行操作, 這個過程也稱為RDD的轉化(transformation). 由于RDD具有只讀性, 每次計算都產生新的RDD, 一次操作RDD便轉換為另一個RDD, 執(zhí)行完程序把結果存儲到HDFS.

        圖1 Spark數據分析流程

        圖2 分布式Spark應用組件

        圖2是Spark集群運行程序時的流程, 從圖中可以看出它是由一個Spark驅動器節(jié)點、YARN集群管理器和一系列的集群工作節(jié)點(簡稱worker)組成的. 實際上每個worker節(jié)點就相當于一臺計算機, 而Spark驅動器是執(zhí)行程序中main方法的進程. 在分布式集群環(huán)境下, Spark集群采用的是主/從結構, YARN集群管理器負責中央協調, 負責各個分布式工作節(jié)點的調度. 當用戶提交程序到集群上, Spark驅動器把用戶程序轉化成一個一個的任務, 接著Spark驅動器節(jié)點依賴YARN集群管理器啟動每個worker節(jié)點的執(zhí)行器進程, Spark驅動器節(jié)點可以同時和大量的執(zhí)行器節(jié)點進行通信, 它可以根據當前的執(zhí)行器節(jié)點集合把任務分配給合適的執(zhí)行器進程, 每個執(zhí)行器節(jié)點代表一個能夠處理任務和存儲RDD數據的進程, 驅動器節(jié)點和所有的執(zhí)行器節(jié)點一起被稱為一個Spark應用.

        Spark支持Java、Scala、Python, 本次研究所有代碼都是基于Scala語言中實現的, Spark將Scala用作其應用程序語言, 特別適合生成速度快, 數據量特別大的應用場景.

        3 數據預處理與分析

        3.1 數據預處理

        由于使用的出租車GPS數據是車載GPS設備采集的, 會由于設備或者其他的異常原因出現一些錯誤, 如果對這些異常和錯誤不進行分析、過濾而直接加以應用, 會直接或者間接影響結果的準確性, 所以要對出現的一些不正常的GPS數據加以處理, 以保證結果的準確性.

        采集城市出租車GPS數據, 每條記錄包含序號、出租車ID、時間、經度、緯度、瞬時速度、方向、狀態(tài).

        表1 GPS數據示例

        車輛狀態(tài)不同數字代表不同的含義, 其中1為防劫; 2 為簽到; 3 為簽退; 4為空車; 5為重車; 6為點火; 7為熄火. 數據示例如表1.

        3.2 出租車GPS數據誤差分析

        本文對異常和誤差產生的原因進行簡單的分析和總結, 總共有以下3種.

        (1) GPS設備故障

        出租車車載GPS設備出現故障, 例如: 返回重復數據; 數據方向錯誤; 數據接收延時而導致時間錯誤等等, 對出現的這些錯誤都予以剔除.

        (2) 建筑物或者其他信號的干擾

        出租車車載GPS接收機的信號經常會由于其他信號的干擾或者高層建筑的遮擋, 而導致信號接收不到, 信號接收延遲, 此類數據一般要進行接收識別和處理.

        (3) 出租車司機錯誤或者不正確的操作

        出租車司機人為的造成GPS數據錯誤, 司機由于設備不熟悉或者其他的一些原因導致操作失誤, 例如經常會出現重復打表的情況, 此類數據一般要予以剔除.

        3.3 出租車GPS數據誤差處理

        綜合考慮前面3種原因所造成的異常和錯誤, 主要考慮對以下4種出租車異常GPS數據進行相應的處理.

        (1) 經緯度越界

        由于研究受GPS數據量的限制, 本文主要研究范圍為西安市. 通過百度軟件查詢得知, 西安市坐標范圍為107.40度~109.49度和北緯33.42度~34.45度之間, 此范圍以外的坐標位置數據要予以剔除.

        (2) 重復數據去重

        如果出租車司機重復打表、車輛堵車或者車輛在某段時間內靜止, 對此類數據進行判斷并進行處理.

        (3) 采集的數據時間間隔默認為30s, 剔除掉對時間間隔異常的數據

        如果車載GPS設備故障、建筑物遮擋等原因導致時間接收延遲, 對這些數據予以剔除.

        (4) 數據格式異常

        由于處理的數據量相對較大, 會出現的各種各樣的格式錯誤和異常, 例如: 數據時間缺失, 數據GPS缺失等等, 對出現的這些異常予以直接剔除.

        3.4 算法設計

        Spark對數據的操作主要分3個步驟, 創(chuàng)建RDD、轉化已有的RDD以及調用RDD操作進行求值. 首先提交Spark程序, Spark運行程序的main()方法并構建一個Spark context, 然后創(chuàng)建RDD, 運用Spark提供的算子(如: map、reduce、distinct)對數據進行處理和轉化, 本質上就是RDD轉化過程, 對常用算子介紹如表2所示.

        表2 Spark算子介紹

        (1) 算法1是計算每小時運行車輛數, 車輛每個小時都有多條運行數據, 先統計每輛車出現的時間段, 對這些時間段運行的多條車輛數據去重, 使用reduceByKey把相同小時時間內運行車輛數相加.

        算法1. 計算每小時運行車輛數算法-Spark 1. 輸入清洗后的出租車GPS軌跡數據2. 使用Filter過濾出狀態(tài)為非5的數據3. 使用map設置key=車牌號: 時間, value=GPS數據4. 使用sortByKey()按車牌號和時間排序5. 使用distinct去除車輛重復出現的數據6. 把輸出每輛車每小時行駛數據使用Map, map設置key=時間, value=1//value設1用來計數7. 使用reduceByKey把相同小時時間內運行的車輛數相加8. 輸出一天每小時車輛運行數

        算法2. 提取出租車行駛距離算法-Spark

        輸入: 清洗后的出租車GPS軌跡數據,相鄰出租車數據時間T輸出: 出租車出行次數,出租車行駛距離,出租車平均出行量 1. 輸入清洗后的出租車GPS軌跡數據2. 使用Filter過濾出狀態(tài)為非運行狀態(tài)的數據3. 使用map設置key=車牌號, value=GPS數據4. 使用sortByKey按車牌號排序, 得到每輛車的軌跡, 再用flatmap處理所有數據5. While 數據不為null6. If (兩條數據車牌號相等 && 兩條數據小時時間是否相等)7. If (兩條數據的時間差==T )8. 求出這T時間內距離diatance, 出行次數加19. 累加sum1+=distance //sum1為出租車一次出行的距離10. End if11. sum+=sum1 //sum為出租車當前小時總出行量12. sum1=0 13. End if14. 每小時平均出行量=sum/運行車輛數15. 每次平均出行量=sum/該時間所對應的出行次數16. sum=0 17. End while

        (2) 算法2是基于Spark提取出租車行駛距離算法. 該算法中, 采集相鄰的數據默認時間為30s, 所以設置時間T為30s. 通過遍歷所有數據, 先判斷是同一輛車的數據, 再判斷相鄰兩條數據時間間隔符合30s的情況下, 計算小時時間內行駛的距離, 進而可以得到一次行駛的出行量和該輛車小時時間內的總出行量. 本文把平均出行量分為每小時平均出行量(km/h)和每次平均出行量(km/次數)兩個方面, 根據上面結論, 計算所有車一天每小時對應總出行量, 除以對應時間, 可得每小時平均出行量(km/h). 每次平均出行量可由所有車一天每小時對應總出行量除以該時間所對應的次數求出.

        (3) 算法3是計算每小時實載率. 該算法中, 先計算每輛車在一天內每個小時運行的時間, 再計算所有車輛每個小時運行總時間, 再除以當前小時運行的車輛數可得到每個小時實載率.

        算法3. 計算每小時實載率-Spark 輸入: 清洗后的出租車GPS軌跡數據,相鄰出租車數據時間T輸出: 每小時出租車對應的實載率 1. 輸入清洗后的出租車GPS軌跡數據2. 使用Filter過濾出狀態(tài)為非5的數據3. 使用map設置key=時間, value=T4. 使用reduceByKey求出每小時所有車輛運行時間5. 平均實載率=每小時運行時間/小時內運行車輛數

        圖3 實驗過程流程圖

        4 實驗結果和分析

        4.1 實驗過程流程圖

        實驗總體分為3個部分: 首先輸入出租車的GPS數據, 進行預處理, 通過上面給出的算法1的結果分析出租車乘客的出行距離分布特征分析; 通過算法2的結果對出租車使用時間分布特征分析; 通過算法3的結果對出租車需求特征進行分析. 總體流程圖如圖1所示.

        4.2 出租車乘客出行距離分布特征分析

        實驗是基于一周的出租車GPS數據進行統計, 數據記錄的時間為一天0點到24點, 共24小時, 數據量為每天大約3000萬條. 圖4是根據西安市2011年6月2號全天的出租車GPS記錄統計一天內每小時車輛運行數量, 從圖中可以看出西安市出租車運營有兩個高峰, 分別是白天高峰上午7點到下午3點, 晚上高峰18點到22點, 并進一步統計一天內總運行車輛數為9243.

        圖4 一天每小時車輛運行數

        圖5是統計一天出行距離分布情況, 是出租車每隔2km的出行次數. 圖6是在圖5的基礎上對一周的出租車數據進行統計, 按4km的范圍做統計, 總共統計所有出租車出行次數2703793, 其中有1370003次出行是在4km之內的, 占據了總出行次數的50%的比重. 表3在圖5、6的基礎上進一步求出不同距離的頻率與累計頻率, 得到不同距離的頻率與累計頻率表, 從圖中可以看出出租車的出行頻率最大值在1~2km和2~3km, 經調查得出其原因在于西安市的起步價在3km之內, 該因素導致乘客出行大多集中在這一范圍內. 從表中可以看出, 出租車出行頻率隨著距離范圍的增加而減少, 這符合居民出行的規(guī)律的, 90%的出行在12km之內, 而3km內出行所占比例最大, 占到了42.35%, 但是在42km~44km處, 出行頻率出現了反差, 出現了異常的升高, 為此對這一范圍進行了進一步的分析, 統計結果表明, 該區(qū)間出行中與西安市咸陽機場相關的出行占到了極大比重, 說明長距離出行中機場相關的出行比例最大, 而且需求比較穩(wěn)定.

        圖5 出租車出行距離分布圖

        圖6 一周距離分布圖

        表3 不同出行距離的頻率和累計頻率

        4.3 出租車使用時間分布特征分析

        圖7根據一天的完整數據的統計, 本文得到了一天內不同時間段的平均出行量, 從圖中可以得出出租車出行的平均出行量有三個比較平緩的高峰階段, 上午的高峰階段為: 8:00-11:00,下午的高峰階段為: 14:00-17:00, 晚上的高峰階段為: 19:00-22:00, 在圖7的基礎上對一周每天內不同時間段的平均出行量進行統計和分析, 得到了一個相似的結果, 如圖8所示, 只不過周末的上午高峰、下午高峰、晚上高峰的出行距離相對比較大. 反應了周末人們逐漸的有工作轉向休閑的節(jié)奏.

        圖7 一天每小時車輛平均出行量

        圖8 一周出行量統計

        4.4 出租車需求特征分析

        首先統計所有出租車每小時各自運行的時間, 進而得出所有出租車在每小時的平均實載率如圖9所示.

        從圖中可以看出出租車平均實載比率出現3個低峰, 凌晨低峰從在0時到7時, 是一天內平均實載率最低的; 中午低峰出現從在12 時到13時; 晚上低峰從在15 時到17時, 經過分析凌晨低峰主要出現原因是居民多處于休息的狀態(tài), 中午低峰和晚上低峰多是處于用餐的. 本文用出租車的數量與實載比率的乘積來反應出租車的需求狀況. 從圖4與圖9的結果可以得出結果如圖10所示, 可以看出出租車需求狀況主要與平均實載率相符合, 圖10顯示的主要特征是: 凌晨0 時到7時是一天內需求的最低時段, 有明顯的早晚高峰; 我們進一步對一周的數據求出相應的出租車需求狀況如圖11 所示, 得出節(jié)假日的需求變化特征明顯與工作日不同, 除了同比工作日早高峰時間略高外, 其他時間段需求明顯均比較高.

        圖9 平均實載率

        圖10 出租車需求

        圖11 一周出租車需求

        5 總結

        本文提出基于Spark平臺對海量出租車數據進行分析. 在該平臺中, 能并行對海量出租車數據進行處理和分析, 并能迅速統計出結果. 文章首先簡單介紹了Spark這個大數據平臺, 之后介紹如何對GPS數據做預處理, 包括分析數據產生異常和錯誤的原因和其相對應的異常數據的處理方法, 最后給出3種算法用來提取城市出租車數據中的有效信息, 基于這些信息, 主要分析了出租車乘客出行距離分布特征、使用時間分布特征及出租車出行需求特征, 分析結果符合城市出租車運行特點. 本文未來工作是進一步分析出租車使用空間特征.

        1 劉麗娜,陳艷艷,張文閣.北京市出租車乘客需求預測模型研究.交通標準化,2010,(13):89–92.

        2 丁圣勇,閔世武,樊勇兵.基于Spark 平臺的NetFlow流量分析系統.電信科學,2014,30(10):48–51.

        3 李艷紅,袁振洲,謝海紅,等.基于出租車OD數據的出租車出行特征分析.交通運輸系統工程與信息,2007,7(5):85–89.

        4 童曉君.基于出租車GPS數據的居民出行[碩士學位論文].長沙:中南大學,2012.

        5 魏祥.基于大數據挖掘的出租車行為檢測方法的研究[碩士學位論文].南充:西南石油大學,2015.

        6 翁劍成,劉文韜,陳智宏,等.基于浮動車數據的出租車運營管理研究.北京工業(yè)大學報,2010,(6):779–784.

        7 李明珠.基于浮動車數據的出租汽車OD分布及運營特點研究[碩士學位論文].北京:北京交通大學,2009.

        8 李宇光,熊普選,樂陽.基于大樣本浮動車數據的武漢市車輛行駛速度獲取與分析.交通信息與安全,2009,27(4):26–29.

        9 秦玲,張劍飛,郭鵬.浮動車交通信息采集與處理關鍵技術及其應用研究.交通運輸系統工程與信息,2007,7(1):39–42.

        10 Tang J, Liu F, Wang Y, et al. Uncovering urban human mobility from large scale taxi GPS data. Physica A Statistical Mechanics & its Applications, 2015, 438: 140–153.

        Analysis of Taxi Passenger Travel Characteristics Based on Spark Platform

        DUAN Zong-Tao1,2, CHEN Zhi-Ming1, CHEN Zhe1,2, KANG Jun1,2

        1(School of Information Engineering, Chang’an University, Xi’an 710064, China)2(Shaanxi Road and Traffic Detection and Technical Research Center, Xi’an 710064, China)

        By mining the effective information hiding in the massive GPS track data of taxi, it can analyze the characteristics of taxi passengers, the urban traffic manager and the taxi industry manager can make decisions in urban transportation planning, urban traffic flow equilibrium and vehicle scheduling. Based on Spark big data analysis platform, YARN as resource management is chosen and HDFS distributed storage system for taxi GPS trace is used for data mining, a variety of information related to taxi is extracted. The mining algorithm based on Spark platform is given, which includes the distance distribution of taxi passengers travel, the time distribution of taxi usage and the demand of taxi travel. The experimental results show that the proposed method based on Spark platform can quickly and accurately analyze the characteristics of taxi passengers travel.

        Spark big data platform; taxi GPS data; travel features; big data; intelligent transportation

        國家自然科學基金(61303041);交通運輸部基礎研究項目(2014319812150);陜西省工業(yè)攻關項目(2014K05-28,2015GY002,2016GY-078);中央高校創(chuàng)新團隊項目(310824153405);中央高校基礎研究項目(310824161012) ;人社部留學人員科技活動項目擇優(yōu)資助(2015192)

        2016-06-17;

        2016-07-14

        [10.15888/j.cnki.csa.005617]

        猜你喜歡
        載率出租車乘客
        嫦娥五號帶回的“乘客”
        基于優(yōu)化減載與動態(tài)慣量控制的DFIG參與系統一次調頻研究
        可再生能源(2021年9期)2021-09-25 02:44:36
        《藝術學研究》2020年度復印報刊資料轉載指數排名
        藝術學研究(2021年2期)2021-07-30 23:01:58
        乘坐出租車
        固載表面活性劑的凹土催化劑的制備及應用
        最牛乘客
        憑什么
        車上的乘客
        高鐵丟票乘客索退款被駁回
        公民與法治(2016年2期)2016-05-17 04:08:24
        開往春天的深夜出租車
        山東青年(2016年1期)2016-02-28 14:25:29
        精品国品一二三产品区别在线观看| 免费在线观看蜜桃视频| 亚洲天堂线上免费av| 国产极品裸体av在线激情网| 中文字幕无码毛片免费看| 在线中文字幕有码中文| 无码三级国产三级在线电影| 成人做爰黄片视频蘑菇视频| 日本丰满熟妇videossexhd | 中国一级黄色片久久久| a级毛片无码久久精品免费| 初高中生精品福利视频| 亚洲精品区二区三区蜜桃| 亚洲人成网站色在线入口口| 国精产品一区一区三区有限公司杨| 免费人成又黄又爽的视频在线| 久久久精品人妻一区二| 亚洲丝袜美腿在线视频| 边喂奶边中出的人妻| 天堂中文资源在线地址| 美女偷拍一区二区三区| 草草影院ccyy国产日本欧美 | 无码熟妇人妻av在线网站| 少妇高潮潮喷到猛进猛出小说| 999精品免费视频观看| 日韩国产自拍视频在线观看| 少妇被又大又粗又爽毛片| 人妻aⅴ无码一区二区三区| 污污污国产免费网站| 少妇又骚又多水的视频| 熟女少妇内射日韩亚洲| 日日人人爽人人爽人人片av| 亚洲一区二区三区久久久| 99精品久久99久久久久| 野花在线无码视频在线播放 | 国产丝袜爆操在线观看| 亚洲熟妇少妇任你躁在线观看无码| 国产精品露脸张开双腿| 亚洲女同恋中文一区二区| 夫妻免费无码v看片| 久久人人爽人人爽人人av东京热|