周洋,楊超,郭唐儀
(1.南京理工大學,自動化學院,南京 210094;2.同濟大學,交通運輸工程學院,上海 201804;3.同濟大學,城市交通研究院,上海 200092)
居民出行調(diào)查是了解城市居民出行行為與出行需求的基礎手段,為交通規(guī)劃與政策制定提供重要依據(jù)。出行調(diào)查內(nèi)容覆蓋家庭、個人、車輛和出行各個方面,由政府部門牽頭組織,工作人員上訪社區(qū),通過問卷填寫完成相關調(diào)查。美國在1969—2017 年,已開展8 次全國家庭出行調(diào)查(NPTS/NHTS)[1],我國上海從1986年至今,已實施6次居民出行調(diào)查。傳統(tǒng)問卷調(diào)查方式,包括:面詢、郵件、電話、網(wǎng)頁及微信小程序等,獲取的出行數(shù)據(jù)具有成本高(大量人力投入)、規(guī)模小(抽樣率約1%)、時間短(幾日出行)且質(zhì)量差(漏報或錯報)等問題。基于智能手機的出行數(shù)據(jù)采集方法,是近年來智能設備與移動互聯(lián)網(wǎng)迅速發(fā)展下產(chǎn)生的新調(diào)查技術,即智能手機主動采集居民日常出行GPS 軌跡并提取出行信息。借助智能手機豐富的定位和感應模塊以及高市場滲透率和攜帶便捷性等優(yōu)勢,實現(xiàn)以較低成本獲取大規(guī)模城市居民連續(xù)多天、時空精確且鏈接完整的出行數(shù)據(jù)[2]。然而,該技術的關鍵瓶頸在于,如何從智能手機采集的GPS數(shù)據(jù)中識別出行起訖點(即出行端點)、出行方式和出行目的等出行鏈信息。
GPS 數(shù)據(jù)根據(jù)個體活動-出行時空行為,可劃分為活動軌跡段和出行軌跡段,前者表現(xiàn)出空間集聚與靜止特征,后者表現(xiàn)為空間發(fā)散與運動特征?;趦烧卟町悾瑢W者們一般先從GPS軌跡中識別出行端點,劃分活動段與出行段,再推斷出行方式和出行目的。①針對GPS 數(shù)據(jù)的出行端點識別。現(xiàn)狀方法包括:基于靜止狀態(tài)判別法[3],即提取連續(xù)靜止狀態(tài)軌跡點,根據(jù)時長推斷是否為活動點;基于地理語義法[4],將靜止點與興趣位置匹配,以位于興趣位置編碼的地理幾何實體內(nèi)的停留作為活動點;基于時空聚類法[5],以時空距離為特征,建立非監(jiān)督聚類模型提取軌跡點簇。②針對出行軌跡段的出行方式推斷。由于一次出行可能包含多種混合交通方式,需將出行軌跡段分割為單方式段,即每段僅包含一種交通方式。單方式段的銜接點稱為方式轉(zhuǎn)換點,其識別方法包括:公交站點鄰近匹配法[6],即利用公交站點GIS 數(shù)據(jù)檢測出行途中停留點是否為公交換乘點;步行方式段分界法[7],檢測步行方式作為非步行方式之間轉(zhuǎn)換的銜接;運動特征變化判別法[8],檢測運動特征發(fā)生顯著變化的片段作為出行方式轉(zhuǎn)換段;機器學習分類法[9],利用標簽數(shù)據(jù)訓練監(jiān)督學習模型,推測停留點是否為方式換乘點。對于單方式段的交通方式推斷,近年來方法包括支持向量機SVM[10]、隨機森林RF[11]及長短期記憶模型LSTM[12]等方法。③針對活動軌跡段的出行目的推斷,主要有規(guī)則方法和機器學習。XIAO等[13]提取家庭和個體屬性、活動時空特征和交通方式等特征,運用人工神經(jīng)網(wǎng)絡-粒子群優(yōu)化算法,推斷居家、通勤、就餐、購物、社會訪問及接送等。ERMAGUN等[14]將活動合并為五大綜合類,以出行方式、活動類型、活動時間和時長、個人特征及POI數(shù)目等變量建立模型,推斷準確率在60%左右。宗芳等[15]以多項Logit 模型劃分日出行模式發(fā)現(xiàn),基于模式框架能有效提升出行目的推斷精度。
現(xiàn)狀基于GPS 數(shù)據(jù)提取出行鏈的研究不足之處主要表現(xiàn)為:割裂了出行端點、出行方式和出行目的的識別過程,忽略了三者之間的算法連續(xù)性;未建立完整的個體出行鏈提取算法。為此,本文構建系統(tǒng)的基于手機GPS數(shù)據(jù)的出行鏈提取方法,包括:基于時空密度聚類與規(guī)則算法的出行端點識別;基于活動鏈接特征與XGBoost模型的出行目的推斷;基于出行微分與公交GIS特征的出行方式推斷。本文的主要創(chuàng)新點在于:提出出行鏈自動提取方法,能夠從GPS 軌跡數(shù)據(jù)中提取時空精確、鏈接完整且過程精細的出行鏈;探究出行端點與公交換乘點的區(qū)分問題,并分析出行目的和出行方式推斷準確性與即時性影響。通過研究GPS 軌跡的時空特征挖掘方法,為智能手機居民出行調(diào)查現(xiàn)實應用奠定理論基礎。
實驗數(shù)據(jù)主要包括個體出行GPS 軌跡與出行日志,日志記錄個體真實的出行信息。為獲取準確的出行日志,設計了城市居民出行調(diào)查系統(tǒng),包括:數(shù)據(jù)采集端、數(shù)據(jù)處理端和數(shù)據(jù)驗證端。數(shù)據(jù)采集端是智能手機App,用于采集用戶出行GPS 軌跡,并上傳至服務器數(shù)據(jù)庫;數(shù)據(jù)處理端是服務器預置的解析算法,從后臺解析GPS數(shù)據(jù),獲取出行時間、起訖點、交通方式和出行目的等信息;數(shù)據(jù)驗證端是網(wǎng)頁界面,從服務器調(diào)用出行解析結(jié)果并呈現(xiàn)給用戶,具有編輯功能,幫助用戶完成出行校正,而后將校正的出行信息作為出行日志存儲于服務器數(shù)據(jù)庫。與以往人工反饋出行日志的方式不同,本系統(tǒng)能夠通過預置算法自動預捕捉詳盡的出行信息,如多段交通方式和方式轉(zhuǎn)換點,為本文方法驗證奠定重要基礎。某用戶全日的數(shù)據(jù)樣例如圖1所示,左側(cè)為手機GPS數(shù)據(jù)(頻率為1 Hz),右側(cè)為出行日志,兩者以時間標簽對應。該數(shù)據(jù)記錄了用戶07:55:02-20:27:01時段內(nèi)的軌跡,出行鏈為{居家→<小汽車>→工作→<小汽車>→居家},包含3 個出行端點和2次出行。
圖1 某用戶某日手機GPS數(shù)據(jù)與出行日志數(shù)據(jù)Fig.1 One person's daily smartphone-based GPS data and travel diary
建立完整的個體出行鏈提取方法,包括:出行端點識別、出行目的推斷與出行方式推斷。如圖2所示,數(shù)據(jù)基礎包括:手機GPS 數(shù)據(jù)、出行日志、家庭個人屬性,以及道路網(wǎng)/公交線網(wǎng)GIS數(shù)據(jù)和城市服務設施POI 數(shù)據(jù),具體步驟包括:①應用時空密度聚類方法,從GPS 軌跡中識別停駐點,并建立停駐點時空特征的隨機森林模型,將停駐點分類為公交換乘點與出行端點;②建立居住地與工作地空間近鄰匹配方法,識別上班、上學和回家;提取家庭和個人屬性、活動鏈與活動時空等多元特征,建立XGBoost模型,進一步推斷非家非工作類型的出行目的;③以時間滑窗將出行軌跡段微分為出行片段單元,提取運動特征、出行特征與GIS特征,建立XGBoost模型推斷各類出行方式。
圖2 基于GPS軌跡的出行鏈推斷框架Fig.2 Framework of GPS trajectory-based trip chains inference
坐標轉(zhuǎn)換:假設出行軌跡T={Pi},采用墨卡托投影將經(jīng)緯度轉(zhuǎn)換為平面坐標值,每個軌跡點表示為Pi=(ti,xi,yi),其中,ti為時間,xi,yi為轉(zhuǎn)換后的平面空間坐標。
特征提?。簩τ谲壽E點Pi,提取速度vi,加速度ai,加速度變化率ci,方向變化率wi等特征,即
噪音剔除:將速度和加速度絕對值從大到小排列,去除GPS軌跡中前1%的軌跡點。
缺失填補:假設軌跡片段{Pi,Pi+m} (m>1),針對缺失點Pi+l(0 <l<m),采用平均插值法填補;并設置缺失狀態(tài)gi,若Pi為插值補全的點,則gi=1;否則,為0。平均插值法公式為
日志標注:出行日志中活動-出行信息與軌跡點對應,定義運動狀態(tài)si,si={0,1},若Pi為出行軌跡點,則為1,若為活動軌跡點,則為0。對活動軌跡點和出行軌跡點,分別標注出行目的類型pui和出行方式類型moi。pui={GS,EO,MS,ES,SS,PD,OA},其中,GS為購物,EO為就餐,MS為就醫(yī),ES 為文娛體育,SS 為觀光旅游,PD 為接送,OA 為其他活動;moi={W,C,B,S,A,O},W 為步行,C 為自行車,B為常規(guī)公交,S為地鐵,A為小汽車,O為其他。
停駐點是個體軌跡中的顯著停留,可能為出行端點或公交換乘點等。采用文獻[16]提出的時空密度聚類算法識別停駐點,為活動軌跡段與出行軌跡段劃分奠定基礎。該方法借助了DBSCAN算法思想,用于處理時空軌跡的聚類問題。具體過程如圖3所示:以軌跡點Pi為中心,選定長度為KS的軌跡序列,以空間鄰域Eps與核心點最小數(shù)目MinPts搜索并標注軌跡序列內(nèi)的核心點;對于所有軌跡序列的核心點,將相鄰核心點組合為初始簇,并計算簇密度;以時間鄰近Tau和空間鄰近Eps為參數(shù),根據(jù)密度依次將同時滿足時間和空間鄰近的初始簇合并為新簇,直至所有簇均完全合并;保留滿足最小活動時長DT 的簇,去除出行途中延誤等偽停駐。該算法能夠較好地克服軌跡點定位漂移與出行路徑重合等引起的聚類困難。
圖3 時空密度聚類方法識別停駐點Fig.3 Spatio-temporal density-based clustering method for anchors extraction
針對識別的停駐點,進一步區(qū)分出行端點與公交換乘點,本文建立兩種對比方法:規(guī)則方法和機器學習模型。基于公交換乘點鄰近公交站的規(guī)則判斷,即對于時長小于15 min的停駐點,若其100 m緩沖區(qū)內(nèi)存在公交站或地鐵站,則標注該停駐為公交換乘點;否則,為出行端點?;跈C器學習模型,以開始時間、持續(xù)時長、至家距離、至工作地距離及至公交和地鐵站點距離為特征,建立隨機森林模型,識別出行端點。
城市土地利用集約化與生活設施功能混合,給出行目的推斷帶來了較大難度。本文分二階段推斷出行目的,先判斷上班/上學和回家,再區(qū)分非家非工作活動。假設活動軌跡段Tacti={}Pi,每個軌跡點表示為Pi=(ti,xi,yi,gi,pui)。
(1)家和工作判斷
用戶初次使用智能手機居民出行調(diào)查系統(tǒng)時,填報了家庭和個人屬性,包括居住地和工作地。利用這一信息,建立基于職住距離的近鄰匹配方法,能夠快速準確地判斷上班/上學和回家。參數(shù)包括:至家距離δH和至工作地距離δW,當出行端點與職住地距離分別小于閾值時,判斷為居家/回家或工作/上學。各參數(shù)下F1 值表現(xiàn)如圖4 所示,F(xiàn)1值是分類問題中綜合考慮查準率P與查全率R的評價指標,其計算方式為F1=2·P·R(P+R),根據(jù)“居家/回家”與“工作/上學”的F1 值,此處,參數(shù)取δH=100 m 及δW=100 m。
圖4 家和工作活動推斷參數(shù)優(yōu)化Fig.4 Parameters refining in home-related/work-related activities inference
(2)非家非工作目的推斷
非家非工作活動推斷難度較大,可通過提取相關特征提升模型準確率。家庭結(jié)構和家庭角色對出行目的有很大影響,年齡和職業(yè)是影響活動模式的關鍵因素[17];個體的移動行為具有時空約束,家與工作在活動鏈中起著重要約束作用,其他活動的產(chǎn)生均受到主鏈的影響;不同的活動表現(xiàn)出不同的發(fā)生時刻和持續(xù)時長;活動位置選擇與周邊的土地利用及生活服務設施類型具有高度相關性。因而,從家庭屬性、個人屬性、活動鏈與活動時空等層面構建特征變量,如表1所示。
表1 出行目的推斷相關變量Table 1 Features selection for trip purpose inference
活動類型包括:購物、就餐、就醫(yī)、文娛體育、觀光旅游和接送,從高德地圖API中獲取主要的城市POI數(shù)據(jù),包括:I類(商場和超市)、II類(餐飲服務)、III類(醫(yī)院和診所)、IV類(博物館/展覽館/娛樂場所/休閑場所)、V 類(公園廣場和風景名勝)及VI 類(機場/火車站/汽車站)。由于實驗GPS 軌跡數(shù)據(jù)中非家非工作活動類別多而樣本少,采用居民出行調(diào)查數(shù)據(jù)進行模型訓練與測試。
對類別變量采用one-hot 編碼,所有變量標準化后,訓練極限梯度提升(XGBoost)模型推斷非家非工作類型目的。XGBoost 模型是一種基于梯度提升的集成算法,由多個基分類器累加求得預測結(jié)果[18]。每個基分類器為分類回歸樹(CART),用前一個基分類器的殘差作為輸入進行構建。假設fk為第k個分類回歸樹,q為樹結(jié)構,ω為葉節(jié)點權重,分類回歸樹空間F={f(X)=ωq(X)},對于數(shù)據(jù)集D={(Xj,Yj)},模型可表示為
目標函數(shù)L為損失函數(shù)l和樹模型復雜度Ω之和,其中,損失函數(shù)l以二階泰勒展開,模型復雜度Ω以L2 正則化處理。對于多分類問題,損失函數(shù)采用softmax 函數(shù)。對于當前節(jié)點和數(shù)據(jù)集,采用貪心算法計算分裂前與分裂后損失,定義分裂增益,進而尋找最優(yōu)樹結(jié)構。
XGBoost 模型重要參數(shù)包括:學習率、基分類器數(shù)目、樹最大深度、最小子集權重及學習目標等,利用二階泰勒處理損失函數(shù),預測更精確,在葉子權重中增加衰減因子,能防止過擬合。
采用出行微分的方法推斷交通方式,假設出行軌跡段Ttrip={Pi},每個軌跡點表示為Pi=(ti,xi,yi,gi,moi),其中,gi={0,1} 為缺失狀態(tài)。
定義時間滑窗(長度為n),將出行軌跡切分為若干固定長度的片段單元,每個片段單元包含n個軌跡點,即片段單元Uj={Pi},i=(j-1)n+1,…,jn。若末尾片段單元長度小于n2,則去除。片段單元的出行方式Y(jié)j,為該片段內(nèi)軌跡點最多的出行方式標簽,其中,I(·)為指示函數(shù)。出行軌跡微分能有效處理混合交通方式情景。
對每個片段單元Uj={Pi},i=(j-1)n+1,…,jn,提取運動特征、出行特征及GIS特征,構建特征矩陣Xj,如表2 所示。運動特征包括:片段單元平均速度,平均加速度,平均加速度變化率,平均方向變化率。出行特征包括:出行距離dj,靜止點比例rsj,軌跡點缺失比例rmj。GIS特征包括:軌跡點至常規(guī)公交和地鐵線路的最小距離dblj和dslj,軌跡點至常規(guī)公交和地鐵站點的最小距離dbsj和dssj。其中,靜止點比例的速度臨界值vs取1.6 km·h-1,distline(·)和distpoint(·)分別為點與線和點與點的直線距離公式符號,BL、SL、BS、SS分別代表常規(guī)公交線路、地鐵線路、常規(guī)公交站點及地鐵站點數(shù)據(jù)集合。GIS特征計算采用軌跡點1 km緩沖區(qū)處理公交數(shù)據(jù),以提升運算效率。根據(jù)提取特征,訓練XGBoost模型,推斷出行方式。
表2 出行方式推斷相關變量Table 2 Feature selection for travel mode inference
在上海招募了22 名志愿者,運用自主開發(fā)的城市居民出行調(diào)查系統(tǒng),完成1 周的出行調(diào)查實驗,獲得109 條全天有效軌跡,每條軌跡包含10000~50000 個軌跡點,基本覆蓋了用戶的主要時空移動過程。停駐點識別為無監(jiān)督過程,運用所有實驗數(shù)據(jù)測試結(jié)果,以查準率和查全率為指標;出行方式和出行目的推斷需訓練監(jiān)督模型,以出行方式分層抽樣軌跡數(shù)據(jù),訓練集與測試集比例設為7∶3,以準確率為評價指標。
停駐點識別上,設置時空密度聚類算法最佳組合參數(shù):KS為180,MinPts為180,Tau為180,Eps為60,DT為120,其中,最小停駐時長DT根據(jù)文獻[19]取120 s,即提取的所有停駐點時長大于等于2 min。實驗數(shù)據(jù)停駐點共584個,運用算法得到停駐點查準率和查全率分別為96.7%和96.4%。進一步,區(qū)分停駐點類型,應用規(guī)則算法得到出行端點查準率和查全率為99.8%和83.2%,公交換乘點查準率和查全率為47.5%和98.7%;運用隨機森林得到出行端點和公交換乘點查準率分別為97.6%和91.8%。
出行目的推斷上,422 個活動點中,有238 個“居家/回家”與83 個“上班/上學”。職住近鄰匹配方法識別“居家/回家”準確率為100%,“上班/上學”準確率為89.8%。運用XGBoost 模型推斷非家非工作出行目的綜合準確率為87.6%,如表3所示。
表3 非家非工作出行目的推斷混淆矩陣Table 3 Confusion matrix of non-home-non-work trip purpose inference
出行方式推斷上,從模型角度,通過對比邏輯回歸(LR)、支持向量機(SVM)、人工神經(jīng)網(wǎng)絡(ANN)、隨機森林(RF)和極限梯度提升(XGBoost),得到XGBoost模型對出行方式推斷表現(xiàn)最佳,綜合準確率達到95%,如表4 所示。從特征角度,僅用GPS 數(shù)據(jù)得到準確率為85.7%,耗時約1 min;使用“GPS+GIS”,準確率為95%,模型訓練與預測共耗時約20 min,如表5所示。運用GIS特征后,綜合準確率提升了9.3%,但運行時長增加了20倍。
表4 各模型出行方式推斷結(jié)果Table 4 Accuracy of travel mode inference across models
表5 XGBoost模型推斷出行方式結(jié)果Table 5 Results of travel mode inference with XGBoost model
將出行端點、出行目的及出行方式等信息整合,得到出行鏈推斷結(jié)果。根據(jù)兩位用戶GPS軌跡自動提取的出行鏈結(jié)果如圖5 所示,用戶1 出行鏈為:{居家→<小汽車>→工作→<小汽車>→居家};用戶2 出行鏈為:{居家→<步行-地鐵-公交>→工作→<公交-地鐵-步行>→居家}。通過運算,能夠得到全時段、多交通方式且完整鏈接的個體出行鏈。
圖5 個體出行鏈推斷結(jié)果Fig.5 Results of trip chain inference of two cases
從停駐點識別出行端點,運用公交站點匹配規(guī)則方法,得到公交換乘點查準率為47.5%,表明有一部分非常規(guī)的方式轉(zhuǎn)換點被錯誤分類為出行端點。在本文實驗中,這些方式轉(zhuǎn)換點來源于面向單位內(nèi)部人員的公交班車站點,由于在地圖中無對應的POI 數(shù)據(jù),造成規(guī)則算法誤判。4 類停駐點的時空特征如圖6 所示,持續(xù)時間上,出行端點平均218.2 min,公交換乘點7.2 min,地鐵換乘點1.7 min,班車換乘點12.4 min;至站點距離上,公交換乘點至公交站平均62.1 m,地鐵換乘點至地鐵站86.3 m,出行端點和班車站點至公交站點分別為308.4 m和426.5 m。進一步表明,規(guī)則方法難以應對非常規(guī)停駐點,而機器學習模型能夠通過用戶App校正反饋提供的正確標簽,提升區(qū)分能力。
圖6 公交換乘點與出行端點區(qū)分參數(shù)Fig.6 Parameters to distinguish trip ends from transit transfer nodes
對于出行目的推斷,就餐和觀光旅游的準確率較差,通過分析混淆矩陣,發(fā)現(xiàn)19.3%的就餐被錯誤判別為購物,25.7%的觀光旅游被錯誤判別為文體娛樂。其原因在于,一方面,購物類和餐飲類POI 分布位置相近,兩者具有較高的混淆度;另一方面,就餐與旅游數(shù)據(jù)量較少,模型訓練上存在偏差。購物、就醫(yī)、文娛體育和接送均取得較好的精度,出行目的綜合準確率能夠達到85%以上。對于樣本較少的部分活動,后期可通過補充調(diào)查優(yōu)化模型。
對于出行方式推斷,GIS特征能夠較大提升公交車的準確率(12.6%),對路面上公交車和小汽車能有效區(qū)分,但同時也極大降低了模型訓練和識別效率。出行微分方法有利于實現(xiàn)GPS 軌跡出行方式實時預測,但公交線路GIS數(shù)據(jù)處理占用了大量運行時間。若計算軌跡與全市公交線網(wǎng)距離,模型訓練耗時2 h,本文采用軌跡點1 km 緩沖區(qū)處理公交線路,時長下降為20 min。通過軌跡點緩沖區(qū),能有效提升軌跡與GIS數(shù)據(jù)處理速度。
本文基于智能手機采集的GPS數(shù)據(jù),研究個體出行鏈提取方法,得到的主要結(jié)論如下。
(1)提出個體出行鏈提取系統(tǒng)方法,包括:以時空密度聚類算法與隨機森林識別出行端點,以職住鄰近匹配及XGBoost模型推斷出行目的,以出行微分與GIS 特征推斷出行方式;通過實驗數(shù)據(jù)測試,得到停駐點查準率和查全率分別為96.7%和96.4%,家和工作相關出行目的推斷準確率分別為100%和89.8%,非家非工作目的準確率為87.6%,出行方式綜合準確率為95.0%。
(2)出行端點是劃分活動軌跡段與出行軌跡段的關鍵節(jié)點,是出行鏈提取的首要步驟。出行鏈提取方法應用于現(xiàn)實手機出行調(diào)查,不僅需要利用時空密度聚類方法準確識別停駐點,還需建立線上機器學習模型,通過用戶反饋的真實標簽不斷更新,以提升非常規(guī)停駐點區(qū)分能力。
(3)出行目的與出行方式推斷的準確性和即時性,是現(xiàn)實調(diào)查的重要技術需求。就餐與購物之間以及觀光旅游與文體娛樂之間存在的混淆,對出行目的推斷準確率有很大影響,需要更多的軌跡數(shù)據(jù)與出行調(diào)查數(shù)據(jù)訓練模型;軌跡與公交線路匹配能有效提升公交方式識別精度,但極大降低了模型效率,可通過GIS數(shù)據(jù)簡易化存儲與緩沖區(qū)等處理方式提升運算速度。