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

ETA(Estimated time of Arrival,预计送达时间)是外卖配送场景中最重要的变量之一(如图1)。 我们对ETA预估的准确度和合理度会对上亿外卖用户的订单体验造成深远影响,这关系到用户的后续行为和留存,是用户后续下单意愿的压舱石。ETA在配送业务架构中也具有重要地位,是配送运单实时调度系统的关键参数。对ETA的准确预估可以提升调度系统的效率,在有限的运力中做到对运单的合理分配。在保障用户体验的同时,对ETA的准确预估也可以帮助线下运营构建有效可行的配送考核指标,保障骑手的体验和收益。

1

图1. ETA的业务价值

最近几年,ETA在互联网行业中的运用取得了令人瞩目的进展,其中以外卖行业和打车行业最令人关注。但与打车行业相比,ETA在外卖行业中的业务场景更为复杂。如图2所示,从业务要素来看,打车涉及到两方——乘客和司机,而外卖行业则涉及了三方——骑手、商家、用户,这使得问题的处理难度提升了一个量级。从业务的环节来看,打车分为派单、接人、送达三个环节,是一个司机接单到达指定地点接送乘客到达目的地的过程;而外卖则主要分为接单、到店、取餐、送达四个环节,是一个用户、骑手、商家来回交错的场景。业务环节的增加带来了更多的复杂性和不确定性,如骑手操作在各个环节中存在较多的不可控因素,商家可能出餐较慢,此外还有运力规划和天气因素的不确定性等,这就直接导致了外卖ETA采取了端到端(下单到接单)的预估方式,相比于拆分成四个环节单独预估具有更强的容错性。无论从业务所涉及的要素还是从业务环节来看,外卖业务的复杂程度远远高于打车业务,对ETA预估的难度更大。

2

图2. ETA架构图

ETA中比较常用的模型是以GBDT(Gradient Boost Decision Tree,梯度提升决策树)、RF(RandomForest,随机森林)和线性回归为主的回归预测模型。GBDT是利用DT Boosting的思路,通过梯度求解的方式追踪残差,最终达到利用弱分类器(回归器)构造强分类器(回归器)的目的。RF在DT Bagging的基础之上通过加入样本随机和特征随机的方式引入更多的随机性,解决了决策树泛化能力弱的问题。而线性回归作为线性模型,很容易并行化,处理上亿条训练样本不是问题。但线性模型学习能力有限,需要大量特征工程预先分析出有效的特征、特征组合,从而去间接增强线性回归的线性学习能力。

在回归模型中,特征组合非常重要,但只依靠业务理解和人工经验不一定能带来效果提升,这导致在实际应用中存在特征匮乏的问题。所以如何发现、构造、组合有效特征,并弥补人工经验的不足,成了ETA中重要的一环。

Facebook 2014年的文章介绍了通过GBDT解决LR的特征组合问题。[1]GBDT思想对于发现多种有区分性的特征和组合特征具有天然优势,可以用来构造新的组合特征。在Facebook的文章中,会基于样本在GBDT中的输出节点索引位置构造0-1特征,实现特征的丰富化。新构造的0-1特征中,每一个特征对应样本在每棵树中可能的输出位置,它们代表着某些特征的某种逻辑组合。例如一棵树有n个叶子节点,当样本在第k个叶子节点输出时,则第k个特征输出1,其余n-1个特征输出0,如图3所示。

3

图3. GBDT(Gradient Boost Decision Tree)特征构造方法

至于构造新特征的规模,需要由具体业务规模而决定。当GBDT中树的数量较多或树深较深时,构造的特征规模也会大幅增加;当业务中所用的数据规模较小时,大规模的构造新特征会导致后续训练模型存在过拟合的可能。所以构造特征的规模需要足够合理。

在ETA场景中,由于业务场景复杂,所以特征的丰富性决定了ETA最终效果的上限。在目前所拥有的特征中,在特征工程的基础阶段,我们依靠业务理解、人工分析和经验总结来构造特征。但从特征层面来看仍然存在欠缺,需要让特征更加丰富化,深度挖掘特征之间的潜在价值。

基础特征构建

4

图4. 基础特征构成

特征作为ETA中的重要部分,决定了ETA的上限。我们基于人工经验和业务理解构建了不同的离线特征和在线特征。

(1) 离线特征

