当前位置:主页 > 软件 > 正文

知微探秘:可视化若何解读北京交通状态

2019-06-27 来源:汽车保险网 编辑:admin

核心提示

【IT168专稿】本文按照【2016第七届中国数据库技能大会】(微信搜刮DTCC2014,存眷中国数据库技能大会公家号)现场演讲嘉宾陆旻先生分享内容整顿而成。灌音整顿及笔墨编辑IT168@田晓旭

  【IT168 专稿】本文按照【2016 第七届中国数据库技能大会】(微信搜刮DTCC2014,存眷中国数据库技能大会公家号)现场演讲嘉宾陆旻先生分享内容整顿而成。灌音整顿及笔墨编辑IT168@田晓旭@老鱼。

  嘉宾先容:

知微探秘:可视化若何解读北京交通状态
▲北京大学可视化与可视阐明研究室 陆旻

  陆旻,现就读于北京大学信息科学技能学院,师从可视化与可视阐明尝试室袁晓如研究员。研究偏向为时空数据的可视化与可视阐明、人机交互,有多篇关于都会轨迹数据可视阐明事情颁发于可视化范畴顶级期刊与紧张集会。

  正文:

  各人好,我叫陆旻,来自北京大学可视化与可视阐明尝试室,今天我跟各人交流的主题是都会移动数据的知微探秘。

知微探秘:可视化若何解读北京交通状态

  由于我自己不是做数据库范畴的,以是来到场这个大会我是有些忐忑的,就提前做了一些作业,为大会做了一个简朴的可视化。从这个可视化内里我们可以看到,这次大会各人首要接头的是数据库及背后的技能,有一些比力闻名的数据库像Oracle、MongoDB都比力高频率的被提到。那么我讲的主题在那里呢?就是下面被黑笔圈起来的部门,实在我讲的主题可以或许找到,还应该感激一个讲师,那就是来自阿里云数据可视化的架构师,假如不是她的演讲标题内里包罗了可视化这三个字,各人可能都找不到可视化这三个字。

  可视化是比年来提出的一种对数据举行阐明的技能和学科,实在它跟大会的关联很大,由于它是对数据的阐明手段。下面,我就从这个角度来和各人一路分享一下我们做的一些事情。

知微探秘:可视化若何解读北京交通状态

  假如你把可视化作为要害词键入到谷歌图像,你可能就会获得雷同上图的截图。图中的有一些可视化成果是艺术家设计的,也有一些是计较机主动发生的。从专业的角度来看,这些可视化有好有坏,可是无论优劣都转达了可视化的焦点思想,那就是把枯燥的数据酿成图像出现在用户眼前,让用户通过图像去举行视觉理解,进而从数据中发明价值。

  基于可视化的数据阐明叫可视阐明,可视阐明的焦点思想是用户通过视觉感知图像,同时为用户提供一些交互手段来利用图像背后的模子。借助于这种人机交互式的阐明要领和交互技能,帮忙人们更为直观和高效地洞悉大数据背后的信息、常识与聪明。

知微探秘:可视化若何解读北京交通状态

  中国计较机协会每年城市对大数据成长趋势做一个预测。从2014年最先,可视化渐渐越入了大数据委员会专家的视野,出格是2016年,可视化鞭策大数据布衣化的论断,被六十几名大数据委员会的专家推举到了第一位。

  前段时间有一个新闻,习大大访英之旅,到访帝国理工大学,我们的一个华人传授,郭毅可传授向习大大展示了一个可视化体系,体系里揭示了可视化的比特币生意业务和一带一起的计谋。以是也有可能是在如许的配景下,可视化才变得比力热点。

知微探秘:可视化若何解读北京交通状态

  北京大学的可视化与可视阐明尝试室是袁晓如研究员在2008年回国创建的。其时,可视化还不是很热点,可是此刻跟着各人对可视化的熟悉越来越深,我们的事情也渐渐被偕行所承认。

  我们对一些医学数据举行可视化,将医学的扫描数据通过渲染方式揭示出来,如许科学家就可以直观的对背后的医学模子举行调查。

  我们还对科学模拟数据举行可视化,图上有飓风和全球湍流的模拟。同时我们也会对根基的可视化要领举行测评,然后提出一些新的要领。

  我们也比力体贴社交媒体上的应用,我们组有一系列关于微博数据的可视化,这幅图背后实在是没有舆图的,我们组的同窗是直接通过带有地理标签的微博数据把它打在图片上,天然就形成我们故国的轮廓。从图中可以看到北上广是微博用户很是麋集的处所,而一些内陆的地域也有许多微博的用户。以是数据是可以告诉我们一些背后的信息。

