在城市规划中,城市功能区是一项重要的参考指标。有些城市区域是政府干预设定的功能区,而有些区域的功能需要通过分析城市居民的出行行为才能确定。在很多大型城市中,更有一些复合区域,例如北京的西单、国贸地区,上海的陆家嘴地区,这些区域在城市中有着多种功能。通过发现市民的出行目的可以发现城市区域的功能[1-2]。城市公共交通是城市居民的主要出行方式,通过分析城市居民公共交通的出行行为和目的,能更精确地发现复合区域的城市功能,从而更有效地进行城市规划。同时,还可以帮助公共交通管理系统更合理地调度车辆。目前采集城市居民出行目的最多的是采用调查问卷方法[3],该方法虽然准确度很高,但是需要消耗大量的人力物力。随着城市公交一卡通的普及,如何利用公交一卡通刷卡数据来自动采集城市居民的公交出行行为成为了许多学者研究的热点问题[4]。
公交一卡通数据记录了公交卡的ID、上车或下车的时间信息和站点位置信息。对于上车或下车信息缺失的,目前已经有很多方法来进行填补[4]。但是填补后的数据缺少时间信息。对于上下车信息完整的(例如北京),则可以根据更充分的时间信息来提取用户的出行行为。有研究证明,城市居民的出行行为是有一定的规律性的[5-6],所以目前有一些研究利用聚类的方法来发现其中的规律性。使用最多的聚类方法是传统的k-means方法或该方法的改进,主要研究包括Ceapa I等[7]对站点客流的聚类,Morency C等[8-10]对出行站点和出行时间的聚类以及Ma X等[11]对职住特征的聚类。还有一些针对特殊群体出行行为的研究,如Eom J K等[12]利用公交卡自带的老年卡类型信息分析老年的出行行为,Du B等[13]利用异常检测方法识别出了异常的刷卡出行行为,从而发现公交上的小偷。
综上现有的对公交卡刷卡数据的研究,都只是对公交出行乘客进行行为的对比分析,或发现了某一类特殊群体。本文基于峰值密度聚类的方法,对特殊区域公交出行不同目的的群体进行分类和识别。利用密度聚类的思想,可以优化类别簇内的紧密度和类别簇之间的离散度,从而让出行目的分类结果更加准确。
1 公交出行目的分类模型构建 1.1 出行链和出行记录根据公交卡的刷卡数据格式,定义一次票款交易应包含上车的时间和站点信息以及下车的时间及站点信息。一次票款交易的定义为
$ T = \left\{ {O.t, O.l, D.t, D.l} \right\} $ |
式中:O.t和O.l表示上车时间和上车站点的经纬度信息,D.t和D.l表示下车时间和下车站点的经纬度信息。
对于出行特征的提取,需要乘客在一天内完整的出行链。一条出行链表示的就是一天内同一乘客所有的票款交易,出行链定义形式如下
$ C = \{ {T_1}, {T_2}, \ldots, {T_n}\} $ |
式中Tn按照O.t进行排序。
为了识别特定区域乘客的出行目的,将乘客在一段天数内到达过该区域的出行链的集合表示为出行记录,出行记录的定义形式如下
$ S = \{ C|\exists {T_i} \in C{\rm{s}}{\rm{.t}}{\rm{.}}\;{T_i}.D.l \in Z\} $ |
式中Z为指定区域所有站点经纬度信息的集合。
1.2 出行目的特征提取根据北京市交通发展年度报告[3]显示,城市居民的主要出行目的包括:上班、上学、公务外出、娱乐、回家、私人事务等。根据以上的出行目的,本文将出行记录提取为如表 1所示的出行特征。
![]() |
表 1 出行目的特征 Tab.1 Trip purpose feature |
表中的特征主要根据乘客出行的到达时间、停留时间和频繁程度总结得出。根据公交出行特征的特点,有些特征只需要表达一个程度,所以本文将特征类型分为数值特征和文本特征两类:数值特征是用整数或者小数来表达特征的值,文本特征则是用字符串类型来代表特征的划分区间。如乘客的到达时间这个特征是一个连续变量,因为城市出行有早晚高峰、工作日休息日等不同特点,同时为方便后续聚类方法的计算,文献[14]的划分方法,将到达时间信息划分为时间段,变成文本类型特征;对于平均刷卡次数和来源地个数这两个特征,当其值大于某一个值时,区分度不大,所以也将其变为文本类型特征。文本类型特征的划分方法如表 2所示。
![]() |
表 2 文本类型特征划分 Tab.2 Text type feature division |
对于表 1中显示的数值类型特征,为了去除量纲方便后续对距离进行计算,需将数值进行归一化。
1.3 特征相关性分析表 1是根据城市居民公交出行的特点和出行目的不同而总结出的特征。为了防止出现特征之间相关性高的冗余特征,降低计算的复杂度,需要对表 1中的特征进行相关性分析。本文利用互信息的方法来对特征进行相关性分析。
设X是一个取有限个值的离散随机变量,则X的信息熵为
$ H\left( X \right) = - \sum\limits_{i = 1}^n {P({x_i}){\rm{lb}}P({x_i})} $ |
式中n为X取值的个数。
通过观测随机变量Y,随机变量X的条件信息熵变为
$ H\left( {X|Y} \right) = - \sum\limits_{j = 1}^m {P({y_j})} \sum\limits_{i = 1}^n {P({x_i}|{y_j}){\rm{lb}}P({x_i}|{y_j})} $ |
式中:P(xi|yj)代表观测到的随机变量Y后随机变量X的后验概率,n为X取值的个数,m为Y取值的个数。引入Y后,X的不确定程度会变小或保持不变。即H(X|Y)≤H(X)。信息增益g(X, Y)定义为两者的差值:
$ g\left( {X, Y} \right) = H\left( X \right) - H\left( {X|Y} \right) $ |
信息增益的含义是由于特征Y使得特征X不确定性的减少程度。信息增益越大,Y与X的相关性越强。根据信息增益的概念,将信息增益归一化得到特征X与特征Y的相关度:
$ {\rm{Cor}}\left( {X, Y} \right) = 2\left[{\frac{{g\left( {X, Y} \right)}}{{H\left( X \right) + H\left( Y \right)}}} \right] $ | (1) |
相关度越大,特征X与特征Y的相关性越强。相关度的取值范围为[0, 1],相关度为0,表示两个特征不相关,相关度为1,则表示两个特征完全相关。
1.4 公交出行目的分类结果在验证了特征之间的相关性后,将选择出相关性不高的所有特征作为模型的输入,利用聚类算法,将出行特征相似的所有乘客群体聚为一类,将该类群体的平均值作为该类的出行特征值,根据特征值可以得出该类群体的所有乘客到达该区域的出行目的属于上班、回家、娱乐、私人事务或其他哪种出行目的。对所有乘客的出行目的进行统计分析可以得到该区域下乘客出行目的的统计分析结果。
2 基于峰值密度聚类的出行目的分类 2.1 峰值密度聚类算法峰值密度聚类算法是2014年在Science上发表的新型密度聚类算法[15]。该算法的核心思想在于对聚类中心的刻画上,具有能够识别出任意形状的类簇、自动发现聚类类别个数和发现异常点的优点。该聚类方法通过发现聚类中心从而完成聚类,对聚类中心的刻画主要包括局部密度ρi和距离δi两个参数。
考虑待聚类的数据集S={xi}i=1N, IS={1, 2, ..., N}为相应指标集,dij=dist(xi, xj)表示数据点xi和xj之间的欧式距离。对于S中的任何数据点xi,可以为其定义局部密度ρi和距离δi两个量。局部密度ρi的定义如下
$ {\rho _i} = \sum\limits_{j \in {I_S}\backslash \left\{ i \right\}} {\chi ({d_{ij}} - {d_c})} $ | (2) |
式中
距离δi的定义如下
$ {\delta _i} = \left\{ \begin{array}{l} \mathop {{\rm{min}}}\limits_{j \in I_S^i} \{ {d_{ij}}\}, I_S^i \ne \emptyset \\ \mathop {{\rm{max}}}\limits_{j \in I_S^i} \{ {d_{ij}}\}, I_S^i \ne \emptyset \end{array} \right. $ | (3) |
式中指标集ISi={k∈IS:ρk>ρi}。距离δi的物理含义为在所有比第i个数据点的局部密度都大的数据点中,找到与第i个数据点之间的距离的最小值,而对于具有最大局部密度的点,距离δi通常取所有数据点中最大的距离。
将每个数据点的局部密度ρi和距离δi的值在ρ-δ二维坐标下进行投影,生成决策图,通过观察决策图来选取哪些点属于聚类中心,从而完成聚类。所以峰值密度聚类算法具有自动发现聚类类别个数的优点。
2.2 对距离计算方法的改进在聚类中一般采用的传统的距离计算方法包括欧氏距离和曼哈顿距离。本文因为公交出行目的特征对结果的影响效果不同,对每一个待分类的数据点,同时具备数值类型和文本类型两种特征,不能简单利用欧氏距离,需要对距离的计算方法加以改进。
对于文本类型特征,本文使用海明威距离的计算方法,即特征的值相同,则距离为0,特征的值不同,则距离为1:
$ \Delta ({x_{ij}}, {x_{pj}}) = \left\{ \begin{array}{l} 1, \;\;{\rm{ }}{x_{ij}} \ne {x_{pj}}\\ 0, {\rm{ }}\;{x_{ij}} = {x_{pj}} \end{array} \right. $ | (4) |
式中xij和xpj为两个数据点的第j个特征(文本类型特征)。
又因为特征的影响程度不同,所以最终两个数据点的距离定义为
$ \begin{array}{l} {\rm{dist}}\prime \left( {{x_i}, {x_j}} \right) = \sum\limits_{k = 1}^p {{\alpha _k}{{\left( {x_{ik}^r - x_{jk}^r} \right)}^2} + } \\ \mu \sum\limits_{k = p + 1}^m {{\alpha _k}\Delta (x_{ik}^c, x_{jk}^c)} \end{array} $ | (5) |
式中:前p个是归一化后的数值类型特征,后m个是文本类型特征,μ是分类属性的权重因子(本文取0.3),αk是第k个特征的影响因子权重,本文采用优序对比法来确定αk的值。优序对比法即通过各项因素两两比较,从而确定其权重。一般情况下,重要程度判断尺度可用1、2、3、4、5五级表示,数字越大表明重要性越大,并保证两个特征之间重要性的总和为5。具体计算结果如表 3所示。
![]() |
表 3 特征权重 Tab.3 Feature weight |
综合本文的模型,基于峰值密度聚类的公交出行目的识别模型的步骤如下:
1) 确定截断距离dc:根据文献[15]中给出的结果,选取dc值使得每个数据点的平均局部密度约为数据点总数的1%~2%。
2) 根据式(2)、(3),求出每个数据点i的局部密度ρi和距离δi,其中按照式(5)的计算距离,即dij=dist′(xi, xj)。
3) 画出决策图确定聚类中心:聚类中心应满足局部密度和距离的值都足够大。将所有的数据点可视化为ρ-δ决策图,根据决策图选取聚类中心。
4) 将非聚类中心的点进行归类:对于一个非聚类中心的数据点xi,其类簇编号为所有局部密度比xi大的数据点中与xi距离最近的数据点的编号,其中类簇编号值为聚类中心的ID值。
5) 利用每个类簇各个特征平均值作为该类簇的出行特征,根据特征值得出每个乘客的出行目的,进而得到所有乘客到达该区域下出行目的的统计分析结果。
3 实验验证及分析本文的实验数据为北京市的公交卡刷卡数据,识别到达西单的公交出行乘客的出行目的,因为西单地区是北京市的复合区域,集合了写字楼、购物中心、学校、医院等多种场所,具有商务、教育、购物等多个功能,乘客出行目的种类多。
3.1 实验数据本文的实验数据采用的是2016年9月1日-2016年9月30日,共计30 d的北京市公交卡刷卡记录数据,根据1.1节定义,整理出30 d所有到西单乘客的出行记录,筛选出到达西单次数大于2次的公交卡ID(乘客),共有97 278个公交卡ID(乘客)。
3.2 特征的相关性分析将出行记录整理为表 1中的出行特征,为了方便互信息方法求解特征相关性分析,需要将特征1、3、4、7进行分类。其中特征1按照1~3、3~10、10~17、17~30进行分类;特征3按照-1、0~4、4~8、8~24进行分类;特征4按照-1、0、0~1.5、1.5~3、大于3进行分类;特征7按照小于0.5、0.5~0.75、大于0.75进行分类。特征相关性的结果如表 4所示。根据表 4结果,相关性值最大的为0.260,说明各个特征之间相关性较小,相互比较独立。
![]() |
表 4 特征相关性分析结果 Tab.4 Feature correlation analysis results |
根据2.3节每个数据点的平均局部密度约为数据点总数的1%~2%原则,选取dc的值为0.003 4。求出每个数据点i的局部密度ρi和距离δi,绘制的决策图结果如图 1所示。根据决策图的结果,选取ρ≥0.078且δ≥3 700的数据点作为聚类中心,即图 1中标记了标号为①~⑤中的五个点,所以将结果聚成5类。将聚类中心各个特征平均值看作该类群体的出行特征,结果如表 5所示,其中数值特征是归一化后的数值。从表 5可以分析得出公交出行目的的分类结果:
![]() |
Download:
|
图 1 决策图结果 Fig. 1 Decision graph result |
![]() |
表 5 类簇平均特征值 Tab.5 Cluster average feature |
1) 序号为2的类簇的所有群体,停留时间的均值和标准差均为-1,说明该类群体在到达西单后在当日内不再有出行记录,而且最频繁到达时间段为工作日的傍晚,所以可以说明该类群体属于居住在西单地区的群体,出行目的为回家。
2) 序号为4的类簇的所有群体,停留时间均值为0.388 9,将归一化的值还原,约为9.3 h,而且最频繁到达时间段为时间段1,是工作日的早高峰时间段,可以说明该类群体属于在西单工作的通勤群体,出行目的为上班。
3) 序号5的群体一天内的平均刷卡次数在2次以内,而且来源地比较固定,该类群体的到达时间段是休息日的上午,所以是休息日上午从居住地出发来到西单,停留时间也较长,说明该类群体的出行目的可能为参加课程或者私人事务。
4) 而序号为1和3的群体停留时间的均值都比较少,3~4 h左右,最频繁到达的时间段分别为工作日晚上和休息日下午,而且不同于其他群体,该类群体的最频繁来源地次数占比较少,来源地不固定,平均刷卡次数也超过了3次,这说明该类群体中的大多数出行目的为购物、娱乐。
3.4 结果分析将实验的统计结果绘制出如图 2所示的扇形图,其中类簇2和类簇4为通勤群体,两类总和占总人数的55%,其余出行目的占了总人数的45%。图 3是北京市交通委公布的2015年北京市居民出行入户调查出行目的构成图[3],其中上下班和上下学的通勤群体占了51.96%,公务外出和生活类占了48.04%。将图 2的本文实验统计结果与图 3的入户调查结果进行比较,图 2西单地区乘客的出行目的符合生活实际,本文的实验结果正确。
![]() |
Download:
|
图 2 实验结果统计扇形图(西单地区) Fig. 2 Experimental results statistical pie chart(Xidan Area) |
![]() |
Download:
|
图 3 2015年入户调查居民出行目的统计扇形图(北京市)[3] Fig. 3 Household survey in 2015 of resident trip purpose statistical pie chart(Beijing City)[3] |
1) 本文对公交出行目的分类模型进行了构建。按照不同出行目的的特点提取出了公交出行的特征,并进行了特征的相关性分析。同时,对峰值密度聚类算法加以改进,实现了对某一特定区域公交出行目的的分类。
2) 本文利用北京市公交卡刷卡数据对模型效果进行了实验验证,对到达西单地区的乘客进行了出行目的分类。并将实验结果与北京市交通委的调研结果进行对比分析。从分析结果可以看出,该模型在分类公交出行目的上具有很好的效果。
3) 本文利用公交卡刷卡数据识别出行目的,与调查问卷方法相比省去了大量的人力物力,为公交出行目的的调研提供了新思路。
4) 在此模型上加以扩展,可以得出更多的结论。例如在西单上班的群体都住在哪里、来西单购物娱乐的群体都住在哪里、西单地区的公交拥挤度等等,从而更好地帮助政府部门解决城市规划和公交调度的问题。
[1] |
YUAN J, ZHENG Y, XIE X. Discovering regions of different functions in a city using human mobility and POIs[C]//ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2012: 186-194.
( ![]() |
[2] |
YUAN N J, ZHENG Y, XIE X, et al. Discovering urban functional zones using latent activity trajectories[J]. IEEE transactions on knowledge & data engineering, 2015, 27(3): 712-725. ( ![]() |
[3] |
北京交通发展研究中心. 2016年北京交通发展年报[EB/OL]. [2016-08-01]. http://www.bjtrc.org.cn/
( ![]() |
[4] |
龙瀛, 孙立君, 陶遂. 基于公共交通智能卡数据的城市研究综述[J]. 城市规划学刊, 2015(3): 70-77. LONG Ying, SUN Lijun, TAO Sui. A Review of Urban Studies Based on Transit Smart Card Data[J]. Urban planning forum, 2015(3): 70-77. ( ![]() |
[5] |
SCHLICH R, AXHAUSEN K W. Habitual travel behaviour:Evidence from a six-week travel diary[J]. Transportation, 2003, 30(1): 13-36. DOI:10.1023/A:1021230507071 ( ![]() |
[6] |
GÄRLING T, AXHAUSEN K W. Introduction:Habitual travel choice[J]. Transportation, 2003, 30(1): 1-11. DOI:10.1023/A:1021230223001 ( ![]() |
[7] |
CEAPA I, SMITH C, CAPRA L. Avoiding the crowds: understanding Tube station congestion patterns from trip data[C]//ACM SIGKDD International Workshop on Urban Computing. ACM, 2012: 134-141.
( ![]() |
[8] |
AGARD B, MORENCY C, TRÉPANIER M. Mining public transport user behaviour from smart card data[J]. IFAC proceedings volumes, 2006, 39(3): 399-404. ( ![]() |
[9] |
MORENCY C, TRÉPANIER M, AGARD B. Measuring transit use variability with smart-card data[J]. Transport policy, 2007, 14(3): 193-203. DOI:10.1016/j.tranpol.2007.01.001 ( ![]() |
[10] |
MA X, WU Y J, WANG Y, et al. Mining smart card data for transit riders' travel patterns[J]. Tramsportation research part C emerging technologies, 2013, 36: 1-12. DOI:10.1016/j.trc.2013.07.010 ( ![]() |
[11] |
MA X, LIU C, WEN H, et al. Understanding commuting patterns using transit smart card data[J]. Journal of transport geography, 2017, 58: 135-145. DOI:10.1016/j.jtrangeo.2016.12.001 ( ![]() |
[12] |
EOM J K, PH D. Analysis of travel patterns of the elderly using transit smart card data[C]//Transportation Research Board 90th Annual Meeting, 2010.
( ![]() |
[13] |
DU B, LIU C, ZHOU W, et al. Catch me if you can: detecting pickpocket suspects from large-scale transit records[C]//ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2016: 87-96.
( ![]() |
[14] |
ZHENG Y, LIU Y, YUAN J, et al. Urban computing with taxicabs[C]//International Conference on Ubiquitous Computing. ACM, 2011: 89-98.
( ![]() |
[15] |
ALEX R, ALESSANDRO L. Clustering by fast search and find of density peaks[J]. Science (New York, N.Y.), 2014, 344(6191): 1492. DOI:10.1126/science.1242072 ( ![]() |