a. 商户画像:商户平均送达时长、到店时长、取餐时长、出餐状况、单量、种类偏好、客单价、平均配送距离。

b. 配送区域画像:区域运力平均水平、骑手规模、单量规模、平均配送距离。

(2) 在线特征

a. 商家实时特征:商家订单挤压状况、过去N分钟出单量、过去N分钟进单量。 b. 区域实时特征:在岗骑手实时规模、区域挤压(未取餐)单量、运力负载状况。 c. 订单特征:配送距离、价格、种类、时段。 d. 天气数据:温度、气压、降水量。

其中区域实时特征和商家实时特征与配送运力息息相关,运力是决定配送时长和用户体验的重要因素。

GBDT模型训练和特征构造

利用基础特征,训练用于构造新特征的GBDT模型。在GBDT中,我们每次训练一个CART(Classification And Regression Trees)回归树,基于当前轮次CART树的损失函数的逆向梯度,拟合下一个CART树,直到满足要求为止。

(1) 超参数选择

a. 首先为了节点分裂时质量和随机性,分裂时所使用的最大特征数目为 √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(新特征热编码)

5

图5. OneHotEncoder(新特征热编码)使用方法

由于样本经过GBDT输出后得到的x → [25,20,22,….,30,28] 是一组新特征,但由于这组新特征是叶子节点的ID,其值不能直接表达任何信息,故不能直接用于ETA场景的预估。为了解决上述的问题,避免训练过程中无用信息对模型产生的负面影响,需要通过独热码(OneHotEncoder)的编码方式对新特征进行处理,将新特征转化为可用的0-1的特征。

以图5中的第一棵树和第二棵树为例,第一棵树共有三个叶子节点,样本会在三个叶子节点的其中之一输出。所以样本在该棵树有会有可能输出三个不同分类的值,需要由3个bit值来表达样本在该树中输出的含义。图中样本在第一棵树的第一个叶子节点输出,独热码表示为{100};而第二棵树有四个叶子节点,且样本在第三个叶子节点输出,则表示为{0010}。将样本在每棵树的独热码拼接起来,表示为{1000010},即通过两棵CART树构造了7个特征,构造特征的规模与GBDT中CART树的叶子节点规模直接相关。

基于独热码编码新特征完成后,加上原来的基础特征,特征规模达到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

图7.N分钟准确率计算方法

② N分钟业务准时率:实际送达时长与预估时长的差值在N分钟内的概率。 1. 业务含义: * N分钟业务准时率中N的判定方法与N分钟准确率类似。 * N分钟业务准时率是一种合理考核骑手以及保障骑手绩效收益的指标。ETA场景与其它回归场景相比,在预估准确的同时,预估合理性同样很重要。N分钟准确率虽然有效地量化C端用户体验指标,但无法衡量R端骑手体验。所以N分钟业务准时率是一个很好的补充指标。 2. 计算方法: * Xi,样本i的有偏差值=(实际送达时长-预估时长)。 * 若Xi < 0 ,表示骑手提前送达,等同于业务准时。 * 若0 < Xi <= N , 表示骑手在超时N分钟内送达,等同于业务准时;但如果Xi > N ,表示骑手超时N分钟以上送达,从指标层面看,该订单骑手配送业务超时。 * 统计订单配送不超时的概率P(Xi <= N),计算方法与N分钟准确率(图7)类似。

实践效果对比

我们在此之前已经做了很多特征工程和优化方面的工作,本次我们在不增加任何额外特征的情况下,仅通过模型架构的变化进行优化。在对全量订单进行评估对比的同时,我们对一些高价值和午高峰期间的订单进行重点评估。

① 高价值订单:高价值订单仅占全量订单的5%。这部分订单用户满意度较低、配送体验较差,属于长尾订单范畴,优化难度高于其它类型订单。 ② 午高峰订单:午高峰运单业务占比高达40%。午高峰期间,商家存在堂食和外卖资源争抢问题,造成出餐时间不稳定,导致业务中存在更多不确定性,预估难度明显大于非高峰期。

