论文题名: | 基于xgboost回归算法的滴滴出行供求缺口预测 |
关键词: | 网络约车;供求缺口;预测模型;支持向量机 |
摘要: | 出行是人类生活衣、食、住、行中至关重要的一方面。进入21世纪,地铁、公交、出租车以及其他出行方式极大地便利了人们的生活。然而随着生活节奏的加快,这在越来越追求高效快捷的社会中,仍有许多人无法获得良好的出行体验。我国占据世界五分之一的人口,城市人口密度非常大,流动性强,给交通带来巨大的压力,城市交通拥堵状况频出,饱受诟病。更多的百姓会选择公共交通出行,但缺乏舒适的个人体验。出行在产生一系列问题的同时也带来了新的机遇。2012年,网约车进入了我国百姓的生活。短短几年时间,网络约车出行已经在人们的出行方式上引起了一场深刻的变革。滴滴出行就是网约车企业中最具代表性之一。去年滴滴出行与优步中国合并,抢占了网约车约90%的市场。面对这样巨大份额的出行市场,滴滴出行每日需要处理大量的订单数据。2016年年初,滴滴出行平台每日处理1000多万订单,需要分析的数据量达50TB。如此庞大的数据,需要不断完善的大数据技术,充分挖掘利用这些数据所隐含的信息,实现高频出行运力的均衡。在这之中,供求缺口预测是一个关键问题。 供求缺口即是指乘客需求超过司机供给的部分,表现为乘客的打车难问题。2016年腾讯大数据峰会上,滴滴研究院副院长叶杰平教授指出目前许多城市存在的这一问题,究其原因不是运力不足,而是滴滴出行司机分布不合理,尤其是在高峰期。高峰期时,由于距离关系,同一时间存在着一部分空闲司机无法获得乘客,而一部分乘客的订单却迟迟不能得到司机的响应。这种情况的出现严重影响了乘客的约车体验,对于司机也意味着低效工作状态下收入的损失。如果能够根据乘客的出行规律,让网络后台学习出某种算法,在乘客发出订单之前就能预测到某区域需求的数量,提前调动足够多的附近的空闲司机来到这里,将显著提升出行效率。网络后台智能匹配将比司机凭经验行驶更加准确、高效、快捷,采用这种方式不仅使得乘客出行更加便利,也意味着司机收入的提升,而对于滴滴公司将会获得巨额利润,从经济学术语来讲资源将得到巨大的优化配置。本文就是基于这样一种思考,旨在利用历史乘客订单信息以及其他相关信息,探索乘客的出行规律,并在此基础上建立回归模型去预测下一时刻某城市某一区域的供求缺口数。目前滴滴出行也正在致力于使用大数据与人工智能相结合的方法,解决供求缺口这一关键问题。文章的研究将为滴滴出行平衡供求,从算法提前预测与乘客出行规律发现两个角度,为减少供求缺口提供参考意见。 论文首先介绍了问题的背景,进而提出研究的意义并总结了国内外学者对于梯度提升回归算法领域的研究结果,提出文章研究的切入点。其次,对于解决回归问题可选用的数据挖掘算法进行理论方面的阐述,主要介绍了线性回归、决策树、随机森林、支持向量机、GBDT与 xgboost,并进行理论比较,指出目前最具优势的回归算法是xgboost。然后进行实证分析。实证中将M市划分为66个互不重叠的正方形区域,将一天24个小时以每10分钟为间隔,划分为144个时间片。某区域下一时间片的预测,主要使用该时间片前20分钟的历史信息。 在数据挖掘中,想要得到性能良好的模型,主要通过两种手段:特征工程与模型调优。 在特征工程方面,尽量提取了可能与供求缺口数相关的特征,并在此基础上对提取出的特征进行了进一步的线性与非线性的组合,同时也够造了week、workday这样的隐含特征。最后所用于模型构建的特征有54个。除了构造特征之外,特征的处理也非常重要,在特征的构造过程中产生了大量的缺失数据。按照缺失数据的逻辑意义,在合理的基础上对特征进行了缺失值插补。对于模型不能很好地处理类别变量的问题,使用了 one hot编码的方式,将一个类别变量的n个值,使用n个二元变量替换。采用这种方式,也起到了变量扩充的作用。 模型调优方面主要使用“网格搜索+交叉验证”的办法确定最佳参数。模型所使用的训练集为2016年1月2日至2016年1月21日的数据。由于1月1日属于元旦假期,为提高预测精度,训练集删去了该天的数据。模型建立过程中,在训练集内部采用交叉验证提高模型的泛化能力。文中所使用的预测区间为2016年1月22日,24日,26日,28日以及30日各个区域的9个时间片。为了选择最合理的模型,以及节省计算开销,模型构建思路是首先将需求总量比较大的两个区域(第29,10区域)提取出来,构成5850个样本量。在该样本基础上分别建立SVR、GBDT、随机森林与xgboost模型,并进行模型调优,比较各个最优模型的预测效果。同时在这一过程中指出,对于最佳模型的选择,有两点非常重要,一是预测的准确度(用mae指标衡量),二是模型的运行效率(用运行时间衡量)。在预测的准确度的比较中梯度提升算法与随机森林明显优于支持向量机回归算法。而在两种梯度提升算法与随机森林中xgboost运算效率更高,因而最终采用xgboost模型对所有区域的缺口数重新建立模型并对预测区间的数据进行预测。 文章总结出,在诸多回归预测模型中,xgboost不论是在理论上还是在实证分析上都更有优势应用于对滴滴出行供求缺口的预测。其正则化与并行化的特点使得它在对大数据的预测过程中兼具准确性与运行效率。实证也证明在模型预测效果相差无几的情况下,xgboost相比其他模型在运行效率上有着质的提升。这是决定全文使用该模型解决供求缺口最关键的原因。在预测区间,模型的预测结果与真实值相比平均来说存在3个订单的误差,该模型能够大致确定某区域下一时刻的缺口数。因此,xgboost具备可执行性,在后台运用可提前指引司机的调度,缓解供求缺口。模型预测结尾处进行了特征重要性的比较,发现7天前与1天前同一时刻的缺口数对本时刻缺口数的影响最为重要,而交通拥堵状况与天气污染情况也对供求缺口数量存在显著的影响。对这些规律的利用也都可为供求缺口的解决提供思路。 本文的特色之处在于将一种运算效率最高的梯度提升算法—xgboost应用于网约车供求缺口的预测。尽管这一算法在互联网中的应用非常热门,但主要是将其运用于概率预测的场景。同时网约车作为兴起不久的出行方式,对其出行规律的研究比较少见。文章将梯度提升模型应用于网约车的场景中,探索乘客出行规律以解决实际问题,具有一定现实意义。 文章也存在需要改进的地方。首先是预测所使用的数据为滴滴出行三个星期的数据,样本量相对缺乏。如果能获得往期更多的数据会更有利于模型准确性与稳健性的提高。在仅能获得现有数据集的情况下,下一步可考虑采用每10分钟滑动窗口的形式增加样本容量。此外在比较随机森林与xgboost时,因为随机森林的运行效率低而不采用该方法。实际上随机森林算法并行计算时,其运算效率可能会优于xgboost。接下来可在具备一定硬件条件下进行二者运算效率更深入地探索。 |
作者: | 胡菥 |
专业: | 应用统计 |
导师: | 李南成 |
授予学位: | 硕士 |
授予学位单位: | 西南财经大学 |
学位年度: | 2017 |
正文语种: | 中文 |