[0071] 下面结合说明书附图对本发明的技术方案作进一步说明。
[0072] 如图1所示,本发明采用的技术方案如下:
[0073] 步骤1:获取出租车数据集、公共自行车数据集,POI数据集,并对数据进行预处理。
[0074] 步骤1.1:获取出租车数据集,将它们存储在数据库中。一条出租车轨迹记录TRTAXI表示如下:
[0075] TRTAXI=(pLong,pLat,pTime,dLong,dLat,dTime)
[0076] 其中pLong和pLat为上车地点的经度和纬度。dLong和dLat为下车地点的经度和纬度。pTime和dTime为上车时间和下车时间。
[0077] 步骤1.2:获取公共自行车数据集,包括轨迹记录和站点记录,将它们存储在数据库中。一条自行车轨迹记录TRPBS表示如下:
[0078] TRPBS=(leaseStation,leaseTime,returnStation,returnTime)
[0079] 其中leaseStation和returnStation表示借车站点和还车站点,leaseTime和returnTime表示借车时间和还车时间。
[0080] 站点记录stationRec包含了站点相关的信息,表示如下:
[0081] stationRec=[stationID,stationName,stationLong,stationLat]
[0082] 其中stationID为站点ID,stationName为站点名称,stationLong和stationLat为站点的经度和纬度。
[0083] 步骤1.3:以统一的形式表示出租车数据集和公共自行车数据集。采用TRAbs=(DLoc,Ddate,Dhour,ALoc,Adate,Ahour)表示抽象后的移动数据集。其中DLoc和ALoc表示出发和到达的位置。Ddate和Adate表示出发和到达的日期,Dhour和Ahour表示出发和到达的小时。对于公共自行车数据来说,DLoc为借车站点(leaseStation)的经纬度,ALoc为还车站点(returnStation)的经纬度。Ddate/Adate为借车日期/还车日期,Dhour/Ahour为借车小时/还车小时,它们可以从leaseTime、returnTime中提取得到。对于出租车数据来说,DLoc为上车地点的经纬度,即(pLong,pLat)。ALoc为下车地点的经纬度,即(dLong,dLat)。Ddate/Adate为上车日期/下车日期,Dhour/Ahour为上车小时/下车小时,它们可以从pTime、dTime中提取得到。
[0084] 步骤1.4:获取基于Foursquare的POI数据集,将它们存储在数据库中。每一条签到记录checkinRec表示如下:
[0085] checkinRec=[venueID,locName,locLong,locLat,checkinTime]
[0086] 其中venueID表示签到地点所属的POI类别,locName表示签到地点的名称,locLong和locLat表示签到地点的经纬度,checkinTime为签到时间。一共包含10种POI类别,包括:Food,Shop&Service,Outdoors&Recreation,Arts&Entertainment,College&University,Professional&Other Places,Nightlife Spot,Travel&Transport,Residence,Event。由于与类别“food”相关的位置既存在于居民区、工作区,也存在于娱乐区、夜生活区。这个类别无法辅助区域功能的判断,因此将这个类别删除,最终得到9个类别。
[0087] 步骤2:划分时间段,将城市分割为区域,根据时间和区域划分结果,对数据进行聚合。
[0088] 步骤2.1:对分析的时间段按小时划分。
[0089] 步骤2.2:根据城市道路路网,将城市空间划分为N个区域。
[0090] 步骤2.3:为了挖掘人群出行周期性的规律,以周为单位对TRAbs进行聚合。时间长度T定义为T={t1,t2,...,tN},N=168,表示一周中的168个小时(从周一到周日)。将所有TRAbs记录投影到一周内,获得TRSum。举例来说,当T=0时,表示将TRAbs中所有满足Ddate为周一,且DHour='0'的记录都聚合。TRSum=(hour,DLoc,ALoc,num),表示在一周中的第[hour,hour+1]个小时内共有num人从DLoc出发到达ALoc,hour=0,...,167。
[0091] 步骤2.4根据区域划分结果,将每条checkinRec根据签到地点划分到相关区域,计算每个区域中每种POI类别的占比:
[0092]
[0093] 其中pij表示第i个区域中第j种POI类别所占的比例。checkinsij表示在区域i中第j种POI类别的签到总数。cn表示POI类别数,由于共有9个POI类别,因此cn=9。
[0094] 步骤3:对于出租车和公共自行车数据分别构建三维张量。
[0095] 对出租车数据和公共自行车数据分别构建三维张量,用 表示。 表示中所有的元素都是非负值。的三个维度分别代表N个区域,F个特征和T个时间间隔。时间维度T为一周的168个小时。特征维度记录了每个区域进入和流出的流量值。由于共有N个区域,因此特征维度F=2N。前N个特征代表从一个特定区域出发前往其他区域的流量值。后N个特征代表从其他区域进入当前区域的流量值。张量的每个元素 表示区域i的第j个特征在第k个小时的值。具体来说,对于区域i, 表示从区域i出发到达区域j在第k个小时的流量值, 表示从区域j出发到达区域i在第k个小时的流量值,这些值可以从TRSum中得到。
[0096] 步骤4:采用非负张量分解方法分解三维张量,自动计算得到潜在的出行特征。
[0097] 采用基于PARAFAC的非负张量分解方法来提取潜在的出行特征,将张量 分解为一系列一阶张量的线性组合:
[0098]
[0099] 其中R为张量的秩,对应于期望得到的出行模式数。矩阵A,B,C为张量 分解后得到的三个因子矩阵。 A,B,C的列为ar,br,cr。符号 表示向量的外积。张量 的每个元素可以被写为:
[0100]
[0101] 其中Air表示区域i对于第r种出行模式的空间重要性。Ckr表示第k个小时对于第r种出行模式的时间重要性。Bjr表示第j个特征在第r种出行模式中的强度。张量分解结果包含了一系列可解释的时空模式。
[0102] 步骤5:基于张量分解结果,设计全局视图,包括时间图和热力图,展示每个移动数据集的时间和空间特征。
[0103] 步骤5.1:设计时间图。时间图采用折线图来呈现从因子矩阵C中衍生得到的每种出行模式的时域变化趋势。时间图的x轴对应于一周内的168个小时,y轴表示时间重要性。每一条折线的值为矩阵C中的每一列,对应于一种出行模式。折线的数量和张量的秩R一致。
[0104] 步骤5.2:设计热力图。热力图展示了从因子矩阵A中衍生得到的空间重要性。共有R张热力图,呈现了在每种出行模式下不同区域的空间重要性。矩阵A的每一列对应于一张热力图。对于一张热力图来说,每个区域用一种灰度绘制。区域的灰度正比于空间重要性值Air,反映了区域i对于第r种出行模式的重要性。采用灰度映射机制编码空间重要性值。灰度深的区域表示该区域对于当前模式十分重要,而灰度浅区域表示该区域对于当前模式不太重要。
[0105] 步骤6:设计区域视图,包含POI‑mobility图、流量图和区域POI分布图,可视化热力图中某个选定区域的多源出行模式和POI信息间的关联性。
[0106] 步骤6.1:设计POI‑mobility图。POI‑mobility图以紧凑的形式同时展示了多源出行模式和POI占比情况。中间的饼图表示区域内的POI占比。对于第i个区域,对所有的POI类别所占比例pij(j=1,...,cn)降序排列,根据pij的大小将饼图划分为扇区,每个扇区的大小正比于pij的大小。根据pij的值沿着y轴以顺时针方向从大到小依次绘制扇区。使用一种灰度深浅代表一个POI类别,在POI‑mobility图的右边显示POI图例。区域中人群出行模式的时间变化通过两个圆环以放射状的形式排放在外圈。最外圈代表使用出租车的出行模式,内圈代表使用自行车的出行模式。圆环被划分为7个扇区,表示一周中的七天。每个圆环上都有两条曲线,代表一周每个小时内该区域中人群的进入量和流出量。
[0107] 步骤6.2:设计流量图。分析者可以通过观察POI‑mobility图中采用不同交通工具出行的高峰期,通过设置约束条件,得到使用某一种交通工具出行的流量图。流量图展示了从当前区域出发或者终止到当前区域的详细的流动信息。流量图支持设置多种约束条件,包括出行模式约束、时间约束和流量约束。出行模式约束指分析者可以选择查看使用自行车还是出租车出行的情况。时间约束包括选择分析时间段、选择日期类型(工作日、周末),选择小时的范围。流量约束指分析者可以输入一个阈值,流量值小于该阈值的轨迹将被忽略。基于定义好的约束条件,流量图通过地图呈现所有满足条件的轨迹。地图上的点表示一个位置。对于自行车数据来说,它对应于区域中的一个站点。由于出租车的上下车点散布于整个区域中,进一步将区域划分为400m*400m的网格,根据网格对出租车轨迹进行聚合。因此,对于出租车数据来说,点代表网格中心。带有箭头的弧线表示位置之间的流量。流量的大小根据弧线的粗细和灰度深浅双编码。采用和热力图一样的渐变灰度映射机制,一条深色的粗线表示两个位置之间的流量很大,一条浅色的细线则表示两个位置之间的流量较小。
[0108] 步骤6.3:设计区域POI分布图。区域POI分布图在地图上绘制了区域中所有的签到地点。其中一个圆点表示一个签到位置,圆点的位置由签到地点的经纬度所确定,圆点的深浅和POI图例一致,圆点的大小正比于该地点的签到总数。
[0109] 步骤7:设计位置视图,包括位置POI占比图和位置POI分布图,直观展示每个位置周围的POI信息。
[0110] 当点击流量图上的一个点时,会更新位置视图。
[0111] 对于自行车数据来说,当点击一个点时就选择了一个站点。该位置对应的POI信息包含以该站点为中心、半径为radius的圆形中所有的POI。圆形的半径radius可以由分析者来修改。位置POI占比图展示了圆形范围内各种POI类别的占比情况。位置POI分布图绘制了圆形范围内所有的POI,其中所选的站点由一个五角星表示,一个签到地点由一个圆点表示,圆点深浅和POI图例一致,圆点大小正比于该地点的签到总数。当点击这个圆点时,将显示对应签到地点的名称和签到总数。
[0112] 对于出租车数据,点表示网格中心。位置POI占比图展示了网格中各种POI类别的占比。位置POI分布图绘制出网格中所有的POI,绘制方式和自行车数据类似,网格中的一个签到地点由一个圆点表示,圆点深浅和POI图例一致,圆点大小正比于该地点的签到总数。当点击这个圆点时,将显示对应签到地点的名称和签到总数。
[0113] 图2(a)至图2(f)为纽约出租车数据5种模式下的全局视图。图2(a)为时间图,从中可以发现模式3在工作日具有明显的早高峰。模式2在一周内的夜间都有使用高峰,周五和周六晚上的高峰尤为明显。模式4在工作日的8点到15点流量较高,在周末的11点到22点流量较高。模式1和模式5的晚高峰都出现在19点左右,模式5的峰值大于模式1。图2(b)‑图2(f)展示了5个模式对应的热力图,从中可以发现对每个模式最重要的区域。
[0114] 图3(a)至图3(e)为纽约公共自行车数据4种模式下的全局视图。模式4在工作日具有早晚高峰。模式2具有明显的早高峰。模式1和模式3具有明显的晚高峰,模式3的峰值高于模式1。图3(b)‑图3(e)展示了4种模式对应的热力图。
[0115] 图4为区域231的出行情况分析。从热力图(图2(d)(e)(f)和图3(c)(d))中发现,区域231对于使用出租车和自行车出行都是一个非常重要的区域,因为它在多种模式下都有很高的空间重要性。因此观察POI‑mobility图(图4(a)),该区域中占比最高的两个POI类别是‘Travel&Transport’和‘Professional&Other Places’。两种出行方式的高峰期都出现在工作日。对于自行车数据来说,在7点到8点有到达早高峰,在16点到17点有出发晚高峰。对于出租车数据来说,到达早高峰同样出现在7点到8点。出发晚高峰出现在20点到22点,峰值比出租车早高峰略小,出现时间比自行车晚高峰晚4个小时。
[0116] 进一步查看自行车数据的流量图,基于流量约束过滤掉不重要的轨迹。在早高峰期间(图4(b)),热门的到达站点为4318和352。从位置视图中可以发现,在站点4318附近有一个火车站签到数量极大。该车站是纽约中央车站,纽约最繁忙的交通枢纽。在站点352周围,热门的签到地点是健身房和办公楼。在晚高峰期间(图4(c)),热门的出发地为位于火车站周围的4318站点,最大的流量前往492和477站点。从这两个站点的位置POI占比图中可以发现,周围有商店和交通设施。
[0117] 图4(d)和图4(e)展示了早晚高峰期间使用出租车的流量情况,轨迹遍布于整个区域中。在早高峰期间,两个网格非常热门。网格1包含了纽约中央车站,网格2包含了很多办公楼和商店。在晚高峰期间,大量的流量都集中于纽约中央车站附近。
[0118] 总的来说,该区域对于两种出行方式在工作日都具有明显的到达早高峰和出发晚高峰。早上热门的到达地点位于火车站和工作地附近,晚上的出发流量大多始于火车站附近。出租车轨迹具有更长的距离。从中可以总结得到,该区域主要的功能是作为工作地点和交通枢纽。人们采用自行车和出租车出行的目的相似,都是用于日常通勤。但是当出行距离更长时,人们更倾向于选择出租车。