利用梯度提升树预测公交车到站时间
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第37卷 第4期 福 建 电 脑 Vol.37 No.4
2021年4月
Journal of Fujian Computer
Apr. 2021
———————————————
李文锋(通信作者),男,1978年生,主要研究领域为智能交通行业应用。
E-mail:**************。
程远,男,1989年生,主要研究领域为智能交通行业应用。
E-mail:****************。
曹辉彬,男,1997年生,主要研究领域为数据挖掘、图像视觉分析。
E-mail:****************。
赖永炫,男,1981年生,主要研究领域为智能交通、大数据分析。
E-mail:*************.cn 。
张鹏,男, 1989年生,主要研究领域为智能交通行业应用。
E-mail: ****************。
赖颖琦,女,1992年生,主要研究领域为智能交通行业应用。
E-mail:*******************。
利用梯度提升树预测公交车到站时间
李文锋1 程远1 曹辉彬2 赖永炫2 张鹏1 赖颖琦1
1
(厦门卫星定位应用股份有限公司 福建 厦门 361000)
2
(厦门大学信息学院软件工程系 福建 厦门 361000)
摘 要 当前我国公交公司普遍采用让具有丰富经验的公交调度人员以人工估计车辆到站的方法来调度车辆的发车。
这种方式缺少计算辅助,加上工作量大,经常容易出现错误预估导致无法缓解道路上常发生的同路公交车遇到一起(串车)或者相隔太远(大间隔)的情况。
公交到站时间受道路交通、乘客人数、时间、天气等诸多因素影响,具有不确定性。
本文基于该现实问题从公交公司角度出发,提出了一种基于动态特征选择和梯度提升树的公交到站时间预测算法。
其动态主要体现在对于不同线路、同一线路不同方向经过特征选择分别选取对该线路该方向站点停留和站间行驶影响较大的特征。
该算法用于辅助公交调度人员参考到站时间,从而使得调度人员可以作出更准确有效的调度策略。
关键词 公交调度;到站预测;动态特征选择;梯度提升树 中图法分类号 U495 DOI:10.16707/ki.fjpc.2021.04.005
A Bus Arrival Time Prediction Method Based on GBDT
LI Wenfeng 1, CHENG Yuan 1, CAO Huibin 2, LAI Yongxuan 2, ZHANG Peng 1, LAI Yingqi 1
1
(Xiamen GNSS Development & Application Co., Ltd., Xiamen, China, 361000)
2
(Software Engineering Department, School of Informatics, Xiamen University, Xiamen, China, 361000)
Abstract At present, the bus dispatchers with rich experience generally use the method of estimating the arrival of vehicles manually to dispatch the departure of vehicles. However, this method lacks computational assistance, and with a large workload, it is often prone to erroneous estimates, which still cannot alleviate the common occurrence of the same-way bus on the road. The situation of meeting together or being too far apart. However, bus arrival time is influenced by many factors, such as road traffic, passenger number, time, weather and so on. It is uncertain. Based on this practical problem and from the perspective of bus companies, this paper proposes a bus arrival time prediction algorithm based on dynamic feature selection and GBDT. Its dynamics are mainly embodied in the characteristics of different lines and different directions of the same line, which have great influence on the stopover and inter-station driving of the stations in this direction. This algorithm is used to assist bus dispatchers to refer to arrival time, and can make more accurate and effective dispatching strategy. Keywords Bus Dispatch; Arrival Prediction; Dynamic Feature Selection; GBDT
1引言
目前,公交公司主要靠调度人员对在公交排班与实际运营过程中发生的情况做出相应的调整[1]。
这种调整主要包括排班调整和实时监测与调度等情况。
现有应用领域,缺少从公交公司角度出发,进行辅助公交调度的公交预测算法。
公车调度人员通过个人经验对车辆的回场时间做出预测,并在此基础上调整下一班次的发车时间。
这种凭经验的调
22 李文锋等:利用梯度提升树预测公交车到站时间第4期
度方式经常会出现“错估”到站时间的情况,导致公车调度过程中存在“串车”和“大间隔”现象。
因此需要一种更精准的到站时间预测方案来辅助调度人员做决策。
对于公交到站预测的算法,研究领域提出过不少方法,如基于历史数据预测[2]、时间序列预测[3]、回归预测模型[4]、卡尔曼滤波模型等[5]。
然而,这几种方法或不能达到理想的效果,或在实际应用中不具优势。
本文在现有研究基础上,提出了一种基于动态特征选择和梯度提升树的公交到站时间预测算法,用于辅助公交调度人员参考到站时间,以便作出更准确有效的调度策略。
2数据处理与分析
2.1原始数据描述
本文公交到站时间研究的对象是厦门市22路公交车,数据源于厦门卫星定位公司的公共平台。
该数据主要包含2018年12月至2019年2月期间所有22路公交车的行车数据,如表1所示。
表1 公交行车数据
字段名含义字段名含义
carID 车辆ID time 时间alarmSign 报警标志Odometer 累积里程
carState 状态routeID 线路ID
latitude 纬度upAndDown 上行或下行longtitude 经度siteOrder 站点序号
altitude 高程inAndOut 进站或出站
speed 速度upNum 上车人数
direction 方向downNum 下车人数
为了丰富模型训练的特征,以h为单位获取厦门市2018年12月至2019年2月的天气数据,以此判断对应的天气状态。
天气数据字段如表2所示。
表2 天气数据
字段名含义字段名含义
city_id 城市humidity 湿度
date 日期visibility 能见度temperature 温度weather 天气描述
2.2数据预处理
在对该数据进行特征提取前,以天为单位实行划分,将分割后的每一天的数据根据上下行、车辆id、获取到离站数据的时间进行排列,将同一趟数据划分到同一组中,剔除组内的脏数据,然后提取数据中的时间、空间、天气等特征。
2.3公交运行特征及影响因素分析
2.3.1公交运行特征
公交运行存在一些直观可见的静态特征和可间接提取的动态特征。
其中,静态特征是指公交的运行存在长期性与周期性等特征;动态特征是指可以通过原始公交数据计算生成一些新的数据特征。
2.3.2影响因素分析
(1)时段影响。
不同时段人流车流大小不同,上下班高峰期明显高于其他时段,因此在同一天,不同时段的公交车运行总时长是有所差异的。
(2)路段影响。
不同线路因为行驶路线不同,其行驶总时长也有差异。
即使是同一线路,不同道路路段的交通状况也不同,有些路段较于其他路段流量更大或路况更堵塞,行驶时长会更长;有些路段上下车乘客更多,停留时长会更长。
3公交到站时间预测
3.1整体流程
图1 整体流程图
本文公交预测的实现流程如图1所示。
公交到离站数据和天气数据是两个已有数据集,首先经过数据预处理,剔除不需要和错误的数据并整理成所需格式,经过一系列特征提取和数据整合后生成一个特征数据集。
这个特征数据集是作为模型的训练集输入,最终训练完成的模型可以对公交车实时的行车数据进行到站时间预测。
3.2 GBDT模型介绍
梯度提升树(Gradient Boosting Decison Tree,GBDT)是通过采用加法模型,
以及不断减小训练过
2021年福建电脑23
程产生的残差来达到将数据分类或回归的算法。
将GBDT模型应用到公交到站预测,首先需要考虑为GBDT选择哪些特征用于训练。
假设目前总共有M 个特征。
第一步需要从中选择出一个特征j,作为二叉树的第一个节点。
然后对特征j 的值选择一个切分点m。
若j的值小于m,则分为一类;若大于m,则分为另一类。
如此便构建了决策树的一个节点。
其他节点的生成过程也类似。
当决策树中的特征都排好序后便可以进行训练拟合。
最终用拟合好的模型实现公交到站时间的预测。
3.3 特征选取
在已有数据中,每辆公交车在每次到达或者离开站点时会自动上传一条包含车辆ID、日期和时间、站点位置等信息的数据,且知晓相应天气。
基于这些数据,可提取特征。
预测每条行车数据的当前位置到达终点站所需的时间。
根据当前车辆的前N辆车的到站时间求得,如图2所示,这种方法称为最近相似预测。
图2 最近相似预测
对于每条行车数据,预测前三天同时间同位置的车辆到达终点站时间。
对于在T时间戳位于第S 站的公交车B1,从前三天行车数据(路线相同)中查找是否有公交车B2(该车也可以是B1自己)在T时间戳位于S站点。
如果有,则根据数据计算公交车B2的到达终点站的时间,该时间即为前三天同时间同位置公交车到达终点站时间;如果没有则置空。
这种方法称为昨日相似预测。
4实验结果与分析
4.1实验结果
利用网格搜索方法为GBDT模型初始化一个最优参数搭配。
将所选取的特征数据整理,合并为多维向量,以8天的数据为一次训练量,作为GBDT 模型的训练输入,训练出的模型自动保存用于预测实时公交的到达终点站的时间。
4.1.1 预测结果
将训练好的模型用于约60k条行车数据的测试集上进行测试,分别设定5种不同的阈值统计测试准确率,测试结果如表3所示。
表3 预测准确率
阈值准确率阈值准确率
60s(1min)43.71% 240s(4min)89.48% 120s(2min)68.43% 300s(5min)93.10% 180s(3min)81.27% ——
4.1.2预测误差
为了更好地分析数据,以差值120秒为预测准确的阈值,统计出预测错误的数量,如图3所示。
图3 预测错误情况
其中,横轴代表从初始站到终点站共24站的48个站点序号,纵轴代表数量,即出现预测值与真实值差值大于120秒的次数,红绿条分别代表着实际值大于预测值和预测值大于实际值的情况。
从图3可以看出,红绿占比大约在1:1,且整体预测偏差数呈现缓慢下降趋势,其次在起始站点,预测偏差数很高;第34个站点序列开始偏差数骤降,达到了很好的预测效果。
4.2实验分析
4.2.1模型对比分析
为了与GBDT模型进行对比,本文分别将其他几种经典的回归模型也加入了训练,其中所有回归模型都是调用了第三方库scikit-learn,并且使用默认的初始化参数值,分别以120秒和300秒(误差范围)作为预测成功的阈值。
结果如表4所示。
表4 模型对比
模型准确率(120s)准确率(300s)SGD线性回归0.05 0.25
ElasticNet回归0.11 0.57
KNN线性回归0.23 0.64
Ridge岭回归0.42 0.64
GBDT 0.68
0.93
24 李文锋等:利用梯度提升树预测公交车到站时间 第4期
表4中的回归方法考虑了多种因素对于结果的影响,具有一定的解释性。
但是这些因素之间存在一定的相互作用,仅当输入变量是独立变量时回归模型才具有良好的效果,因此用回归模型预测公交车辆到站时间往往准确度不高。
综合来说,GBDT 模型表现的效果要优于其他回归模型。
4.2.2总结分析
如图4所示,模型预测效果明显优于单独使用最近相似预测或是昨日相似预测,其中横轴为阈值,纵轴为在这个范围内预测正确的概率。
可以看出,在所有阈值设定下,模型预测的准确率都是高于其他两种方法。
图4 不同预测方法对比
在对预测误差进行统计后发现,在越靠近终点站的站点预测出现错误的概率越小。
因此尝试采用循环预测的方式来检测,每日预测都是依据前八天的数据作为训练输入,连续统计17天的预测结果。
预测又分为对所有站点进行预测(全站预测)和只对那些到达18站及以后的车辆进行预测(18站后预测),对每种预测方法都分别设定2min 和3min 两种阈值统计预测成功的比率(成功率,即准确率),预测的结果如图5所示。
对比发现,不管是哪种阈值,第18站后预测的车辆到站时间平均准确率均高于全站预测。
图5 预测准确率
图6显示,在阈值设定为2min 时,全站预测的效果为68.43%;而预测18站以后的到达终点站
时间的准确率高达94.06%。
这表明,在越靠近终点站时预测准确度越高。
图6 不同阈值下的预测准确率对比
5 结束语
当前我国公交普遍通过采取排班制发车的形式来控制出车量。
为了避免道路上出现同路公交车遇到一起(串车)或者相隔太远(大间隔)导致的公交资源时空分布不均匀,需要经验丰富的公交调度人员对道路状况进行观察与预测,给出调度方案。
这种方式依靠个人经验估计,缺少辅助的算法,加上工作量大,经常容易出现错误预估,无法缓解“串车”和“大间隔”问题。
因此,本文提出了一种基于动态特征选择和梯度提升树的公交到站时间预测算法。
该算法基于GBDT 模型进行训练拟合,实验表明在一定误差范围内达到了理想的预测效果,可以为公交公司的排班调度提供相对准确的时间,进而作出合理有效的调度策略。
参 考 文 献
[1] 田秀珠,高悦尔,王成,等.轨道共线段公交发车班次优化.公路交通科
技, 2020, 37(1): 115-121,130
[2] 杨永平,陈红顺,汤健.一种基于历史数据与实时信息的公交路段行程
时间预测.计算机与数字工程, 2016, 44(5):850-853
[3] 杨敬锋,张南峰,蒋邵衡,陈展鹏,王立. 基于SOFM 和时间序列的纯电
动公交车续驶里程预测算法.中国卫星导航定位协会、郑州市人民政府.卫星导航定位与北斗系统应用2019——北斗服务全球融合创新应用.中国卫星导航定位协会、郑州市人民政府:中国卫星导航定
位协会,2019:10
[4] 李香云,任帅,张卫钢,等.基于高斯过程回归的公交到站预测方法.计
算机技术与发展, 2019, 29(10): 21-25
[5] 李华民,吴俊美,孙棣华,等.基于 RFID 电子车牌数据的公交行程时
间预测方法.中国公路学报
, 2019, 32(8): 165-173,182
0.00%
50.00%
100.00%
1min
2min
3min
4min
5min
模型预测
最近相似预测
昨日相似预测
0.00%
20.00%40.00%60.00%80.00%100.00%1
2
3
4
5
6
7
8
91011121314151617
全站2min 成功率 全站3min 成功率 18站2min 成功率
18站3min 成功率
43.71%
68.43% 81.27% 89.48%
93.10%
70.32% 94.06%
98.12% 99.62% 99.92%
0.00%
20.00%40.00%60.00%80.00%100.00%120.00%1min
2min
3min
4min
5min
全站预测
18站后预测。