当前位置: 首页 > 科技观察

即时配送的ETA问题:亿级样本特征构建实践

时间:2023-03-13 22:22:59 科技观察

简介ETA(EstimatedtimeofArrival,预计配送时间)是外卖场景中最重要的变量之一(如图1所示)。我们ETA预估的准确性和合理性,将对亿万外卖用户的订单体验产生深远的影响,关系到用户后续的行为和留存,是用户后续订单意愿的压舱石。ETA在配送业务结构中也起着重要作用,是配送运单实时调度系统的关键参数。准确预估ETA可以提高调度系统的效率,实现有限运力下运单的合理分配。在保证用户体验的同时,精准预估ETA还可以帮助线下运营建立有效可行的配送考核指标,保障骑手体验和收益。图1ETA的商业价值近年来,ETA在互联网行业的应用取得了长足的进步,其中外卖和打车行业最为受关注。不过,与打车行业相比,ETA在外卖行业的业务场景更为复杂。如图2所示,从业务要素来看,打车涉及乘客和司机两方,而外卖行业涉及骑手、商家和用户三方,这使得处理问题成为一个数量级更加困难。从业务环节来看,网约车分为派单、取车、派送三个环节。取餐、送餐四个环节是用户、骑手、商家来回交叉的场景。业务环节的增加带来了更多的复杂性和不确定性。比如骑手运营的各个环节都有很多不可控因素,商家送餐可能比较慢。此外,产能规划和天气因素也存在不确定性。这直接导致外卖ETA采用了端到端(order-to-order)的预估方式,比拆分成四个环节分别预估更容错。无论是业务涉及的要素还是业务环节,外卖业务的复杂度远高于打车业务,估计ETA的难度也更大。图2.ETA架构图ETA中比较常用的模型有基于GBDT(GradientBoostDecisionTree,梯度提升决策树)、RF(RandomForest,随机森林)和线性回归的回归预测模型。GBDT利用DTBoosting的思想,通过梯度求解来跟踪残差,最终达到利用弱分类器(回归器)构建强分类器(回归器)的目的。RF在DTBagging的基础上,通过加入样本随机性和特征随机性,引入了更多的随机性,解决了决策树泛化能力弱的问题。线性回归作为一种线性模型,易于并行化,处理数亿训练样本不成问题。但是,线性模型的学习能力是有限的,需要大量的特征工程来提前分析出有效的特征和特征组合,从而间接增强线性回归的线性学习能力。在回归模型中,特征组合非常重要,但仅仅依靠业务理解和人的经验不一定能提高效果,从而导致在实际应用中存在特征缺失的问题。因此,如何发现、构造、组合有效的特征,弥补人工经验的不足成为ETA的重要内容。GBDT构建特征的现状Facebook2014年的文章介绍了使用GBDT解决LR的特征组合问题。[1]GBDT的思想对于发现多种区分特征和组合特征具有天然的优势,可以用来构造新的组合特征。Facebook的文章中会根据样本在GBDT中的输出节点索引位置构造0-1特征,实现特征丰富。在新构建的0-1特征中,每一个特征都对应着样本在每棵树中可能的输出位置,它们代表着某些特征的某种逻辑组合。例如,一棵树有n个叶节点。当样本在第k个叶子节点输出时,第k个特征输出1,其余n-1个特征输出0,如图3所示。图3.GBDT(GradientBoostDecisionTree)特征构建方法至于尺度构建新特征,需要根据具体的业务规模来确定。当GBDT中树的数量较多或树深度较深时,构造特征的规模也会显着增加;当业务使用的数据规模较小时,大规模构建新特征会导致后续训练模型过拟合。可能的。所以构建特征的尺度需要足够合理。GBDT构建特征在ETA场景中的应用方案在ETA场景中,由于业务场景的复杂性,特征的丰富程度决定了ETA最终效果的上限。目前的特征中,在特征工程的基础阶段,我们依靠业务理解、人工分析和经验总结来构建特征。但是,在功能层面仍然存在不足。需要丰富特征,??挖掘特征之间的潜在价值。基本特征构造图4.基本特征构成特征作为ETA的重要组成部分,决定了ETA的上限。我们基于人类经验和业务理解构建不同的离线特征和在线特征。(1)离线功能商户画像:商户平均配送时间、到货时间、取餐时间、配送状态、订单量、品类偏好、客单价、平均配送距离。b.配送区域画像:区域运力平均水平、骑手规模、订单规模、平均配送距离。(2)在线功能商户实时特征:商户挤单状态、近N分钟订单量、近N分钟订单量。b.区域实时特征:实时值班骑手规模、区域挤(未接)订单、运力负荷状态。C。订单特征:交货距离、价格、类型、时间段。d.天气数据:温度、气压、降水量。其中,地域和商户的实时性特点与配送能力密切相关,是决定配送时效和用户体验的重要因素。GBDT模型训练和特征构建利用基本特征训练GBDT模型构建新特征。在GBDT中,我们每次训练一棵CART(ClassificationAndRegressionTrees)回归树,根据本轮CART树的损失函数的反梯度,拟合下一棵CART树,直到满足要求。(1)超参数选择首先,对于节点分裂的质量和随机性,分裂时使用的最大特征数为√n。b.GBDT迭代次数(树数)。树的数量决定了后续构造特征的尺度,对应学习率。通常学习率设置得较小,但如果设置得太小,会导致迭代次数大幅增加,使得新构建的特征尺度过大。通过GridSearch+CrossValidation,找到最合适的迭代次数和学习率的组合。C。GBDT树的深度需要足够合理,通常4~6比较合适。虽然增加树的数量和深度可以增加新构造的特征尺度。但是如果树的深度太大,模型会过拟合,新构造的特征会过于稀疏。(2)训练程序随机抽取50%的训练数据,一分为二。前50%用于训练GBDT模型,后50%的数据通过GBDT输出样本在每棵树中输出的叶子节点的索引位置,记录和存储用于后续构建和编码新功能,以及后续模型。火车。例如样本x通过GBDT输出后,得到的形式为:x→[25,20,22,....,30,28],列表表示样本的叶子节点索引位置GBDT的每棵树中的输出。OneHotEncoder(newfeaturehotencoder)图5.OneHotEncoder(newfeaturehotencoding)使用方法样本通过GBDT输出后得到的x→[25,20,22,....,30,28]是一组newfeatures,但是由于这组新特征是叶子节点的ID,其值不能直接表达任何信息,所以不能直接用于ETA场景的预估。为了解决上述问题,避免训练过程中无用信息对模型造成负面影响,需要通过OneHotEncoder编码对新特征进行处理,将新特征转化为可用的0-1特征。以图5中的第一棵树和第二棵树为例。第一棵树有三个叶子节点,样本将在三个叶子节点中的一个输出。因此,样本在树中可能输出三种不同的分类值,需要3个比特值来表达样本输出在树中的含义。图中,样本在第一棵树的第一个叶子节点输出,one-hot代码表示为{100};而第二棵树有四个叶节点,样本在第三个叶节点输出,即{0010}。将每棵树中样本的one-hot编码拼接在一起,表示为{1000010},即通过两棵CART树构建7个特征,构建特征的规模与叶节点规模直接相关GBDT中的CART树。新特征基于one-hotencoding编码后,加上原有的基础特征,特征规模达到1000+以上,实现了特征丰富。评价指标与实际效果评价指标不同于传统的回归问题。ETA与实际业务深度耦合,因此需要根据业务因素考虑更多的评估指标,以满足各端(C端、R端)用户的利益。①N分钟准确率:订单实际送达时间与预估时间绝对误差在N分钟以内的概率。1.业务含义:在N分钟的准确率中,N的确定方法来自于绝对误差与用户满意度的关系曲线。通常绝对误差在一定范围内,用户满意度不会有明显波动。如果发现当误差大于K分钟时,用户满意度明显下降,那么可以将K作为N分钟准确率中N取值的依据。预估时长相当于C端用户对平台提供的配送速度的心理预期。如果N分钟的准确率越高,证明预估时长越接近用户的心理预期,说明C端用户体验越好。2、计算方法:Xi:样品i的绝对误差=abs(实际交货时间-预计时间)。计算每个样本的误差是否在N分钟以内,统计概率P(Xi<=N),如图6和图7所示。图6图6.判断订单估计是否准确的计算方法图7图7N分钟准确率计算方法②N分钟业务准时率:实际送达时间与预估时间相差在N分钟以内的概率。1、业务含义:N分钟业务准点率中N的确定方法与N分钟准确率类似。N分钟业务准时率是合理评价骑手、保障骑手业绩效益的指标。与其他回归情景相比,ETA情景不仅估算准确,而且估算合理。N分钟准确率虽然可以有效量化C端用户体验指标,但无法衡量R端骑手体验。因此,N分钟业务准点率是一个很好的补充指标。2、计算方法:Xi,样品i的偏差值=(实际交货时间-预计时间)。如果xi<0,则表示骑手提前送货,相当于商家准时。如果0N,则表示骑手送货超时时间超过N分钟。从指标上看,骑手本次订单的配送业务超时。计算没有超时的订单交付概率P(Xi<=N),计算方法类似于N分钟准确率(图7)。实际效果对比在此之前我们做了很多特征工程和优化工作。这一次,我们只是通过更改模型架构进行优化,而没有添加任何额外的功能。在对全量订单进行评估对比的同时,重点评估部分高价值订单和下午高峰期的订单。①高价值订单:高价值订单仅占总订单的5%。这些订单用户满意度低,配送体验差。它们属于长尾订单的范畴,比其他类型的订单更难优化。②中午高峰订单:中午高峰运单业务占比高达40%。下午高峰时段,商家存在堂食和外卖资源竞争问题,导致送餐时间不稳定,导致业务不确定性增加,预测难度明显大于非高峰时段。高峰期。将GBDT构造特征+Ridge与旧版本的基础模型(GBDT)进行比较。从结果来看,构造新特征后,可以为ETA估计带来更好的结果。在大额订单中,骑手N分钟业务准时率显着提升。具体结论如下:①所有订单平均偏差(MAE)下降3.4%,错误率下降1.7个百分点,N分钟准确率提高2.2个百分点,N分钟业务准时率率保持不变。②大额订单平均偏差(MAE)下降2.56%,错误率下降1个百分点,N分钟准确率提升1.6个百分点,N分钟业务准时率提升3.46个百分点点。③中午高峰订单平均偏差(MAE)下降3.1%,差错率下降1.4个百分点,N分钟准确率上升1.7个百分点,N分钟业务准时率持平。从以上效果来看,GBDT的结构特征可以为ETA场景带来更多提升。在线使用时,还需要在性能和结构特征的规模之间做出权衡。考虑到骑手的主观能动性等因素,线上效果通常比上线后的线下测试效果更乐观。总结作为外卖场景中最重要的变量之一,ETA是一个高度复杂的机器学习问题,其特征的丰富性决定了ETA的上限。在业务特征相对稀缺的情况下,GBDT+OneHotEncoder可以丰富特征,??挖掘特征的潜在价值。实验结果表明,随着特征的丰富,ETA的准确率得到了显着提高。同时,我们也在尝试做更多的探索。我们认为时间关系也是ETA场景的一个重要特征,并尝试刻画这种关系并将其添加到当前模型和策略中,以提高特征质量,增加ETA预测能力的上限。同时引入深度学习和增强学习,在提升上限的同时,用更好的模型来逼近这个新的预估上限,为ETA场景的提升打下坚实的基础。【本文为栏目机构“美团点评技术团队”原创稿件,转载请微信联系机构♂获得授权】点此查看作者更多好文