知微探秘:可视化若何解读北京交通状态

  今天我要来分享的是我和我的伙伴这几年一直在做的一个数据,就是交通数据。说到交通数据可能会涉及到地理空间的可视化,那么就不行制止的要提一小我私家。他就是Charies Joseph Minard,法国很有设计先天的修建设计师。

知微探秘:可视化若何解读北京交通状态

  这幅图在可视化范畴很是有名,是他在十八世纪对拿破仑部队进军俄国的可视化。这幅图不是电脑发生的,而是他通过网络资料手绘设计出来的。

  可视化中的两个端点别离是拿破仑部队从欧洲出发的处所和他终极的目的地莫斯科。两种差别的颜色别离描述了拿破仑在进军和撤回时的人数转变,条带宽度暗示人数几多。从图中可以很明明的看到他的部队在行进历程中是怎么样一步一步丧失的。底下另有关于温度的可视化,可以看到在每一个温度剧烈转变的结点上,部队人数都是锐减的。再看的细心一些,这个图里另有河道的信息,每颠末一个河道,部队人数也是剧烈削减的。

  这是十八世纪各人对于数据的一种描述要领,此刻我们的移动轨迹也被各类各样的技能记载着。好比说,你在这里发了一条带有地理信息的微博,新浪微博就得到了你的位置;你出门坐了一辆出租车,那辆出租车上有GPS装备,你的轨迹也被记载下来了;你到超市买工具,刷了银行卡,那么可能你在超市的地理位置也被记载了。有这么多先进的移动收罗装备帮忙我们网络轨迹,我们对都会里的每一个移动物体都可以或许举行运动举动的描述。

知微探秘:可视化若何解读北京交通状态

  这是我们举行的最直接的可视化,上面的每一个点都暗示一辆出租车,颜色暗示当前速率,图中有一个颜色的映射表。从图中我们可以看到机场高速的车根基都是绿色,在国贸以及中关村这一带的车大多是赤色的。假如我们对数据轻微加整顿,就可以获得北京市的一天,我们可以看到早上整个都会是怎么活跃起来的。整个都会就仿佛是一个生命体,跟着时间不停的蓬勃,再逐渐虚弱。

知微探秘:可视化若何解读北京交通状态

  今天我首要先容我比力善于的出租车移动轨迹,每个出租车都有一个GPS装备,它会按时收罗出租车的运动轨迹,并把运动轨迹网络起来。为什么会选择出租车,由于出租车是都会交通的一个很好的采样,空间漫衍很广,每小我私家都有搭乘出租车的需求,并且它不会像私人车那样有既定的路线;时间漫衍也很是广,由于出租车可能二十四小时都在行驶,以是选用出租车数据来研究都会的交通是比力合理的。

  我们使用的数据比力早,是2009年北京市的一个月数据,或许有两万多辆出租车,整个数据集是30GB。从适才的动画内里我们或许可以看到在某个区域的出租车跟着时间的一天的转变环境,可是很丢脸到细节。以是我们基于出租车数据举行了一些细节的摸索。

  区域

知微探秘:可视化若何解读北京交通状态

  这是关于我们这次集会的一个例子,我们的集会是在北京国际集会中间召开,那么在出发之前我会思量这个处所的交通怎么样,应该采纳什么样的通行方式。我可以从汗青的数据中得到一些关于这个区域交通模式的信息。我去数据库里找一些和这个区域相干的数据,然后写一条空间查询的SQL语句来描述。如许的语言描述可能对非空间数据是比力合理的,可是对于空间数据来说,也许只需要如许一个圆环就可以设定好我们想要的前提。基于如许的思想我们开辟了一个出租车轨迹的查询界面。

