从设备轨迹点中挖掘城市关系


城市是区域的中心,有着相对完善和独立的职能;城市同时又是开放的,人口、产业等要素在不同城市之间流动,不同的城市在空间中往往聚集抱团,形成城市群。在我们的印象中,京津冀、长三角、珠三角这三个城市群内部的城市有着更强的联系,那真实的情况是不是这样子的呢?

前不久小毅同学从新浪新闻里提取出共现的地名,并以此来计算省份之间的联系程度相似性。本文将从人流的角度来挖掘城市之间的关系。

人在城市之间的流动大部分情况下可以认为是受经济或是文化的原因驱使。因此,两个城市的人口流动越多,说明两个城市在经济文化的交流上越多。为此,我们尝试使用合作伙伴禾略的设备轨迹数据来挖掘城市的关系。为了提取人流在不同城市间的流动,禾略收集了每个月用户在不同城市的机场逗留的次数。我们使用2015年11月的3396459条设备轨迹进行分析。

首先,我们根据一条设备轨迹计算其内部隐含的城市关系。设所有的设备轨迹为集合T, T={t1, t2, ..., tn},其中n=3396459,在轨迹ti中,出现的城市集合为Mi,Mi = {mi,1, mi,2, ..., mi,p},其中p为轨迹ti出现在这一个月内出现过的城市的个数(不包括居住城市),并且在每个城市出现的次数组成向量F = {fi,1, fi,2, ..., fi,p}, 其中fi,j表示城市mi,j在轨迹轨迹ti中的出现次数。从轨迹分布我们可以得到轨迹ti所在的居住城市,设为Ci。那么,城市Ci和城市mi,j的关系可以用下面的联系强度来表示:

Ri,Ci,mi,j = fi,j / (fi,1 + fi,2 + ... + fi,p)

对每一条轨迹进行上述计算,并累加联系强度,可以得到城市c1和c2的最终强度:

Rc1,c2 = R0,c1,c2 + R1,c1,c2 + ... + Rn,c1,c2 (其中n = 3396459)

看看北京按照上述方法计算得出的和其它城市的联系强度:

再看看上海的:

其它城市的联系强度图?广州深圳武汉温州

看完上图,我们会发现,同处一个城市群的城市往往有着较强的联系。并且城市越大、经济越发达,就能与越远的城市产生联系。比如北京就和新疆的一些城市有着较强的联系。

在联系强度的计算中,每个城市都得到了一个与其它城市联系强度的向量。为了进一步挖掘城市之间的相关性,我们采用了余弦定理来分析这些向量的相似性。如果两个城市的向量的夹角越小,说明它们和其他城市的有着类似的联系强度,因此这两个城市也就越相似。从城市的相似度我们可以猜测城市之间可能有相似的定位、产业或是其它资源等等。

由于之前我们得到的联系强度值不是相对的大小,我们先对向量进行归一化后然后计算它们的夹角。(具体计算方法参见小毅的博文从新闻中的地名共现看中国各地的联系强度(二) — 共现地名相似度计算

借助数据上图,我们可以得到北京和其它城市的相似度:

上海和其它城市的相似度:

其它城市的相似性分布图?武汉温州重庆

从相似性分布中我们可以发现,和北京最相似的城市是河北省的邢台市、新疆维吾尔自治区的巴音郭楞蒙古自治州以及天津;和上海最相似的是浙江的金华市、辽宁的本溪市以及河北的石家庄市、北京市。和重庆最相似的市陕西的宝鸡市、四川省的乐山市以及泸州市。总的来说,不像强度分布和地域有着较强的关联,相似的城市往往在地域上呈现相互呼应的态势。或许在同一个地域内,相似的城市不能太多?

由于我们的数据只统计了通过机场出行的人流,没有统计其它方式,可能会导致某些大城市的重要性被放大(有些人可能是通过飞机到大城市,然后改乘其它交通方式到大城市附近的小城市)。但是从总体上看,还是能体现出城市联系的一般规律。

欢迎从GeoHey获取地理和位置相关的数据、知识、服务

访问网站 http://geohey.com

联系我们 contact@geohey.com

长按关注公众号