查看原文
其他

聚焦︱基于微博签到数据的城市社区结构挖掘——以深圳市为例

The following article is from 地理信息世界GeomaticsWorld Author 地理信息世界

导读

签到数据中包含的时间和地理属性数据可反映城市居民的出行现状,是城市空间结构划分的直接依据,有利于揭示出城市内部的空间交互模式、城市人口的流动形态等。本文以深圳市为例,提出一种基于空间交互网络的城市内部社区结构发现方法,利用微博签到数据所具备的地理信息和语义信息,得到基于人群主观迁移模式的城市结构划分。研究结果对城市公共设施的完善和城市规划发展的区域划分方向具有重要参考意义。


伴随着智能通讯设备的普及,以及空间定位技术的不断成熟,基于位置的社交网络服务(Location Based Service,LBS)得到了广泛应用。地理位置维度建立了现实世界和线上社交网络的桥梁,目的在于分享用户现时所处位置与活动信息,并形成了基于位置服务的社交网络(Location Based Service Networks,LBSN)。签到数据通过用户位置的移动,用轨迹将分散的空间节点连接成为复杂网络,与此类似的建立在地理空间之中的复杂网络还有交通网、路网等。


对于这样一个由成千上万个节点和数量级巨大的有向边组成的复杂网络之中必然有一些节点之间的连接更加紧密,在完整网络之中又区分出了很多连接紧密的分块网络,将这些子区间划分出来,就是根据相应交互属性权重划分所得到的社区结构。社区结构作为复杂网络的一大基本属性,代表的是在各要素互相作用所形成的有机系统中,各要素内部及相互间所形成的相对稳定的构成关系,其中包括但不限于基于功能类型划分的社区结构构成、基于交互关系划分的社区结构构成等,对其的挖掘能够获取复杂空间网络中固定存在的、具有高内聚低耦合的子网络社区结构。本文选择基于微博签到数据进行社区结构挖掘,是由于签到数据中包含的时间属性数据和地理属性数据,直接反映了城市居民的出行现状,加之其数据量巨大,作为城市社区结构挖掘的数据来源,能够由用户的出行动态构成城市空间结构划分的直接依据,更有利于揭示出城市内部的空间交互模式、城市人口的流动形态等,对于指导城市建设、已有规划方案评价等方面意义重大。


常见的利用POI点对于城市内部结构进行挖掘的方法,往往先对研究区域进行固定大小格网或者路网的划分,如图1所示,再对于单位区域中的POI特征进行分析。


目前较多用于揭示城市内部结构的划分方式有以下3种:


①基于POI功能类别的城市功能区划分,通过分析单位区块中POI的不同类别,计算得到单位区块的功能特征向量,再将相近的区块进行聚合得到最终划分结果;


②基于POI访问次数的城市热点划分,通过统计单位区块中POI被访问的频次,按照区块的活跃程度进行城市热点区域的划分;


③基于POI分布状况的城市建设划分,通过分析单位区块中POI分布特征,如分布密度、分布模式等,对城市建设结构进行挖掘。


图1 研究区域划分的一般方式


现有的城市社区结构挖掘方法存在如下两个问题:


01

社区发现最小单元的定义方式不合理。在对研究区域进行初步细化时,若采取格网,虽然容易操作,但对于格网大小和起始位置难以进行科学的设定,分类单元的大小可能会直接改变某些区块的划分类别,严重影响划分结果的稳定性。若以路网划分,对于研究区域的道路信息的完整性、道路分级的严密性和科学性都要求较高,影响社区挖掘方法的普适性。且这两个方法均不考量不同POI的重要程度,忽略了不同POI点影响范围的不同。


02

签到数据的使用方式上,往往只注重其独立特征,如类别、被访问次数等,极少考虑到不同POI点之间的关联信息。主要考虑签到数据所体现出的城市社区之间的相似度,而忽视了其背后人口流动所体现出的社区连通性。未能从根本上反映城市社区中高内聚低耦合的子网络社区结构。


本文针对以上两个问题进行深入分析,首先提出一种基于Voronoi划分的最小单元获取方式,通过对影响因子较高的特征POI点进行V图划分,将获得的泰森多边形作为最小划分单元,综合考量了POI点的影响范围和重要程度。并且,除了考虑网络节点原有的拓扑关联关系外,还增加了它们之间距离、邻接等空间约束的影响,减少了社区划分的碎部问题。最后本文采用一种动态约束的区域聚类与分割算法(REDCAP),通过对研究区域划分后模块度的评估,将内部关联密切的区块进行聚合,得到一个根据人群主观迁徙所决定的城市社区结构划分。


