大数据freestyle: 共享单车轨迹数据助力城市合理规划自行车道
编者按:近年来,异军突起的共享单车极大地解决了人们共同面临的“最后一公里”难题,然而,共享单车发展迅猛,自行车道建设却始终没有能够跟上脚步。幸运的是摩拜单车大量的轨迹数据为我们提供了一种新的思路:利用大数据和AI技术,使用一种数据驱动的方式更为合理地规划自行车道的建设。
在刚刚结束的SIGKDD 2017大会上,微软亚洲研究院城市计算组发表了一篇名为“Planning Bike Lanes based on Sharing Bikes’ Trajectories”的论文,利用摩拜自行车的轨迹大数据解决如今城市自行车道的规划问题,最终形成企业、政府和广大人民群众的三赢局面。点击阅读原文可查看论文。
早在上世纪七八十年代,中国曾被称为自行车大国。当时,大多数人的出行都依赖于自行车,以至于自行车成为了中国当时结婚所要求的“三大件”之一。随着经济的快速增长,越来越多的私家汽车进入了普通民众的生活,为大众的出行带来了极大的便利。但随之而来的却是各种城市问题:交通拥堵、空气污染等等。
最近一年,共享单车的出现为人们提供了一种便利的自行车共享方式,用户可以轻松地在任何地方使用智能手机来实现自行车的租借服务。于是自行车重返上路,成为城市用户喜爱的出行方式。以摩拜单车为例,目前它已拥有超过1亿注册用户,日订单量约2500万。与此同时,政府也非常愿意在群众中推广共享单车的使用。因为共享单车可以降低城市的道路拥堵,减轻空气污染,提高公共交通的使用效率,对人们来说也是更加健康的出行方式。
但是,目前的自行车道建设却没能跟上共享单车所带来的新的骑行需求。如果没有良好的自行车道规划,很多时候骑行的人们只能和机动车一起使用机动车道路,这就使人们的骑行体验大打折扣,并且还可能产生潜在的交通事故。因此,政府希望能够规划出更有效的自行车道来提升大众的骑行体验。
从城市角度看,自行车道的规划存在一定的要求和限制: 首先,建设每条专门的自行车道都需要消耗一定的资源,比如政府预算和道路空间等;其次,自行车道作为一种公共资源,政府希望它能够更好地服务更多的人,并覆盖更长的个人骑行轨迹;最后,为了施工和管理的便利,政府更希望这些道路的建设能够在整个路网上连成有限个区域(下图右图),而不是在整个城市中分散的分布(下图左图)。然而,要同时满足这些建设限制要求的规划是一个非常困难的组合优化问题。
幸运的是,摩拜单车的用户在使用过程中记录了非常有价值的轨迹信息,真实地反映了人们的骑行需求,使得我们有机会利用大数据和数据挖掘技术更有效、合理地规划自行车道的建设。
在KDD 2017大会上所发表的“Planning Bike Lanes based on Sharing Bikes’ Trajectories ”论文(点击阅读原文查看论文)中,我们提出了一个基于贪心思想的近似解法,来实现自行车道规划方案的推荐。该算法包括两个步骤:1. 基于路网距离的空间聚类;2. 基于贪心的网络扩展(Greedy Network Expansion)。
在第一步计算中,我们首先根据用户在各条道路上的骑行数据选出Top-M 条用户骑行最频繁的候选路段,然后利用这些路段之间的距离进行hierarchical spatial clustering (层次空间聚类,每次我们都合并两个路网距离上最接近的路段聚类,并知道最后的结果只剩下K个聚类)。最后在每个聚类(cluster)中,我们会选择骑行最频繁的路段作为下一步贪心网络扩展的起始点。
在第二步的计算中,每一次我们都将这些起始路段的邻接路段作为候选集合,然后检验每一个候选路段所能够带来的单位长度上所有轨迹分数的提升。接下来,我们每一轮都选择能够给现有方案带来最大提升的路段作为结果,直至预算被使用完(如下图所示)。
通过以下计算方式,每条轨迹都会为新的路段给出一个得分:
其中,segs(τ)表示这条轨迹被我们的建设方案所分成的连续的段数,s.l表示每一段的长度,而α则是一个调节参数,当该数值越大时,更多的分数就会被给予更连续的规划方案,因为在连续的自行车道上骑行会有更好的体验。比如,相对于下图a 中不连续的自行车道设计方案,用户更希望在b 图中设计的自行车道方案上骑行。
a. Broken 2km b. Continuous 2km
利用该算法,我们在上海的摩拜单车数据上做了一系列的实验。比如,想在上海周边5个区域内建设30km的自行车道,下图就是算法所推荐的一个方案,可以看到算法覆盖了这个区域所有的6个地铁站。
为了更好地评估算法所产生的自行车道规划方案的优劣,我们亲自去了上海做了实地调研。在金运路地铁站附近,我们发现除了有规模不小的万达虹桥商场,周围2公里内还坐落着许多高密度的居民区。骑行在这个区域内是最方便的出行方式,所以我们在这里看到了密度很高的骑行数据。我们还发现,在这个区域内政府只在主要干道上修建了专门的自行车道(下图中蓝色线道路),我们的算法同样也给出了在这里修建自行车道的建议。
更进一步,我们的算法在那些支路和小区周围的道路上也给出了修建自行车道的建议(上图红色线道路),因为那些道路连接了各个居民区,从数据上也可以看到很多骑行轨迹。但是目前这些地方并没有专门的自行车道,由于各种不规范停车,自行车用户只能在人行道上骑行,或者在机动车道中间骑行,这样的骑行体验自然大打折扣,交通事故的发生也在所难免。
而根据我们系统提出的建议,政府可以在这些支路上修建自行车道,或者先在这些地方增强违章停车的管理,以减少事故发生的可能性,并且提升民众的骑行体验。
该系统得到了上海市政府的高度评价。上海市徐汇区发改委副主任张岚说:“根据人们骑行共享单车的数据分析结论,为政府合理规划自行车道提供了重要的决策参考。”
总的来说,我们在本篇论文中提出了一种更加以数据为驱动的方案,利用大量摩拜单车的轨迹数据为政府推荐自行车道的规划和建设。最终,我们希望能够利用大数据和人工智能这些新兴技术,实现企业、政府和广大人民群众的三方共赢,打造一个更加便利、美好、智能的生活环境!
大数据freestyle: 共享单车轨迹数据助力城市合理规划自行车道的更多相关文章
- 【Social listening实操】用大数据文本挖掘,来洞察“共享单车”的行业现状及走势
本文转自知乎 作者:苏格兰折耳喵 ----------------------------------------------------- 对于当下共享单车在互联网界的火热状况,笔者想从大数据文本挖 ...
- 爬取ofo共享单车信息
前段时间看到很多微信公众号在转发一篇爬取mobike单车的信息,也不知道什么原因,在网上搜索了下很少有人在爬取ofo共享单车的数据,所以决定看看可以爬取ofo共享单车的那些数据. 抓取数据开始的时候, ...
- 频繁的或者大范围的来实现数据的共享要使用Vuex
一. Vuex 概述 1.1 组件之间共享数据的方式 由于使用频繁,通常将v-bind:属性名=" "的格式简写成:属性名=" ".兄弟组件之间的共享即不相干组 ...
- 抓取摩拜单车API数据,并做可视化分析
抓取摩拜单车API数据,并做可视化分析 纵聊天下 百家号|04-19 15:16 关注 警告:此篇文章仅作为学习研究参考用途,请不要用于非法目的. 摩拜是最早进入成都的共享单车,每天我从地铁站下来的时 ...
- Data.gov.uk电子政务云,牛津大学NIE金融大数据实验室王宁:数据治理的现状和实践
牛津大学NIE金融大数据实验室王宁:数据治理的现状和实践 我是牛津互联网研究院的研究员,是英国开放互联网的一个主要的研究机构和相关政策制订的一个机构.今天主要给大家介绍一下英国数据治理的一些现状和实践 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(33)-数据验证共享
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(33)-数据验证共享 注:本节阅读需要有MVC 自定义验证的基础,否则比较吃力 一直以来表单的验证都是不可 ...
- PHP 实现多网站共享用户SESSION 数据解决方案
PHP 实现多网站共享用户SESSION 数据解决方案 来源URL:http://blog.csdn.net/dongdongzzcs/article/details/6906613 一.问题起源 稍 ...
- 利用大数据技术处理海量GPS数据
我秀中国物联网地图服务平台目前接入的监控车辆近百万辆,每天采集GPS数据7亿多条,产生日志文件70GB,使用传统的数据处理方式非常耗时. 比如,仅仅对GPS做一些简单的统计分析,程序就需要几个小时才能 ...
- 【CUDA 基础】5.2 共享内存的数据布局
title: [CUDA 基础]5.2 共享内存的数据布局 categories: - CUDA - Freshman tags: - 行主序 - 列主序 toc: true date: 2018-0 ...
随机推荐
- jQuery EasyUI API 中文文档 - Tree树使用介绍
用 $.fn.tree.defaults 重写了 defaults. 依赖 draggable droppable 用法 Tree 能在 <ul> 元素里定义,此标记可以定义为叶节点和子节 ...
- HDU - 1241 POJ - 1562 Oil Deposits DFS FloodFill漫水填充法求连通块问题
Oil Deposits The GeoSurvComp geologic survey company is responsible for detecting underground oil de ...
- 4.1 手写Java PriorityQueue 核心源码 - 原理篇
本章先讲解优先级队列和二叉堆的结构.下一篇代码实现 从一个需求开始 假设有这样一个需求:在一个子线程中,不停的从一个队列中取出一个任务,执行这个任务,直到这个任务处理完毕,再取出下一个任务,再执行. ...
- 将字符串中的字符按Z字形排列,按行输出
示例1: Input: s = "PAYPALISHIRING", numRows = 3 Output: "PAHNAPLSIIGYIR" 示例2: Pyth ...
- 201621123016 《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰 ...
- 让你头晕的VR头显,背后发生了什么?
随着虚拟现实渐渐兴起,国内现在做虚拟现实的厂商也增多了起来.但是我经常听到有体验者向我表示:他戴上国外大厂诸如Oculus.Sony和Valve的VR头显的时候,体验十分出色,但是戴上国产的VR头显, ...
- Unity3D中常用的数据结构总结与分
阅读目录 1.几种常见的数据结构 2.几种常见数据结构的使用情景 来到周末,小匹夫终于有精力和时间来更新下博客了.前段时间小匹夫读过一份代码,对其中各种数据结构灵活的使用赞不绝口,同时也大大激发了小匹 ...
- hoj2798 Globulous Gumdrops
Globulous Gumdrops My Tags (Edit) Source : 2008 Stanford Programming Contest Time limit : 1 se ...
- [Xcode 实际操作]八、网络与多线程-(22)使用GCD多线程技术异步下载图片
目录:[Swift]Xcode实际操作 本文将演示如何使用使用GCD多线程技术异步下载图片. Grand Central Dispatch(GCD) 是 Apple 开发的一个多核编程的较新的解决方法 ...
- dp专题复习
背包: 1.bzoj2287:[POJ Challenge]消失之物 2.bzoj2748:[HAOI2012]音量调节 3.bzoj2794:[Poi2012]Cloakroom 4.bzoj119 ...