2

本文同时发表在SF专栏 SQL-on-Cloud 和HashData官方博客

纽约出租车和轿车委员会(NYC Taxi and Limousine Commission,简称TLC)在其网站上公开了纽约整个城市从2009年1月到2015年12月、共12亿条出租车出行记录(压缩前数据量大约200GB)。这些数据详细记录了每一趟出租车上下客的时间和地理位置(精确到经纬度)、出行距离、出行费用、支付方式以及司机上报的乘客数量。出租车作为城市发展、社会变迁的见证者,其活动轨迹提供了很好的一扇窗,让我们能够一窥背后的纽约故事。

关于纽约出租车

在阐述分析结果前,我们首先简单科普一下纽约出租车的行业背景。很长一段时间里,作为城市的标志之一,黄色出租车(Yellow Taxi)是纽约唯一可以合法运营的出租车。从2013年夏天开始,为了更好地服务那些不被黄色出租车待见的区域,TLC给数千辆绿色出租车(Green Taxi)颁发了营业许可。从此,纽约人民出行又多了一个选择。这也是为什么TLC发布的数据中,只包含了从2013年8月开始的绿色出租车数据。然而,与黄色出租车能在纽约五大行政区自由载客不同,绿色出租车的上客区域是有一定限制的。下图是TLC公布的绿色出租车的合法营业区域。
map_service_area_map_thumbnail-2.jpg

绿色出租车可以在绿色区域自由载客,在灰色区域(肯尼迪国际机场和拉瓜迪亚机场)只能预约载客,在黄色区域是不能上客的。正因为这种营业区域的限制,造成了下面我们看到的很多有意思现象。

上下客地点分布地图

首先,我们看看总体的上下客地点分布地图。
taxi_pickups_map_hires.jpg

taxi_dropoffs_map_hires.jpg

为了展现的效果,这两幅地图没有包含Staten Island(斯塔滕岛)的数据(主要是斯塔滕岛的地理位置跟纽约其它四个行政区偏离得有点远,如果加进来的话,显示效果不是太理想)。这两幅图分别展现了从2009年到2015年7年间出租车上客地点和下客地点的分布地图。黄点代表黄色出租车,绿点代表绿色出租车。亮度越高代表频率越高,分布越密集。

无论从上客点还是下客点的分布地图看,曼哈顿区都是最密集的区域(中间那灰色的长方块对应的是纽约中央公园)。除曼哈顿外,另外两个高度密集的区域都是机场:肯尼迪国际机场和拉瓜迪亚机场。黄点和绿点的分布情况也大大致符合黄色出租车和绿色出租车自由载客区域的分布,特别是上客点的分布。最后,通过比较上下客点分布情况,我们发现,虽然两者还是主要集中在曼哈顿岛,但是下客点分布明显向外延伸了不少。

出行活动的变化

看完空间维度的分布地图,我们再从时间维度看看,从2009年到2015年,特别是2013年夏天引入绿色出租车后,出行活动数量的变化。

首先是纽约人口最多的行政区--布鲁克林。在引入绿色出租车之前,黄色出租车的上客量从20万/月增长到2013年的40万/月,而这一时期正对应纽约人口逐步从曼哈顿迁移到布鲁克林。2013年夏天引入绿色出租车后,黄色出租车的上客量急剧下滑,并在半年的时间内被绿色出租车超越。虽然总的出租车上客量继续保持增长,但到2015年的时候黄色出租车的上客量已经降回2009年的水平。

taxi_pickups_brooklyn.png

其次是曼哈顿的情况。虽然从2014年后,黄色出租车的上客量开始有所下降,总的上客量还是比较平稳。尽管绿色出租车被允许在上城区上客,但整个大区依旧是传统黄色出租车的天下,绿色出租车只占到微不足道的很小份额。

taxi_pickups_manhattan.png

与布鲁克林区绿色出租车强势崛起锋芒盖过黄色出租车和曼哈顿区黄色出租车王者地位不可撼动不同,皇后区绿色出租车市场份额虽然在短短一年内上升到40%,但之后就稳定下来,一直都没能超过黄色出租车,而且后者的上客量一直都比较稳定。结合前面的绿色出租车自由载客区域和上客点地理分布图,一个合理的解释是:除曼哈顿外,纽约另外两个上客点比较密集的地方是肯尼迪国际机场和拉瓜迪亚机场,这两个机场恰好都在皇后区。由于黄色出租车可以在机场自由载客,而绿色出租车只能在机场预约载客,导致机场巨大的上客量基本都流向了黄色出租车。

taxi_pickups_queens.png

威廉斯堡的北部

