城市人群迁移分析

一、 基本介绍

1. 缘起

对设备/用户(以下不做区分,根据行文的方便,设备或用户均是同一概念)级别的分析一直是我之前在工作中考虑的一个方向,地理位置相关字段的引入,为研究用户的迁移提供了依据。

在2016年春节,我就考虑过利用数据进行城市人口迁移方面的分析,但是由于当时对采集到的数据性质尚未完全掌握,其中存在的系统性偏差也需要通过一系列工作进行纠正,再加上还有其他分析任务,这一工作被搁置了3年。

2019年春节后,由于工作的变化,我相对有了较为充裕的时间,加上此前两年对基础数据的梳理,从采集性质和字段校验上都已经做了准备,因此可以将这一工作进行下去。

2. 主要开发过程

城市迁移人群的分析主要分为两个步骤:数据准备,以及可视化实现。

首先我在时间和空间上确定了分析的对象,明确了设备的关联和匹配规则,从采集到的数据中提取出了可用于迁移分析和比较的设备群体。随后我将这些数据进行整理,配合其他的辅助数据,转化为可以用来进行可视化展示的输入。

在可视化实现阶段,之前了解过Processing这种可视化展现的工具,于是本次采用Processing进行原型开发,通过这个过程来学习。最终我获得了一个可以用于展示中国各地手机用户春节迁移状况的动态模型,并计算了6个指标用于说明各地方的人口流动效果。

3. 未来演进方向

作为一个探索性的项目,目前取得的成果还有巨大的提升空间。这一模型目前是离线状态,如果有机会能将它改造为线上项目,自然是很有意思的。这些数据本身也有很大的优化空间,比如设备定位上,目前依然是采用IP,未来可以依托GPS、通信基站和WiFi热点等信息的进行校验。最后,在具体的可视化形式上,限于时间和精力,仅仅是简单地实现了地图和仪表盘的开发,这些可视化效果也可以进行改进和提升。

二、 数据准备

1. Hive数据准备

基础数据中,目前对位置的判断来自IP,因此在选择时,需要依据一些已经识别的规则,对数据进行清洗。由于是对国内数据进行分析,因此我们首先排除了国外和未知区域的数据,其次由于运营商分配机制的原因,我们将4G网络环境下的移动数据也排除在分析范围之外。

对于分析对象的选择,还需要从时间和空间两个维度进行筛选。

由于分析的是春节期间的用户迁移,因此在时间上需要确定春节前、春节中和春节后3个时段。考虑到大多数人的过节习惯,并尽可能规避提前踏上旅途造成的影响,因此指定春节前为1月21日至27日,春节中为2月4日至6日,春节后为2月20日至26日。

空间维度的筛选上也需要进行优化。以往的分析中,发现过大量的用户由于出差、旅游、通勤等原因,在一段时间内出现在多个不同的区域。因此,我将时间段内该用户出现最多的城市确定为在该时间段内的常住地。

由于数据的采集频率有不确定性,我仅保留了同时出现在春节前、中、后3个时间段内的用户。

此外,考虑到存在刷机用户的可能,我结合之前积累的设备型号表,排除了不在该表范围内的设备,这样即使不能去除全部的刷机设备,也能够规避相当一部分。

通过对应的脚本,最终形成的结果表包括品牌、设备标识、城市和时间段4列。

由于我需要分析的是城市间的人群迁移,暂时不涉及具体用户个人的行为,所以将结果按照时间流向进行统计输出,即:节前城市、节中城市、节后城市和设备数的数据组合。

考虑到后续分析的时候,还单独计算了每个地区节后流入用户中的节前流入用户数量,以备使用。

2. R数据整理

作为探索性的项目,我采用R对数据进行再次处理,以获得更便于在可视化中作为输入的格式。全部的处理可以分为两个部分:处理流向数据,处理指标数据。

流向数据包括5列:流出地区、流入地区、设备数量、时间段,以及区域级别。其中区域级别分为地区、城市等级、省份和城市4类,对应4类不同的地域划分方式。

考虑到需要标记出流向数据的起点和终点,采用每个地区的实际地理坐标是比较合适的方式。这样既方便辨认,也方便进行结果阐述。由于已经获得了一部分设备的GPS坐标(经过终端用户许可),因此利用这些坐标的均值,获得了一份国内各城市的GPS坐标图。对城市的坐标再次求均值,就可以用来表示省份和地区的坐标。对于城市等级,由于本身并非行政区划,因此其展现方式采取环形分布的6个点的方式,与其他级别的数据不同。

