2017年第1期/西部人居环境学刊/031基于大数据的城市居民职住锚点计算方法研究ResearchonResidence-and-WorkAnchorPointsAlgorithmwithBigDatainUrbanResearch高硕王铭扬鲁旭茅明睿GAOShuo,WANGMingyang,LUXu,MAOMingrui摘要居住和就业是两个重要的居民时空行为要素,通勤行为规律能够直接反映城市空间结构特征,而大数据的发展对城市职住通勤研究提供了新的数据源与方法论。本文通过比较分析各个居民职住锚点计算方法,针对网络位置大数据提出基于密度的聚类算法;并以北京市东部及北三县地区为例进行案例分析。结论发现:基于密度的聚类算法速度快、准确度高,适合网络大数据在城市研究中的应用。关键词城市;大数据;锚点;算法;职住;通勤Abstract:Residenceandworkaretwoofthemostimportanttimeandspacebehaviorelementsfor citizens. To a great extent, commuting pattern reflects spatial structure of a city. Nowadays, thedevelopmentofinformationandcommunicationtechniquesprovidesnewdatasourcesandmethodologyforurbanstudies.Thispaperintroducesformeralgorithmsforcalculatingresidence-and-work anchor points, and puts forward a new clustering algorithm for internet LBS data based on DBSCAN. A case with the data produced by this new algorithm, commuting patterns of eastern Beijing and Beisanxian, was introduced afterwards. In conclusion, it’s foundthatthenewalgorithmforresidence-and-workanchorpointshassatisfactoryspeedandaccuracy, and is suitable for the application of LBS data in urban researches.Keywords:Urban;BigData;AnchorPoints;Algorithm;Residence-and-Work;CommuteDOI:10.13791/j.cnki.hsfwest.20170105高硕,王铭扬,鲁旭,等.基于大数据的城市居民职住锚点计算方法研究[J].西部人居环境学刊,2017,32(01):31-37.中图分类号U491;TU984.113文献标识码B文章编号2095-6304(2017)01-0031-07作者简介高硕:北京城市象限科技有限公司,助理工程师,gaos@urbanxyz.com王铭扬:北京师范大学物理系,访问学者鲁旭:北京城市象限科技有限公司,高级工程师茅明睿:北京城市象限科技有限公司,高级工程师0 引 言随着近年来城市经济的发展,城市的物质环境和空间结构都经历着巨大演变[1],城市研究领域内新手段新方法层出不穷。在对城市空间结构的研究中,学者开始更多地从人类空间行为的视角来解读城市空间格局[2-3];并从制度变化的视角来挖掘空间转型背后的深层机制[4]。居住和就业是两个重要的居民时空行为要素。城市居民的通勤行为是指居民离开居住地前往工作地的出行。它受城市中居住与就业空间分布方式的影响,发生于工作人口中。城市研究中,提取居住与就业锚点可以描述居民的时空行为,统计空间单元的通勤属性,并由此反映城市的空间结构[5-7]。与此同时,通信技术的发展使得大数据越来越多的被用于城市研究中。基于大数据的职住研究有比传统的问卷调查方式成本低、定位与时间精度高、覆盖人群广,善于描绘居民时空行为等优点。基于大数据的城市居民职住锚点计算,是大数据视角下城市研究的重要组成部分。目前在城市研究中应用的大数据以手机信令数据(包括手机通话基站、手机信令位置两部分)、公交IC卡数据及互联网LBS数据为主。学术界已有使用手机信令数据与公交IC卡数据进行职住锚点计算的研究探索。手机信令数据计算锚点的算法为:转换个体活动序列、识别基站位置、使用Voronoi多边形与随机点生成法模拟职住锚点[8]。公交IC卡的数据处理中,则可以利用首次刷卡识别居住锚点、停留时长识别就业锚点[9]。由于互联网LBS数据具有时间不连续、规律性不强等特点,其应用基本仅限于瞬时人流的描述,很少将其用于反映居住、工作行为,也缺乏对锚点算法的研究。本文将讨论手机信令数据、公交IC卡数据的锚点算法,并在此基础上研究适用于互联网LBS数据的锚点算法。ISSUE1FEB.2017/JOURNALOFHUMANSETTLEMENTSINWESTCHINA/0321 基于大数据的锚点计算研究1.1已有算法目前基于大数据的锚点计算方法,按照数据类型的不同主要分为公交刷卡[9]与手机定位的数据。其中,手机定位数据由运营商保存,分为两种[1]。一、手机通话位置数据。此类数据保存的时间段较长。然而由于个体使用手机通话的情景不同,是不规则稀疏采样的数据,可能出现定位次数非常稀疏,居住工作时段通话较少,通话位置在通勤途中等会导致误差的情况。二、手机跟踪定位数据。此类数据是规则连续采样的,此类数据可以完整地保存个体时空行为的轨迹,是理想的城市居民行为特征研究的数据源。然而手机跟踪定位数据保存的时间较短,一般只有几天,在数据处理时可能会导致误差[10-11]。因此,基于手机定位的锚点计算方法又分为基于通话基站[12-14]与基于手机信令位置[13]的两种方法。1.1.1基于手机通话基站基于不规则稀疏采样的手机通话数据计算职住锚点的算法包含三步。第一步,将个体的通话记录转换为个体活动序列。许宇使用“活动地点—活动时间”数据模型(Activity-LocationTime,LT),处理手机通话位置数据,L代表数据活动的基站位置,T代表活动时间[1]。第二步,识别居住与工作时间用户通话使用的基站位置。首先设置工作时段与夜间睡眠时段,许宇等设置工作时段09:00~18:00,夜间睡眠时段为00:00~06:00。然后选取两个时段内定位次数超过阈值的基站,许宇等设为工作阈值6小时居住阈值4小时。第三步,模拟职住地位置。使用Voronoi多边形表示基站服务范围,结合范围内用地性质结构,使用随机点模拟法生成职住地的坐标。1.1.2基于手机信令位置基于规则连续采样的手机信令数据计算职住锚点的算法与手机通话数据类似,包含三步。首先,从规则定位数据中提取出个体活动序列。其次,利用聚类分析识别职住地对应的基站位置。最后利用Voronoi多边形与范围内用地性质结构,模拟职住地位置。聚类分析又称群分析,是利用数学工具对数据进行定量分类。聚类分析由若干模式组成,模式是一个向量,或多维空间的一个点。在空间锚点计算中,模式是由经纬度组成的二维向量。聚类分析的结果则是将这些“点”分成不同“簇”,并且尽可能地将相似性较大的“点”归为一簇,即我们需要的市民行为中“锚点”模式。聚类分析的算法可以分为划分法、层次法、基于密度的方法、基于网格的方法和基于模型的方法。各个学者在锚点算法研究中采用了不同的聚类分析,如Miguel通过PAM(Apartitioningaroundmedoidsalgorithm)聚类,许宇通过设定定位次数阈值聚类,Isaacman[15]等运用回归结合聚类算法。1.1.3公交IC卡数据识别公交IC卡的数据分为一日刷卡数据和一周刷卡数据两种,可采用不同的锚点计算方式。在2005年调查中,99.5%居民的首次出行的出发地点是居住地。因此,基于一日刷卡记录,首次刷卡的站点可视为用户的居住锚点。而识别就业锚点的方法是:持卡人不是学生,在某个地点停留超过6小时,则此地视为该用户的就业锚点。基于一周刷卡记录,首先按照一日刷卡记录的方式识别每日职住锚点。然后通过设置阈值(龙瀛等设为500m[9])进行聚类,得出该用户多个居住(或就业)锚点,选取定位次数最多的视为居住(或就业)锚点。1.2数据介绍本研究所使用的数据源自腾云天下有限公司(TalkingData,以下简称TD)。北京腾云天下科技有限公司成立于2011年9月,是中国最大的独立第三方移动数据服务平台。腾云天下数据的数据量约为全国每天数十亿条;累计用户14亿个,目前每日活跃用户约为2.5亿个,每月活跃用户约为6.5亿个。该数据采集自以智能手机为主的带有定位功能的智能终端,数据结构包括用户设备的唯一识别码信息(ID)、定位经纬度、定位时间(精确到毫秒);部分定位数据含有用户手机型号(与价格、操作系统类型)、来源应用程序。另外,腾云天下通过对用户行为进行画像,提供年龄、性别、婚姻、车辆拥有情况等标签。1.3锚点算法腾云天下的互联网LBS定位数据来源于GPS,比起精确到基站的手机信令数据位置精度较高。而TD数据来源于手机APP,由于用户活跃程度不同、手机APP使用情景不同,导致数据定位频次非常不连续且不均匀。夜间睡眠时段APP活跃程度普遍较低,需要扩展睡眠时段的定义范围。工作时段由于外出、交通等原因也有可能导致定位点不在就业地。因此,我们需要针对互联网LBS数据研究更合适的锚点算法。经过多种方法对比,我们决定采用聚类分析确定锚点的方法。将LBS数据中,用户定位的经度与纬度看做两个维度,那么我们需要找出在特定时间(如居住地定义为21点至次日7点、工作地定义为工作日的10点至17点)定位次数最多的簇,并将簇的核心对象定义为锚点。并对各种聚类算法的分类效果进行了对比[16](图1)。我们随机提取了一个用户在2015年10月的所有数据,根据定义的规则过滤出工作时段与夜间睡眠时段的定位点(图2),然后采用K-means和基于密度的两种聚类分析方法进行分析,并对比其结果。1.3.1K-means聚类我们选取了Python程序包中K-means++的算法进行锚点计算。首先,需要确定分组个数(K值)。尝试各种K值,比较数据处理用时和轮廓系数等指标。轮廓系数是评价聚类效果的指标,结合了内聚度和分离度两种因素,结果越接近于1,表示聚类效果越好。选定用户工作时间定位点的聚类效果如下表所示:最后一列为轮廓系数,当K2时轮廓系数均高于0.9,表示聚类效果很好;而K=3时用时最短,因此我们选取3作为分组个数(表1)。2017年第1期/西部人居环境学刊/033接下来设定K=3,对所有工作时段定位点进行分组并求各个分组的中心点。在三个中心点中,按照组内定位点数量排序,取最高者作为第一就业锚点,第二位作为第二就业锚点。将同样的步骤用于所有夜间睡眠时段,计算出第一与第二居住锚点。图3展示了使用K-means算法聚类的锚点结果。1.3.2基于密度的聚类DBSCAN(Density-BasedSpatialClusteringofApplicationswithNoise)是基于密度的聚类算法,相比于其他聚类算法,DBSCAN具有以下明显优势:不需要提前输入聚类簇的数量;适合锚点计算中有多个居住地(或工作地)的情况;可以发现任意形状的簇类;可以识别噪声点。DBSCAN基本的输入参数有两个:一、E邻域。给定对象半径为Ε内的区域。在锚点计算中,半径为E的范围内定位点可以视为一簇,即一个锚点。二、核心对象。核心对象(或阈值)代表最少出现次数。在锚点计算中,若一簇里面定位点天数超过该阈值,则该簇可以称为锚点(图4)。另外,我们在DBSCAN的基础上增加了限定条件,即定位点的时间跨度