知微探秘:可视化若何解读北京交通状态

  我们在舆图上放一个圆环,通过动态改变圆环的半径,实现对轨迹的动态查询。另外,可以设定一些前提,好比说载客或者是不载客,也可以交互式的改变圆环和轨迹之间的几何干系,同时还可以举行多个圆环的复合查询,指定两个区域之间的偏向,就可以过滤出你感乐趣的交通流。如许就完成了一个比力便捷的交互式摸索,同时可以支撑多个自力查询。

  我们的设计思想就是基于圆环,用户在差别区域可以激活差别的功效:好比你在中间,就可以动态的去移动圆环,假如你在右下角,就会呈现用于指定轨迹和圆环相交关系的一个前提。可能此刻在各人看来这只是前台界面,可是实在我们照旧设计了它背后的过滤方案。我们整个数据集是34GB,方才的演示是在一个单机上,或许是4GB的内存,我们常做的工作就是数据库和数据会见。我们的思绪就是预先最先成立一个空间索引,这个空间索引是针对全部的轨迹做自顺应的空间划分。由此成立出一棵索引树,用户在查询的时辰会放这个圆环,我们这个查询会分三个根基的步骤:第一个步骤是先找到这个圆环地点的结点,从硬盘中把这些结点的轨迹读到内存里,第二步就是怎么样显示的问题,由于用户在交互的历程中可能需要很快的反馈,不许可有延迟,以是在这里有一个计谋就是我们会先显示满意前提的前一百或者是前一千条轨迹,来给用户一个直观的反馈,出格是在用户移动的历程中,交通轨迹是沿着路走的,假如你的路确实是有一些车辆颠末,那么你在前一百条的时辰就都已经查到并显示在界面上了,那么采样后的成果和末了的成果从视觉上看,并没有存在太大的差距。第三步用户在得到到必然的成果之后,我们会在后台同步举行内存里全部数据的遍历,去查找到满意前提的轨迹,这时的成果就是完全正确的了。

知微探秘:可视化若何解读北京交通状态

  有了流量统计东西我们就可以做许多工作,好比,我们可以检察哪些出租车会到北京国际集会中间,哪些出租车从北京国际集会中间出发,下面我们做了两个简朴的统计。

  这个统计是一个比力有意思的可视化,各人也可应用到本身的事情中。我们统计了一天的轨迹,如许的流量漫衍理论上来说应该是折线图,可是折线图会在高度上会挥霍许多空间,以是我们把折线图分成许多等高的层,然后叠加到统一个程度线上,颜色越深层数越高。如许我们可以看出北京国际集会中间是很典型的事情区域,它是有迟早岑岭的。而出发的车辆漫衍比力随意,每个时间段都有车辆从这里出发。

  流量统计的东西除了做简朴的统计,还可以看地理的漫衍,好比说在这里我们把中间的过滤器放置在北京西站,各人可以想想和北京西站相干的出租车都来自于那里,去到那里。

知微探秘:可视化若何解读北京交通状态

  图上左边是从北京西站出发,右边是达到北京西站。这里有几个很有意思的征象,第一个就是北京站和北京南站以及北京西站,它们之间有一个比力通例的交通流,很可能是有人赶火车,他要从北京站到北京西站,或者是从北京西站到北京站。

  第二个是北京西站的人有一部门是从西单过来的,并且人数比力多。西单是一个购物中间,很有可能是来旅游的人在走之前往血拼,以是从西单直接打车到北京西站。

  第三个是有两个路口离北京站很近,可是仍旧有许多人选择打车。这边有两个地铁站,绿色的点是暗示地铁口,有人坐地铁下车之后再打车到北京西站,又或者是从北京西站打车到地铁口。从这些移动数据中,我们可以看出人的移动模式。

  路段

  研究完区域之后,我们来看看路段的环境。我们照旧以北京国际集会中间为例,看看这四周的车况怎么样。我在昨天晚上两点钟从百度上截取了该路段的及时路况,我发明在中韩国际大厦的路况不是出格杰出,昨天晚上回家的路上我看到鸟巢何处是有勾当的,可能是这个缘故原由导致了路段的拥堵。

  我预测了一下来日诰日早上的路况若何,不出意料,主路拥堵严重。有了如许的及时的东西我就能对北京国际集会中间四周的交通有很好的理解吗?实在并不是如许,由于每次得到的都是差别的环境,很难从图片中得到北京国际集会中间四周的路段有什么纪律。

