省钱、便捷的服务是优步主打的特色,但优步在美国某些地区司机数量不足,乘客等车时间长,始作俑者究竟是谁?美国马里兰大学菲利普•美林新闻学院计算新闻实验室的研究科学家Jennifer Stark在Nick Diakopoulos教授的帮助下巧用公开数据,揭开了有色人种的居民越多,等车时间越长的规律。他们是如何选取、调整、计算数据,从而得出结论的?研究有何意义和缺憾?请看Stark的研究分享吧。
我此次探究的是华盛顿特区的优步涨价现象,这一想法源于马里兰大学计算新闻实验室主管Nick Diakopoulos为《华盛顿邮报》Wonkblog撰写的文章。文章指出,“峰时定价”(指用户叫车数量增加时,优步司机相应加价)促使优步司机聚在打车高峰区招揽顾客,但司机总数并未如Uber所说有增加。他研究发现:如果司机都聚到涨价区,该区居民等待时长变短,获得的服务更优质。相对的,非涨价区的车变少,居民等车时间更长。问题是:价格上涨和服务水平提升总是根据社区分异吗?区分这些社区的人口特征是什么?于是我们开始了深入探究。研究证实:白人居民越多的地区,等车时间越短,优步提供的服务越好。
调整地理数据
我用Diakopoulos教授所写的优步API代码获取华盛顿特区任意指定地点的ETA(即用户叫车的预计到达时间)。时间区间是四周,从2016年2月3日至3月2日。隔三分钟取一次数据,因为优步每次高峰时段都持续超过三分钟。但地点需要人工选择,提交经纬度信息给API。应该如何选取特区的地点样本呢?
地理区块数据包含区域中心点的经纬度,但是区块面积一般为0.08至2.5平方英里。因此,我先手动选了起点和终点的经纬度,再用Python编程自动填补剩下区域,确保选择的密度能覆盖最小区块,由此获得一系列坐标。代码还排除了任何特区外的地理点。数据收集完毕后,我算出每个区块的经纬度平均值作为代表值。
细查网格,我发现很多点都位于公园、河流、墓地和其他没有公路的地方,这些地方不太可能有人打车,我得另选合理的坐标。Python这时又帮了大忙。谷歌一下“你想用Python 3做到的事情”,我就get了完成项目的秘诀。
我的方法是:安装Python数据包“address”,能照语法解析地点里的大楼号、街道代码(街street、道avenue、路road)、街道名称等等。我规定有效地址必须包含门牌数字和街道代码,排除了众多无效地址。新问题来了:这些数据能代表所有区块吗?是不是有些区块一个坐标也没有?
因此,我写了另一个程序,对照地理数据核查坐标,用中心点坐标代表那些还没有代表点的区块。这些区块大多面积小、聚集于华盛顿特区的中心地带。核查完毕后,我手动调整了坐标。最终,我选定276个地点。
选用人口数据
美国普查局(United States Census Bureau)提供了每年抽样人口调查《美国社区调查》,我们仔细查阅了2014年的调查数据,辅以统计数据可视化网站Census Reporter和自己的分析,看看哪些指标可能与峰时定价和人口特征的相互影响相关。
我们决定关注三个主要指标:贫困率、种族(或民族)和家庭中等收入数,并直接从Census Reporter下载这部分数据。你可能对收入(或贫困率)和种族(或民族)中某一个的影响感兴趣,但我们必须同时考虑两者,因为它们存在共变关系。需要说明一点,由于Census Reporter的可视化中包含中等家庭收入这一指标,却并未提供原始数据或可以用来计算的其他数据,我转而从另一数据分析网站American Fact Finder获取这一数据。
基于选用的分析模型,研究还需二分种族(或民族)的指标。我们为确保方法正确,咨询了人口统计学家,最后分成了白种人和有色人种两类。白种人同时包括拉美裔白人,有色人种包括黑人(或称非洲裔美国人)、亚洲人、拉美裔黑人和具有拉美血统的亚裔。
调整其他数据选取
因为优步不同车型的涨价模式各不相同,我们此次仅研究车型uberX。这样做还有一个实际的考虑,控制报告的体量。
我们后期才添加了区块面积数据,校正人口密度。这是由于一通电话:我和Diakopoulos教授希望优步的代表对研究提出意见,优步的工程师问我们是否计算了人口密度。由于控制人口密度可能会导致结果不显著,当时我们并未计算。为了不给优步质疑数据的余地,教授在电话上拖着他们,我同时快速用总人口和区块面积数据计算了人口密度,重新运算模型,也证实了控制人口密度不会影响研究结果,这才大功告成。
思考开放源代码的意义
数据研究完成了,发布、分享也是需要谨慎思考的重要步骤。我们的研究项目关注数据新闻的开源和透明度问题。实际操作上,这意味着什么?我是应该只公布用于分析的代码呢,还是也提供用于数据收集的代码?我该不该分享数据本身?开放源代码的目的是什么?是为了显示项目透明度,为了证实数据准确性,还是为了帮助其他记者挖掘独特的故事?
这里有几个概念需厘清。复制调查需要研究者向他人提供代码(或软件)和数据,这样他们才能用同样的数据依照原方法再运行一遍。仿照调查则需要以独立的数据收集、代码撰写和分析得出同样结果。如果用不同的例子、指标和软件还能得出同样的结果,结论真实的可能性就更大。在本次研究——也许在各类新闻的数据故事中,仿照调查受特定社会经济、人口统计、政府关系等因素影响,可能不适用。例如,我们的研究发现,若一个地区有更多有色人种居民,等候优步UberX的时间就更长。但是,如果有人收集华威、罗德岛(90%的居民是白人,仅有5%的贫困人口,缺乏公共交通)的数据,采用相似的分析模式,结论则会截然不同,但并不表示我们分析华盛顿特区的结果就不实。
因此,我将压缩的CSV数据表和原API数据上传到Google Drive上,方便任何人获取。他们可以利用代码确定特区内部的地点(如果你稍加改进,就能把模型用到如何城市中)、检测GitHub上可用的数据分析。
下一步计划
本次研究的一大缺憾是没能排除供需关系的影响。优步的API仅提供了被叫车辆的“预计等候时长”和涨价倍数。一旦一定数量的乘客在同一地点打开app查看叫车情况,价格就有可能上涨。因此,在缺乏优步服务的地区预计等候时间长,可能是由需求不足造成的。需求不足,峰时涨价的次数就少,司机也就没动力来此地招揽生意了。
另一个可能是,等候时间越长,叫车的需求也会因此减少。如果乘客打开app,看到需要等这么久,后面他们也就不大会用app打车了。我们倒是可以查阅特区出租车数据来估算需求,但是统计数据通常只包含和通勤相关的交通方式,而且将出租车的数据和摩托车、“其他交通方式”混为一谈。因此,我根据《信息自由法案》向特区出租车委员会要求获取出租车数据,这一招很有效。
另一缺憾是,研究未能提供证据解释为何这些缺乏优步服务的地区会缺乏需求或供应。在探究算法责任的调查中,我们很难总结背后的原因。每年的犯罪率可能是一个影响因素,因为司机会根据不同地区的安全程度而决定是否上线提供服务。银行账户开通情况也可能有关,优步、Lyft和一些出租车服务会用到电子或信用卡支付,银行账户是行业的进入门槛。2013年的一项研究表明,将近15%的特区居民没有银行账户。
优步公司告诉我们“他们正在努力解决长期以来不平衡的交通问题,为所有人提供更简便、更便宜的服务,方便他们穿梭城市。”但如果优步不能覆盖15%的人口,承诺的服务会打多少折扣呢?
我们的数据和代码在网上均可获取,随着分析深入还会增补和改进。其他调查者可能能从其中挖掘更多的故事,用代码创制自己的模型。若有任何建议,请联系starkja@umd.edu 或推特账号@_JAStark。
Jennifer A. Stark博士是计算新闻记者,研究算法的社会影响和透明度。她目前是哥大数字新闻中心学者,马里兰大学菲利普•美林新闻学院计算新闻实验室的研究科学家。
本文Investigating Uber Surge Pricing: A Data Journalism Case Study原载于数据新闻博客Source,全球深度报道网经授权转载并编译。
编译/周炜乐
编辑/Ivan Zhai, 王一苇