分析完行政区后,我们再关注具体的街区。我们先看纽约城从2009年到2015年出租车活动增长最快的街区。

fastest_growing.png

与皇后区快速增长的街区比较分散不同,布鲁克林区增长最快的几个街区都集中在威廉斯堡的北部。现在让我们把目光聚焦在威廉斯堡北部,看看这些年那里都发生什么了。

animation.gif

上图是威廉斯堡北部上客点的动态变化图。总的趋势看,2009年到2014年出行活动快速增长,之后就开始稳定下来。具体到地理位置,增长快速的上客点主要集中在威思大街(Wythe Ave)、贝里街(Berry St)、北7街(North 7th St),北11街(North 11th St)和北12街(North 12th St)附近。其中,在威思大街、北11街和北12街附近有Output、Verboten夜店(通过Google地图我们能够很容易了解这些场所的类型)和威思酒店(Wythe Hotel);在贝里街和北11街附近有The Whiskey Brooklyn(酒吧);在威思大街和北7街附近有Shelter(餐馆)、Rosarito Fish Shack(餐馆)和D.O.C Wine Bar(餐馆)。这些消费场所基本上都是在过去7年间开业的(还是万能的Google),并带动了当地消费活动和出行活动。不过随着出行活动数据2014年后开始稳定,不清楚这是不是意味着该地区的商业发展到了饱和的阶段。

天气对出行活动的影响

结合美国国家气象中心提供的纽约中央公园的观测数据,我们可以分析下雨天和下雪天对出行活动影响。
daily_trips_precipitation.png

daily_trips_snowfall.png

总的来说,下雨天对纽约人民出行没有明显的影响;而下雪天有负面影响,雪越大,人们越不愿意出行。

支付方式的变化

最后我们看看出行支付方式的变化。TLC提供的数据里包含两类有效的支付方式:现金和信用卡。

cash_vs_credit.png

我们可以看到,信用卡支付的比例从2009年的20%多点上升到了2015年的60%,反映出信用卡在日常消费日益普遍。再根据支付金额细分,虽然总的趋势还是信用卡支付越来越常见,但是金额较小的时候(小于10美金),人们还是倾向于现金支付。

cash_vs_credit_split.png

总结

由于时间和篇幅关系,在这篇文章中,我们只是利用12亿条出行记录做了一些简单的分析,权当抛砖引玉。感兴趣的读者可以利用这些数据做更多其他有意思的分析,如纽约的夜店集中在哪些地方,从曼哈顿中心城区到机场需要多长时间,华尔街的银行家上下班时间,9.11事件10周年纪念仪式的交通情况,以及《虎胆龙威3》中布鲁斯.威利斯和塞缪尔.杰克逊能否在30分钟内从曼哈顿上西城赶到华尔街地铁站,等等。

在去年11月份的一篇博客文章中, Todd Schneider利用他的苹果笔记本基于PostgreSQL+PostGIS+R+Google Map API的技术栈对这些数据进行一系列的分析,并将其分析的代码(SQL,Shell和R脚本)放到GitHub上面。在其GitHub代码README.md文件中的一个问题引起了我们的兴趣:为什么不用BigQuery和Redshift?BigQuery和Redshift分别是Google云平台和Amazon Web Service上面的数据仓库服务。

我们在这篇文章中进行的数据分析也是基于Todd提供的脚本,并加入了2015年下半年的数据(Todd写文章的时候TLC还没有公开那部分数据)。不过和Todd使用PostgreSQL不同,虽然我们也没有使用BigQuery和Redshift,但是用了另外一个功能类似的云端数据仓库 --HashData(关于HashData数据仓库的详细介绍可以参考我们之前的文章)。所以这篇文章中数据分析使用的技术栈是: HashData+PostGIS+R+Google Map API。借助HashData强大的并行执行引擎,我们将Todd用他的苹果笔记本3天才完成的数据分析任务缩短至不到两个小时,付出代价是不到20元人民币的云服务费用。

为了方便感兴趣的读者进行更深入的分析,我们将加工后的12亿条出行记录数据放到了青云对象存储QingStor中。HashData数据仓库提供了直接从QingStor中加载数据的功能。一旦数据加载到数据仓库中,读者就可以利用上述的技术栈对数据进行分析。

这篇文章所用到的数据加载和分析脚本都已经放到Github上面,欢迎大家下载试用和提供反馈意见。


酷克数据HashData
83 声望33 粉丝

酷克数据是中国领先的云原生数据仓库软件公司,致力以领先技术降低大数据分析的门槛和成本,我们发起了CloudberryDB开源项目,企业级数据仓库 HashData Lightning、云数仓HashData Enterprise、AI工具箱HashML,...