知微探秘:可视化若何解读北京交通状态

  我们组做了关于路段速率的可视化。我们选定了一条路段,每一行是暗示一天,每一个小方格暗示一天中每十分钟的速率环境,个中灰色的是当前没有数据,绿色到赤色是速率由快到慢慢慢递减。从这个可视化中我们就可以看到这段路在夜晚的时辰根基上没有什么车,早上的时辰有一些赤色的方格,代表着这段路在这段时间拥堵,下战书的时辰路况根基比力好,只是偶然会有一些赤色的方格。

知微探秘:可视化若何解读北京交通状态

  有了如许的可视化,我们就可以对差别的门路举行对比了。这里选择了四条路,A路是典型的北三环路段,它有很明明的迟早岑岭征象,细心看早上七点半到十点的时辰有两行是绿色的,这两行是周末的时辰,以是,不发起事情日的早上在七点三十或者是十点走A路。

  看B路是四环上的一个路,这个路的状态更欠好,由于它很少有绿色。可是它在七点半到八点是有一个比力明明的红块。实在,B路靠近一个小学,家长要送小孩上学,导致这个时间段有了特定的拥堵。

  C路和D路是毗连北京西站和城内的路,C和D别离暗示进城和出城的偏向。C路平时是很流通的,可是在早上七点半到九点的时辰有很明明的拥堵环境,D路在薄暮会呈现拥堵的环境,以是可以断定这条路是毗连人们从糊口区到事情区的一条很紧张的双向路。

知微探秘:可视化若何解读北京交通状态

  我们还可以来看一些其它的例子,好比,E是北京国际会展中间,可以看到在E根基上都是灰色的,由于平时很少出租车司时机去哪里。有时辰会有很麋集的赤色块呈现,那是由于在这些天会有展览。以是,发起各人在有展览的时辰,尽量不要去E路,除非你去看展。

  F是北京首都机场的高速路,这条路一般状态长短常杰出的,可是在3月11号的下战书三点四十到四点五十产生拥堵事务。很明明,这是在整个交通运行的历程中呈现的一次异常。

  G是北京三里屯四周的一个路段,这个路段发明在晚上九点半以后到凌晨四点三十之间长短常拥堵的,很有可能是方才去完酒吧的人打车回家。

  路段可能是我走了一步,而路径是我从这里走到另外一个处所,路径是由路段构成的,下面我们来研究一下路径的环境。

  路径

知微探秘:可视化若何解读北京交通状态

  照旧以北京国际集会中间为例,我从北大过来需要走一条路,我很体贴这一条路在平时的状态是怎么样的,我应该思量哪些路段的交通环境。方才我们得到了每个路段的交通可视化,那么我们把路径中每个路段的可视化叠加起来不就可以获得路径可视化?不,现实环境并不是如许的,路径可视化并不是路段可视化直接累加的成果。

知微探秘:可视化若何解读北京交通状态

  我用过滤器可以很快的从数据库中查询到从北京国际集会中间到北大这条路上有哪些类型的出租车颠末,然后我把整条路分成一段一段的,看出租车司机在每条路上的体现,对每个路段的通行时间举行统计。蓝色暗示路段的平均通行时间,灰色是通行时间的方差。在这十个路段内里,二和三路段的通行时间的方差很大,而全部路段的平均通行时间是一样的。这个时辰颠末二三路段,时间是不确定的,时间漫衍的散度也很大。

  为了对全部的轨迹颠末的路段举行细心阐明,我们做了可视化。我们把北京国际集会中间到北大的一条路分成十份,每个竖线暗示每个路段上的时间的漫衍。从上图可以看出异常值的漫衍,以及平均的高度。