将GBDT构造特征+Ridge与老版本base model(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的场景提升打下坚实的基础。

[1] He X, Pan J, Jin O, et al. Practical Lessons from Predicting Clicks on Ads at Facebook[C]. Proceedings of 20th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. ACM, 2014: 1-9. [2] https://www.csie.ntu.edu.tw/~r01922136/kaggle-2014-criteo.pdf. [3] GitHub,guestwalk.

美团外卖配送策略组长期招聘机器学习领域有识之士。come on,快到我碗里来!简历发送至邮箱:gaojiuchong#meituan.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/477118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1376. 通知所有员工所需的时间(DFS)

1. 题目 公司里有 n 名员工&#xff0c;每个员工的 ID 都是独一无二的&#xff0c;编号从 0 到 n - 1。公司的总负责人通过 headID 进行标识。 在 manager 数组中&#xff0c;每个员工都有一个直属负责人&#xff0c;其中 manager[i] 是第 i 名员工的直属负责人。对于总负责人…

华为天才少年稚晖君做了一把模块化机械键盘,引起极客圈地震,网友:这才是真正的客制化...

作者 | 王玥、李梅&#xff0c;陈彩娴&#xff08;编辑&#xff09;来源 | AI科技评论他来了他来了&#xff0c;一人顶一个团队的稚晖君又一次带着一项硬核&#xff08;虽然他强调是“软核”&#xff09;黑科技来了&#xff01;稚晖君&#xff0c;真名彭志辉&#xff0c;三次元…

iPhone X 刘海打理指北

iPhone X 刘海机于9月13日发布&#xff0c;给科技小春晚带来一波高潮。作为开发人员却多出来一份忧虑&#xff0c;iPhone X 怎么适配&#xff1f;我们 App 的脑袋会不会也长一刘海出来&#xff1f;Tabbar 会不会被圆角&#xff1f;先来看一下美团 App 的表现&#xff1a; 图 1.…

大厂们终于无法忍受“加一秒”了,微软谷歌Meta等公司提议废除闰秒

文 | 萧箫 发自 凹非寺源 | 量子位 , 公众号 QbitAI大厂们再也无法忍受闰秒带来的一堆bug了。现在&#xff0c;谷歌Meta微软亚马逊等一众科技巨头发起了一项倡议&#xff1a;废除闰秒&#xff01;闰秒这玩意&#xff0c;说白了就是通过给“世界标准时间”加_&#xff08;或减&a…

LeetCode 1374. 生成每种字符都是奇数个的字符串

1. 题目 给你一个整数 n&#xff0c;请你返回一个含 n 个字符的字符串&#xff0c;其中每种字符在该字符串中都恰好出现 奇数次 。 返回的字符串必须只含小写英文字母。如果存在多个满足题目要求的字符串&#xff0c;则返回其中任意一个即可。 示例 1&#xff1a; 输入&…

Redux从设计到源码

本文主要讲述三方面内容&#xff1a; Redux 背后的设计思想源码分析以及自定义中间件开发中的最佳实践在讲设计思想前&#xff0c;先简单讲下Redux是什么&#xff1f;我们为什么要用Redux&#xff1f; Redux是什么&#xff1f; Redux是JavaScript状态容器&#xff0c;能提供可预…

LeetCode 1375. 灯泡开关 III

1. 题目 房间中有 n 枚灯泡&#xff0c;编号从 1 到 n&#xff0c;自左向右排成一排。最初&#xff0c;所有的灯都是关着的。 在 k 时刻&#xff08; k 的取值范围是 0 到 n - 1&#xff09;&#xff0c;我们打开 light[k] 这个灯。 灯的颜色要想 变成蓝色 就必须同时满足下…

MIT指出公开预训练模型不能乱用

文 | 林锐众所周知&#xff0c;用 Imagenet 预训练模型做 backbone&#xff0c;再接个下游任务的头去微调&#xff0c;是个简单有效的迁移学习方法。基本上&#xff0c;炼丹师用这种方法就能成功获得一个优秀的模型&#xff08;水一个实验室的项目&#xff09;。但是近些年一些…

从0到1:构建强大且易用的规则引擎

引言 2016年07月恰逢美团点评的业务进入“下半场”&#xff0c;需要我们在各个环节优化体验、提升效率、降低成本。技术团队需要怎么做来适应这个变化&#xff1f;这个问题直接影响着之后的工作思路。 美团外卖的CRM业务步入成熟期&#xff0c;规则类需求几乎撑起了这个业务所有…

LintCode 563. 背包问题 V(DP)

1. 题目 给出 n 个物品, 以及一个数组, nums[i] 代表第i个物品的大小, 保证大小均为正数, 正整数 target 表示背包的大小, 找到能填满背包的方案数。 每一个物品只能使用一次 样例 给出候选物品集合 [1,2,3,3,7] 以及 target 7 结果的集合为: [7] [1,3,3] 返回 22. 解题 dp[…

汽车博主因眼睛小被辅助驾驶误判为开车睡觉!何小鹏亲自回应 蔚来已成立专门研究小组...

源 | 每日经济新闻近日&#xff0c;一位汽车博主表示&#xff0c;他在驾驶小鹏汽车&#xff0c;使用小鹏辅助驾驶功能的时候&#xff0c;因为自己的眼睛比较小&#xff0c;所以被系统判定为“开车睡觉”&#xff0c;从而被扣除了智驾分。据了解&#xff0c;“智驾分”是小鹏汽车…

投资127亿!深圳,再添一所985

源 | 青塔综合转自 | 募格学术据深圳卫视近日消息&#xff0c;中山大学深圳校区多栋建筑将在暑假交付。报道称&#xff0c;中山大学深圳校区主楼正在进行工程最后收尾工作&#xff0c;预计本月底就能竣工验收&#xff0c;确保秋季新学期开始前投入使用。校区总建筑面积约127万平…

Android OOM案例分析

在Android&#xff08;Java&#xff09;开发中&#xff0c;基本都会遇到java.lang.OutOfMemoryError&#xff08;本文简称OOM&#xff09;&#xff0c;这种错误解决起来相对于一般的Exception或者Error都要难一些&#xff0c;主要是由于错误产生的root cause不是很显而易见。由…

NAACL最佳方法论文:课本上的A*搜索算法可以提升文本生成效果!

文 | Yimin_饭煲相信大多数学习过人工智能课程的读者&#xff0c;当听到算法的时候&#xff0c;都会有一种既熟悉又陌生的感觉。说算法熟悉&#xff0c;是因为一听到这个算法&#xff0c;就想起那本厚厚的《人工智能——一种现代的方法》&#xff0c;想起这个算法似乎是人工智能…

LeetCode 6. Z 字形变换(找规律)

1. 题目 将一个给定字符串根据给定的行数&#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时&#xff0c;排列如下&#xff1a; L C I R E T O E S I I G E D H N之后&#xff0c;你的输出需要从左往右逐行…

美团点评移动网络优化实践

本文根据第16期美团点评技术沙龙“移动开发实践&#xff08;上海站&#xff09;”演讲内容整理而成。 第18期沙龙&#xff1a;高可用系统背后的基础架构&#xff08;3月25日&#xff09;火热来袭&#xff01;快快点击报名吧。 网络优化对于App产品的用户体验至关重要&#xff0…

我终于逃离了互联网,却陷入了迷茫

大家好&#xff0c;我是卖萌酱。昨天跟一位成功逃离互联网的好姐妹小A约了个饭&#xff0c;这位姐妹的早期经历可以说是略带传奇色彩了&#xff0c;过程却比较崎岖&#xff0c;结局心情复杂&#xff0c;但却对普通人来说却很有启发意义。经过小A允许&#xff0c;卖萌酱将小A的故…

LintCode 633. 寻找重复的数(这个题要复习)

1. 题目 给出一个数组 nums 包含 n 1 个整数&#xff0c;每个整数是从 1 到 n (包括边界)&#xff0c;保证至少存在一个重复的整数。假设只有一个重复的整数&#xff0c;找出这个重复的数。 样例 1: 输入: [5,5,4,3,2,1] 输出: 5样例 2: 输入: [5,4,4,3,2,1] 输出: 4注意事项…

业务赋能利器之外卖特征档案

应用背景及现状 美团外卖业务自2013年9月启动至今已运营三年时间。截至2016年12月&#xff0c;美团点评整个外卖平台的日订单超过900万。从发展速度和体量上看&#xff0c;外卖业务仍处在迅猛发展的上升期。与早期飞速增长的状态相比&#xff0c;随着规模的不断扩大&#xff0c…

训练双塔检索模型,可以不用query-doc样本了?明星机构联合发文

文 | QvQ对于开放域检索式QA系统而言&#xff0c;其本质是计算question和doc的本文相似度&#xff0c;而作为老生常谈的文本相似度问题&#xff0c;有监督方法的性能历来是要好于无监督算法的。今天要介绍的文章&#xff0c;反其道而行之&#xff0c;不仅采用了无监督算法&…