一、数据来源和研究方法


1.1 空间交互网络构建

本文所使用的签到数据为2015年1月至2015年12月深圳市的所有用户签到数据,该数据来自微博官方2016年提供的数据库文件。原文件包含深圳市43 419个信息点(POI)信息,以及426 078位用户共计2 735 900条签到记录,并对得到的数据进行了预处理和空间关联网络构建。


数据预处理内容包括:删除不能构成移动轨迹的签到数据,包括存在数据残缺的记录、单一用户连续签到时间跨度过长(超过一天)的记录、单一用户半小时内连续多次签到的数据;对有效签到数据进行坐标转换,由火星坐标系转换为WGS-84坐标系,并对节点进行位置排查,清除不在深圳市内的签到点。


在经过以上步骤后,得到840 440条用户在一天之内、半小时以上进行两次以上位置移动的有效签到数据,按照时间顺序可将其连接形成621 408条轨迹。每条有向轨迹分别在起始节点和终止节点贡献一出度和一入度,计算每一节点出度和入度的总和,得到的总度数即能代表每个节点的有效访问次数,被访问次数越多的POI点涉及到的用户数量更多,影响力也更大,因此实验中筛选出轨迹经过次数最多的369个节点作为特征POI点。


对筛选出的特征POI点进行Voronoi划分,即可将研究区域划分为369个不规则泰森多边形,每个多边形中都包含一个代表该面状区域属性的节点,如图2所示。在划分出合适的最小社区单元后,除了原先单纯基于POI点的空间拓扑关系外,还能对面状对象增加邻接关系的空间约束,构建出一个空间邻接关系表,为后续空间聚类增加约束条件。


图2 研究区域经过V图划分所得最小研究单元


将每个最小研究单元中的POI点与包含它们的泰森多边形连接,将原先节点与节点之间的轨迹连接转换为多边形与多边形之间的轨迹连接,每两个相连多边形之间的关联权重,由其所包含的相连节点数量决定,即连接两区域间的轨迹数量越多,两区域联系越紧密,并以此构建关联权重矩阵,作为空间聚类的主要约束条件。


1.2 社区结构挖掘


本文采用郭殿升教授提出的一种动态约束的区域聚类与分割算法(REDCAP),REDCAP的完整算法流程如图3所示。与传统的社区发现算法不同,该算法在聚类过程中考虑了网络节点的空间邻近约束。算法分为两个阶段,第一个阶段用带邻近约束的凝聚式层次聚类算法(Agglomerative Hierarchical Clustering)来获取区域聚类层次树;第二阶段通过优化函数切割层次树得到地理连续的区域划分结果。


图3 REDCAP算法流程图


为了构成区域层次树,REDCAP算法在单一连接(Single Linkage,SLK)、平均连接(Average Linkage,ALK)和完全连接(Complete Linkage,CLK)3种层次聚类方法的基础上,分别考虑两种类型的空间约束条件,一阶邻近约束(First-Order Constraining)和全序约束(Full-Order Constraining),形成了6种区域层次聚类算法。依据实验需要,具体使用上述6种方法中的全阶约束完全链接聚类(Full-Order-CLK)算法进行空间树构成。


构建空间上连续的树结构后,根据预设的社区划分数量,不断移除连接边直至得到预设数量的子社区,如欲生成k 个子社区需要进行k -1次切割。偏差平方和(Sum of Squared Deviations,SSD)作为异质性度量,其定义为:



式中,R 是用来描述指定社区,H (R )是用来描述其异质性,d是用来描述属性的数量,nr是用来描述R中对象的数量,xij是第i个对象的第j个属性的值,是用来描述是R中所有对象的第j个属性的平均值。


通过迭代计算每次切割所产生的偏差平方和,在每个步骤中最适合切割的子树是具有最大均匀性增益的子树,以此来决定子树的分割,其针对每个树(或子树)的综合值计算公式为:



式中,是表示在每一步切割后所产生的最大异质性降低值,即越大的子树,切割后能带来的均匀性增益越大,Ra和Rb表示在切割后所产生的两个子社区。


在社区发现算法中选取模块度(Modularity)来进行最佳划分结果的评定,作为常用的层次聚类型社区发现结果的优劣标准,模块度最开始由Girvan和Newman提出,在此之后又出现了许多以最大化模块度为目标的算法,如Blondel等提出的Louvain算法,Clauset等提出了CNM算法,Fast-Newman算法等。在实际算法中,实验通过不断递增最终划分所得的子社区数量,进行多次迭代计算,并进行模块度的计算和比较,在多次社区划分后将模块度最大时的划分结果作为真实的社区结构。模块度的计算公式为:



式中,Σin表示待并入社区内部节点之间轨迹的数量,Σtot表示待并入社区与周围节点轨迹的数量,ki表示被并入节点与周围节点轨迹的数量,ki,in表示被并入节点和待并入社区之间的轨迹数量,m 表示社区中所有轨迹的数量。


二、实验结果及分析


实验运行背景为W i n d o w s 1 0 x 6 4,其中使用到PostgreSQL 9.4用于数据清洗和轨迹构建,主要在ArcGIS 10.2.2中实现邻接关系矩阵和关联权重矩阵的构建,社区发现的关键算法由MATLAB R2014a编写得到最终实验结果。


2.1 实验结果


本节根据采集的2015年的深圳市微博签到数据,利用REDCUP算法对深圳市进行城市内部结构挖掘,并分析该算法在城市社区结构挖掘中的可行性和准确性。在本次实验中,共进行了29次划分,每次划分得到一个新类,在聚类为7类时得到最大模块度0.509 5,因此选取第6次划分结果得到的社区结构,并将模块度最大的划分结果进行可视化表达。如图4所示社区划分的结果所示,图中每个颜色代表一个社区,同时,筛选每个社区轨迹数量大于3的轨迹构造视线于上图,0~6的色块编码分别代表1~7个不同社区,根据城市轨迹所生成的各地理区块间的不同权重,深圳市被划分为7个面积大小不同社区。


图4 社区划分结果图


2.2 社区结构挖掘结果验证


首先就社区划分的完整度来看,7个社区划分后不存在碎部,大致被划分为地理连续的区块,有利于实验结果的后续利用。在此基础上,为检验结果的准确性,结果的评估分为两个方面进行,其一是根据各个社区涵盖的POI属性,分析每个社区内部功能结构的组成关系;其二是通过将社区划分结果与深圳市行政区划相比较,分析实际人口迁移与传统区划是否契合。


参照原始数据爬取分类表和《城市用地分类与规划建设用地标准》,将原始的POI点共分为12类(见表1)。分析每个社区的POI功能构成,如图5所示,可以发现除了社区三POI数量普遍较高,剩余6个社区POI数量差距不大,占比较多的均为第4类餐饮类、第8类住宅区以及第11类著名景点。


表1 POI功能分类表


图5 7个子社区内部POI功能结构


子社区功能结构都较为均衡,确保了其城市居民的日常所需都能被满足。同时,通过对比实际地图不难发现,社区三所圈定的范围如图6所示,为深圳市的中南部,大致指向福田区。福田区为深圳市中心城区,同时也是市委市政府所在地。由于该地区的人口密度大,经济水平高,也合理地解释了为什么社区三的功能结构中会有大量的餐饮和住宅区,而第九类工业区数量骤降。通过社区功能结构的探索,可以发现本实验的社区划分结果是较为合理的,实验结果确保了每个社区具备完整的城市功能结构,与此同时,也很好地区别出了城市的中心地区。


图6 社区三所对应的实地位置


其次,将社区发现的结果与深圳市行政区划进行叠加分析,结果如图7所示,发现人口流动轨迹得到的社区划分结果与传统的行政区划关系并不大。造成这种情况可能有两个原因。其一,行政区划的划分是由行政部门自上而下所规定的,其目的是在于如何更好地辅助行政工作,而很少考虑到人群的移动性;其二在于深圳市本身人口密度就比较大,且公共交通体系完善,人口流动性强,因此传统的行政区划并不会阻碍人口日常流动,所以两者之间并没有紧密联系,出现不能完全匹配的情况也不难理解。


图7 与行政区划叠加效果图


三、结语


本文提出一种基于空间交互网络的城市内部社区结构发现方法,利用微博签到数据所具备的地理信息和语义信息,将独立的POI节点连接成为关联权重不一的区域网络,通过REDCAP算法进行社区分割,得到基于人群主观迁移模式的城市结构划分。并通过对各个子社区要素构成的分析,以及实际地图比对,验证了实验结果的准确性。


但是,实验中作为两区域之间连接性关系的权重矩阵,仅考虑了两区域之间的轨迹数量,数据来源较为单一,可考虑从公交数据、出租车数据等交通数据层面丰富连通性定义的约束因子。由于参数表可更改,这也使得该方法能够适应多种不同的数据源,扩宽了后续社区发现算法研究的思路。

责任编辑:林冬娜、邓小云

文章来源:地理信息世界GeomaticsWorld


点击查看联盟会员单位详


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存