知微探秘:可视化若何解读北京交通状态

  我们把每一条轨迹表告竣了一个条带,每个条带在每个路段上都有一个体现,以是每条轨迹在每根轴上都有一个位置,从高往下暗示时间由少到多。绿色的整个条有许多轨迹,这个轨迹颠末的每根轴都是最靠上的,也就是说这是一个最优的通行模式,越往下通行模式越差。赤色可能是在有一些路段上位置比力靠下,末了的三个路段各人险些是在一路的,无论你前面走的有多差,末了三个路段各人破费的时间是差不多的。

  之后,我们可能想看什么时间段最好,什么时间段最差。这个可视化和上边的颜色是一样的,绿色是最好,赤色是最差,竖着的轴是暗示从凌晨到二十四小时,底下是早上,上面是晚上,由于我想对比事情日和周末,以是我分开了两个区域,个中每一个小方格暗示是一次通行的环境。赤色大部门呈现在早上七点到十点之间,可是周末很少有赤色的色块呈现。

  我们此刻选择的是早上七点到十点,回放每个点的每个出租车是怎么颠末这个区域的。然后和汗青数据举行验证,绿色的车每个路段都跑的很快,而赤色的车在前面几个路段都堵住了,很慢才达到目的地。通过这种阐明和验证的方式就可以得到对一条门路交通环境的理解。

知微探秘:可视化若何解读北京交通状态

  方才谁人例子是整个体系怎么交互式的对路段举行摸索,此刻我们只选择了中关村,从北四环和西四环到中关村的末了两个路段的方差很大,我们播放动画可以发明,前面各人差不多快,可是末了,这些车在这两个路段卡住了。通过时间漫衍我们可以看到事情日的早上,走到末了两个路段是没有问题的,可是这后面两条路最好照旧选择改道吧。

知微探秘:可视化若何解读北京交通状态

  有了可视化,我们就可以对整个北京市的门路做一个经验性的总结。在这里我们选了六条路,别离是图上显示的ABCDEF。由于北京是一个放射型的路网结构,它的环与环之间呈放射型,支路像毛细血管一样来毗连北京交通。我们可以按照路段的宽窄来判断颠末这个路段时间的不确定性,许多路都是从一个支路到主路上,如许的路破费时间的不确定性是很大的。

  D是机场高速的一个路径,方才我们看过一个异常路段,在阐明这段路的时辰我们发明它灰色的条带宽度比力宽,时间破费不确定的。这是为什么呢?机场高速有一个收费站的闸口,你可能在那儿被卡住。假如命运好,没有什么车颠末,你就可以顺遂通过,假如你被卡住,那你可能要等好久。

知微探秘:可视化若何解读北京交通状态

  D路段的每个时间段都有从绿色到赤色的一个漫衍,为什么这条路在每个时间段都可能是最好也可能是最坏的?由于收费站卡的时间段和迟早岑岭的关系不大,它是间歇性的卡一下,以是会导致在每个时间段都可能是最好也可能是最差。

  拥堵流传

  做完对门路路径的路况阐明,我们来看看路与路之间的拥堵环境。

知微探秘:可视化若何解读北京交通状态

  这段路有许多出租车颠末,赤色的点是由前去后伸张的,可是渐渐到了后面,就酿成了绿色的点,这就是一个拥堵流传。

知微探秘:可视化若何解读北京交通状态

  从算法上怎么检测拥堵的事务?拥堵很直观,起首要找到几段相邻的路,它们拓扑上是联通的。比方ABC三个路段,先找到相邻的路段,之后我们对每个路段的速率举行一个统计,找出它的拥堵事务,这里用玄色的框框起来的是我们检测到的拥堵事务。检测完拥堵事务之后,按照拥堵产生的时间先后顺序来确定路段之间拥堵流传的顺序,假如A路段是最早产生的,而BC是晚于A,那么就可以构建出一次拥堵流传关系,是由A到C,也是由A到B的。

知微探秘:可视化若何解读北京交通状态

  思绪很简朴,可是现实环境会比上述的环境要庞大的多。图上是一个立交桥的路面,在这个路面上我们发明了两个拥堵的源头,一个是H,另一个是D,F路段同时受到了H和D两个源头的影响。通过如许的可视化东西就可以帮忙专家发明拥堵的源头在那里,假如我们把拥堵的源头治理一下,也许就能改善交通状态。

