出行数据分析入门:从刷卡记录看城市节奏
每天早上七点半,北京地铁10号线双井站的进站量会突然跳一截。这个数字不是谁数出来的,而是闸机刷卡记录自动汇总的结果。类似的数据每天都在产生:公交车的GPS轨迹、网约车的订单起终点、共享单车的开关锁位置。它们共同构成了一类特殊的素材——出行数据。说它特殊,是因为它不依赖问卷,不打扰任何人,只是城市运转时留下的“余温”。 入门第一步,是搞清楚数据从哪来。常见的有三类。一类是交易型,比如地铁公交的刷卡扫码记录,通常包含时间、站点、卡号脱敏后的ID。一类是轨迹型,比如出租车和网约车的GPS点位,每隔几秒到几十秒上传一次经纬度。还有一类是事件型,比如共享单车的开锁、关锁,每次动作都带时间和位置。三类数据精度不同,能回答的问题也不同。刷卡数据适合看站点客流,轨迹数据适合看道路拥堵,开关锁数据适合看短距离接驳。 拿到原始数据后,第一件事不是画图,而是清洗。举个常见的例子:某城市公交刷卡数据里,同一张卡在上午8:00:00和8:00:03分别刷了一次。这可能是换乘,也可能是设备重复上传。如果不处理,站点客流就会虚高。再比如,网约车订单里会出现起终点距离为零的记录,这多半是司机误操作或测试单。清洗规则不需要复杂,但要有记录:删了多少条、为什么删、剩余多少。这些数字后续写分析报告时都用得上。 清洗完,就可以看走势了。走势分析最怕一上来就画全年曲线,因为噪声太多。更实用的做法是固定一个维度做对比。比如只看工作日,把一周五天的地铁进站量按小时排开。你会发现早高峰的峰值出现在7:45到8:15之间,而晚高峰的峰值更平缓,持续时间更长。再比如,把连续四周的周三数据叠在一起,能看出某条线路的客流是不是在稳定爬升。走势的价值不在于好看,而在于帮你建立“正常状态”的基准。有了基准,异常才容易被识别。 当走势足够稳定,就可以尝试做简单预测。入门阶段不建议碰复杂模型,移动平均和同比就够了。举个例子:某站点过去四周周一的早高峰进站量分别是1200、1250、1180、1300,取四周均值1232,再结合这周是否有大型活动、天气是否下雨,做一个上下10%的区间估计。这种预测精度不高,但足够支撑排班或限流预案。关键是,预测结果要标注假设条件,否则容易变成拍脑袋。 观察出行数据时,有几个坑值得提前知道。第一,不要把刷卡量等同于实际人数,因为一张卡可能被多人使用,也可能有人逃票。第二,注意节假日和调休的干扰,一个调休的周六,客流走势可能比工作日还高。第三,位置数据有漂移,GPS在城市峡谷里误差可达几十米,做站点匹配时要留缓冲范围。第四,不要忽略数据的时间粒度,五分钟粒度和一小时粒度,看到的走势可能完全不同。 最后想说,出行数据分析的门槛并不高,但需要耐心。你不需要一开始就处理整座城市的数据,选一条线路、一个站点、一周时间,把清洗、走势、预测的流程走一遍,就能摸到门道。真正的观察,往往从一个小切口开始。当你习惯了用数据描述城市节奏,很多原本模糊的感受会变得具体:原来早高峰的拥挤不是均匀的,原来周五晚高峰来得更早,原来一场雨能让晚高峰延长四十分钟。这些细节,就是出行数据最朴素的回报。