对于指标数据,按照“指标设计”一节中的规则进行转换后,输出为8列:地区A、地区B、区域级别、指标名称、分子、分母、比值,以及调整值。具体的规则见下节。

3. 指标设计

为了衡量一个地区的人口迁移状况,需要设定若干指标。从评价地区人口流失的角度,设定了流失指数=节前流出用户数/节前常住用户数,其中节前流出用户数=节前为该地区,节中为其他地区的用户数之和,节前常住用户数=节前和节中都为该地区的用户数,余此类推。有流失,自然对应的就有流入,设立了吸引指数=节后流入用户数/节后常住用户数。有了流失和流入,就可以衡量两者间的关系,设立了发展指数=节后流入用户数/节前流出用户数。在衡量地区吸引力的层面,还设立了包容指数=节后流入用户中的节前流出数/节前流出用户数,这一指标反映了该地区吸引同一批用户的力度。以上4个指标都是衡量一个城市自己的吸引力。

为了比较不同城市间的吸引力强弱,还设立了两个指标。一个是反映两个地区间竞争关系的竞争指数= (节后从B流向A的用户数/节后B的常住用户数)/(节后从A流向B的用户数/节后A的常住用户数),另一个是反映两个地区间联系紧密程度的关联指数=(节后从B流向A的用户数/节后B的常住用户数)+(节后从A流向B的用户数/节后A的常住用户数)。两个指标各有不同的观察角度。

在后续的可视化过程中,发现直接利用以上公式计算出的指标存在一些问题。首先是难以比较不同地区的同一指标究竟是何种水平;其次是存在部分地区的常住用户数过低,因而计算出的指标值与其他地区偏离程度极大,难以反映实际的状况。因此有必要对上述指标进行转换。

对于衡量地区自身吸引力的4个指标,采用同一级别所有区域的指标均值作为底数,该地区该指标的调整值=比值/同级区域均值×100.对于竞争指数和包容指数,首先去除流动用户数过低的点,然后再按照同一方法进行调整。由于地区间两两组合数过大,因此对每个地区,只保留排名前十位的值。

三、 可视化实现

1. 可视化设计

作为探索性项目,需要对提取的流向数据和计算获得的指标数据进行展示。考虑到开发的快捷,选用德国马克斯·普朗克研究网络的一个可视化案例作为参考,效果上做了简化。

基本构思为左侧绘制流向图数据,采取绘制坐标点的方式表现相应的地区,坐标点的直径表示常住用户数,用箭头方式从该地区流出或向该地区流入的用户,箭头的粗细表示流出/流入用户的数量。

右侧为指标区,采用仪表盘的形式展现6个基本指标。此外还包括选择区域等级和时间段流向的选择框。对于具体地区的选择,采用绘制出流向图坐标点后,点击相应的坐标点的方式,以避免罗列过多的地区名称。

2. Processing开发

可视化操作的逻辑如下:


其中绘制和读取采用函数进行构建,选择按钮则是单独定义了一个结构体,包含选择和取消两个操作选项。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容

  • 企业在选择用户行为分析工具时,大都不清楚如何选择适合自己业务的用户行为分析工具。笔者自己公司之前网站分析用百度统计...
    东似阅读 3,072评论 0 11
  • 每天进步一点点点点点点点点点点点点点点点点点点点点点点点点点点点点点点~~从开始只能写几句话、模仿别人的观点,到现...
    一个帅气的名字呀阅读 18,091评论 4 31
  • 生气 发脾气 不让碰身体 转身就走 凭借着别人爱自己多一点伤害自己 觉得自己是受害者,没有安全感会被人抛弃 没有考...
    怂怂是只猫阅读 192评论 0 0
  • 当人们感觉天气热的不能再热的时候,一年一度的美食节如约而至,又轰动着整个夏天。 人们像流水一样向汇丰...
    痛并快乐着_b084阅读 410评论 3 3
  • 题目 对于前端来讲,经常需要自己构建组件,树就是其中一种,然而,对于树来讲,是存在一些不确定性的,比如树可能会很大...
    zxqian1991阅读 2,124评论 0 1