真实面经题目 · 原创解析

如何设计一个用车需求量预估算法?

用车需求量预估本质是时空序列预测:在给定城市区域和时间窗口内预测未来订单请求量。完整方案包括区域划分、时间粒度定义、历史订单和供需特征构建、天气节假日活动等外部特征引入、时序或时空模型训练,以及用 MAE、RMSE、MAPE 和调度收益做离线与在线评估。

出现于:滴滴 · 算法

60 秒回答模板

先定义预测对象:某区域在未来某时间窗的叫车需求量。再设计数据和特征:历史需求、时间周期、天气、节假日、位置热度、供给状态。然后给模型路径:从规则和统计基线到 GBDT、LSTM/TCN、图时空模型。最后说明评估和上线:按区域时间切分验证,关注高峰、长尾区域和供需调度效果。

考点 先定粒度
难度 真实面经题
回答目标 讲清原理、实现和边界

深入解析

01

目标层

先把预测对象定义清楚:在某个城市网格、商圈或站点周边,按 5 分钟、15 分钟等时间窗预测未来一个或多个窗口的叫车请求量。目标最好以请求量为主,因为成交量会被司机供给、取消和派单失败压低。

02

数据层

数据层要区分需求、供给和外部扰动。需求侧有历史请求、成交、取消、等待、目的地分布;供给侧有司机在线、空闲车、应答率;外部特征包括时间、位置、天气、节假日、大型活动。还要记录数据延迟和缺失情况。

03

特征层

特征应覆盖短期惯性、周期性和空间扩散。可构造近几窗滑动均值、同比环比、日周期和周周期、区域静态属性、邻近区域需求和供给缺口、天气事件编码,并把异常高峰或节假日作为单独切片处理。

04

模型层

模型路线先从可解释基线开始,如移动平均、历史同周期均值、ARIMA 或 GBDT,验证数据和特征是否有效;数据规模足够时再用 LSTM、TCN、Transformer 或时空图模型刻画跨区域传播和多步预测,避免直接堆复杂模型。

05

评估层

离线评估必须按时间切分,防止未来信息泄漏。指标可用 MAE、RMSE、MAPE、分位数损失,并按高峰期、低频区域、核心区域、异常天气切片;在线还要看派单效率、乘客等待、司机空驶和供需缺口改善。

06

落地层

落地时要处理冷启动区域、临时活动、极端天气、节假日分布漂移和实时数据延迟。输出不应只有点预测,还可以给置信区间、分位数或风险等级,让调度、补贴和运力引导策略按不确定性做决策。

易错点

  • 没有先定义区域和时间粒度,直接讲模型。
  • 只用历史成交量,忽略供给不足造成的需求低估。
  • 只追求复杂深度模型,没有建立可解释基线。
  • 只看整体误差,忽略高峰期和核心区域误差。

面试官追问

为什么成交订单量不能完全代表真实需求?

成交量会受司机供给、取消、派单失败和价格影响,供给不足时真实需求被压低,最好结合请求量和供需状态估计。

如何处理节假日和极端天气导致的分布漂移?

引入节假日、天气、活动等外部特征,做相似日期样本、异常切片评估和在线监控,必要时用规则或短期模型修正。

区域划分用网格还是商圈有什么区别?

网格规则统一、便于建模但可能割裂真实商圈;商圈更贴近业务语义,但边界变化和冷启动处理更复杂。

如何为司机调度输出更有用的预测结果?

除点预测外可输出置信区间、分位数、供需缺口和区域热度,让调度策略按风险和收益决策。