知微探秘:可视化若何解读北京交通状态

  方才是一次拥堵事务,这是一个周期的拥堵事务,这段路是中关村万泉河桥,是去往中关村偏向的一个路段。我们选定这个路段作为调查路段,按照提取出来的拥堵事务做了上面的图,每个方格暗示拥堵事务,假如它有方格,就暗示有拥堵流传事务,没有就暗示没有检测到。

  图上每一行的数据都是从周一到周末,统共是一个月的数据。虽然这条路天天的环境有些许差别,可是毫无疑问天天这条路城市拥堵。这个拥堵根基都产生在早上,因中关村的拥堵导致自己拥堵,之后伸张到其它路段。

  拥堵是有一个时间上的纪律,出租车司机是很相识路面环境的,他们在选择路径时都有本身的计划,下面来阐明一下多路径选择的举动。

  路径选择因果阐明

知微探秘:可视化若何解读北京交通状态

  照旧以北京国际集会中间为例,从舆图上看,从出发点到终点有许多条路可以选择,那么出租车司时机怎么选择呢?

知微探秘:可视化若何解读北京交通状态

  按照我们抓取到的数据,大部门的人选择了三条路,其它一小部门的司时机选择一些小路。

知微探秘:可视化若何解读北京交通状态

  我们有一个路径抽取算法,抽取出来之后发明路的布局如上图所示,每一个条带都暗示一种走法,宽度暗示选这个走法的出租车司机数目。可以看到从四环直接开已往是比力主流的走法,根据紫色的路线一直开到四环口也是一种走法,第三种是先走三环,然后找时机开到四环再开到谁人路口。这三条路的中心也会有一些转变,也就是橘色暗示的路。

  我们对这些路径举行了对比,获得了上面的柱形图,它暗示的是选择这些路的数目漫衍,或许有一百五十六个出租车司时机选择紫色这条路,是最主流的路径。

知微探秘:可视化若何解读北京交通状态

  我们对比了它的间隔,发明紫色的间隔最小,和橘色相差几百米。可是在舆图上测试深蓝色的路是最短的。红绿灯数暗示颠末的路岔口,紫色的红绿灯是起码的,假如你走的小路越多,那么红绿灯就会越多。另有一个叫路的紧张水平,我们认为主路是最紧张的,由于主路的路面比力宽,行驶起来比力利便,以是走主路的评分比力高。从适才对静态因素的阐明和末了时间破费的统计发明,出租车司机有很富厚的经验,方才的一百七十六个出租车司机的平均的时间破费最小。

  此刻我们许可用户对差别的路径根据上述五个因素举行排序。蓝色这条路的选择最多,旅程也是最短,红绿灯数也是相对比力少,紧张水平也很高,而且平均时间漫衍也很短。通过可视化对路举行对比,就可以探究出出租车司机选择路的背后思量因素。

知微探秘:可视化若何解读北京交通状态

  这是从北京机场到国贸的一个例子,通过数据过滤抽取出了三条首要的路。个中紫色,蓝色,橙色别离是一二三名,虽然紫色的路是最长的,可是它的红绿灯数少、路的紧张水平是很高的,时间漫衍很集中,也就是说你在选择这条路的时间破费是比力确定的,不会像橙色和蓝色会有很大的方差。

知微探秘:可视化若何解读北京交通状态

  我们把北三环到北四环的三条路举行对比。一般环境下,各人会选择蓝色这条路,我把他们的出发时间以及选择的路径画了一个柱形图。从左到右别离是零点到第二天零点,从外形上或许看出一个迟早岑岭流量的漫衍。在早晨九点的时辰,这段有许多橙色的路,为什么会有这么多橙色的路?我操纵了一个交通范畴的离散选择阐明模子,把这段路作为因子输入到模子里,就可以看到在早上七点到十点这个时间段,人们会更倾向于选择橙色,而不是蓝色的路。通过可视化我可以直接过滤出这段路的轨迹,然后会发明在早上出发的时辰,假如你走蓝色的路,它时间漫衍的散度是很大的,而橙色和赤色都要小一点。以是在早上出发的时辰,出租车司时机选择走橙色的路。

  小结

知微探秘:可视化若何解读北京交通状态

  我们通过范围阐明了一个区域、路段和路径,路径之间的拥堵流传以及多条路的选择。我们在这方面颁发了许多论文,假如各人对可视化感乐趣,可以去检察我们的论文。