成都市夜间经济活跃区域分析
一、 动机
夜间经济的重要性:随着近段时间“淄博烧烤”的火爆,让夜间经济再次成为热点。带动就业、提振消费,夜间经济作为城市消费的“新蓝海”,已经成为各地扩大内需、促进消费的重要举措之一,夜间经济正在引发新一轮的消费热潮。当前,夜间经济逐渐成为城市活力的新标志,也是打造城市品牌、促进产业融合、推动消费升级的新引擎。随着各地越来越重视夜间经济以及支持政策的出台,夜间经济必将迎来蓬勃发展,并促进商、旅、文、体等服务业融合发展,为市场主体注入强劲活力。
二、 目的
(1) 如果我是刚来成都的游客,我希望晚上去一些热闹的地方玩、吃、买、赏,我可以去上面分析出的夜间经济活跃区域(已做)
(2) 如果我是司机,将所有订单划分成24小时段,找出订单的起始地点的密集区域,那么我就可以知道某个时刻我应该去哪里能更加容易接到单。(已做)
(3) 如果我是政府,结合成都市POI数据,分析公共设施和交通设施的分布,如公共厕所、公交车站等,将其与上述区域进行比较,寻找基础设施不完善的地方,政府可以在这些地方完善基础设施的建设。(待做)
三、 数据集
3.1 成都滴滴一天数据集
字段1:司机ID
字段2:订单ID
字段3:时间戳
字段4:纬度
字段5:经度
里面有40453个司机的208406个订单,共计39258427条数据,每条数据字段是司机ID、订单ID、时间戳和经纬度
图 1 成都滴滴数据集
3.2 成都市poi数据
字段1:名称
字段2:大类
字段3:中类
字段4:经度
字段5:纬度
字段6:省份
字段7:城市
字段8:区域
共8000W条数据,包含整个成都市的所有POI信息
图 2 成都POI数据集
四、 前期准备工作
(1) 高德开放平台API,限额100次每天
(2) 最多一次返回200条数据,即使count>200
(3) 采用四叉树获取:将大范围拆分为同等大小的四子小范围,判断每个子范围中的POI数量是否超过阈值(200)。如果超过阈值,就继续拆分这个子范围;否则直接获取这个子范围的POI
图 3 四叉树获取矩形内POI
(4) 获取了四小块区域的内容,但是额度不够,提升额度最低三百元十万次
图 4 获取数据展示
(5) 方法可行,受制于额度无法实现,我们后来又尝试了百度开放平台和种种相关软件,但都无法获取到完整的poi数据。最终在咸鱼上花二十多块买了成都市POI数据,共八千多万条数据,非常完整
五、 夜间经济活跃区域
5.1 目的
如果我是刚来成都的游客,我希望晚上去一些热闹的地方玩、吃、买、赏,我可以去上面分析出的夜间经济活跃区域(已做)
5.2 解决方案
我们手中有成都市滴滴订单数据与成都市POI数据
分析并用聚类方法找出18:00至次日2:00之间订单目的地的集中区域,说明这些区域是夜间人们喜欢去的地方
分析成都市POI数据,排除掉住宅区、医院等,关注餐饮美食、购物消费、生活服务、酒店住宿、休闲娱乐、旅游景点六大板块的poi,这些poi形成的密集区域说明拥有经济活跃的基本条件,有较活跃的经济活动。
如果两者的密集区域有重合,则认为这些区域是夜间的经济活跃区域
5.3 具体实现步骤
(1) 用java处理3.5G滴滴数据,每个订单只取开始和结束两条数据,保存经纬度
(2) 根据时间戳,进一步切出18:00-2:00之间的数据,并写入csv
(3) 用weka的DBSCAN对其进行聚类,参数0.005,80,即夜间0.005范围内订单数超过80个点的被聚成一类,将聚类结果导出
图 5 聚类可视化
图 6 聚类在地图上可视化
(4) 聚类结果即为夜间人们喜欢打车去的地方
(5) 每个聚类取平均经度纬度作为聚类的代表地址,用java处理成都市POI六大板块的数据,循环遍历每个聚类,找到它范围100米内的poi,加入该聚类的poi条目内
图 7 经济类POI
图 8 处理结果
(6) 用weka的apriori关联规则寻找聚类与poi类别之间的强关联规则,结果即为某个聚类的主要经济活动类别
图 9 apriori结果
(7) 处理一下关联规则的结果,使用高德api将聚类的经纬度用逆地理编码转换成实际地址,最终就可以得到,想要夜间购物去哪里比较好,想要夜间吃美食去哪里比较好等等。
5.4 结果
由图10可知
当游客想要购物消费时第一推荐去的地点就是聚类编号为39的,实际地址四川省成都市锦江区书院街街道福兴街华敏·翰尊国际附近
当游客想要酒店住宿第一推荐四川省成都市锦江区锦官驿街道天仙桥北路朗御附近
当游客想要吃好吃的,应该去沙河电影院附近。
图 10 最终结果
图 11 结果在地图上可视化
六、 司机接单区域
6.1 目的
如果我是司机,将所有订单划分成24小时段,找出订单的起始地点的密集区域,那么我就可以知道某个时刻我应该去哪里能更加容易接到单。(已做)
6.2 解决方案
一天的数据上千万条,但是每个订单只需开始时的数据,最终过滤出20W条数据
对一天的数据进行聚类太笼统,没有实际意义,需要划分24小时,更精确
每小时聚类,将结果导入到地图上可视化
6.3 具体实现步骤
(1) 用java处理3.5G滴滴订单数据,只取每个订单的开始
(2) 根据时间戳进一步划分成24小时段的订单,写入csv
图 12 滴滴数据
(3) 用weka对每个小时订单数据进行聚类,规定每个小时在0.005范围超过10个订单就算是订单较多。
(4) 每个聚类对应的地址即为每小时较容易接单的地点
图 13 聚类可视化
图 14 聚类在地图上可视化
图 15 高德逆地理编码代码
6.4 结果
由图16可知,当在14时,司机推荐的接单地点为表中列出的地址
图 16 接单推荐地点结果(14时)