北京高诚科技发展有限公司 北京 100000
摘要:为了有效预测车流量,本文提出了一种基于随机森林的车流量预测模型。预测模型的搭建综合考虑了天气特征和时间特征,同时参考同一特征下的车流量对异常点进行了修正,模型选用CART 算法生成回归决策树,并根据均方根误差(RMSE)和R2评估预测结果。为了验证模型的可用性,选取了顺德市某卡口7个月的车流量数据进行训练预测,结果表明,基于随机森林的车流量预测模型的拟合优度较高,具有较高的准确性和可用性。
关键词:随机森林;车流量预测;决策树
0 引言
拥堵是我国当前面临的最严峻的交通问题之一,对拥堵情况进行准确有效地预测是缓堵的有效手段。通过预测车流量反映拥堵情况是当前常用的方法,本文将以日为粒度对车流量的预测展开研究。
国内外的学者已用多种方法对车流量的预测进行了研究,其中典型的方法主要有历史趋势法[2]、灰度模型法[3]、非参数回归法、以及神经网络法等[4]。其中,历史趋势法在没有准确交通流数据或没有突发事件的情况下预测效果良好;灰度模型法的模型相对简单,但预测精度有待提高;非参数回归法适合交通流的非线性变化特征,但需要大量历史数据的支持以建立各个序列的内部联系;神经网络法需要复杂的训练过程,且依赖于初始值的选取[5]。除此之外,一些机器学习的方法也被用到了车流量预测中,如支撑向量机、随机森林、K-means算法和一些组合模型[6]等,其中随机森林算法的应用较为灵活,其具有极好的准确率,可以评估各特征的重要性,对于缺省问题仍可维持准确度,学习过程迅速且能够有效地运行在大数据集上。
1 随机森林算法
随机森林(Random Forest,简称RF)是通过集成学习的思想将多棵树集成的一种算法,其基本单元是决策树,即利用多棵树对样本进行训练并预测,输出的类别由个别树输出的类别的众数而定,是一种简单的 Bagging 思想。
决策树(Decision Tree)是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。常见的决策树算法有C4.5、ID3和CART。
2 基于随机森林的车流量预测模型的构建
2.1获取数据集
车流量数据通过各过车卡口获取,地域天气等相关数据可通过网络爬取获得。
2.2数据预处理
以10min为单位对卡口的车流量进行统计,并对缺失值和异常值进行处理,处理规则如下:
取与离群点特征相同的各点的均值。如某雨天工作日8:00--9:00期间,某卡口采集到的车流量数据异常(如因设备故障,采集数据为0),则取与其日期最近且同为雨天的3个工作日8:00--9:00期间的车流量均值作为该异常数据的修正值。所有异常数据均修正完毕后,以天为单位对车流量进行统计,作为样本数据。
2.3特征选取
本文考虑的主要影响因素为天气和时间,其中天气包括晴、小雨、阵雨、中雨、暴雨和多云,时间包括节假日信息、星期信息、周信息、月信息和日信息。
2.4模型建立
(1)将已预处理的数据集分为训练集D和测试集S两部分,训练集D中的样本容量记为N,样本属性容量记为M。
(2)从训练集D中取样本量为N的训练集θ,并生成与之对应的决策树T(θ),重复K次得到K个训练集θ1、θ2、......、θK,和随机森林的K个决策树 。
(3)选取 CART 算法作为回归决策树的生成算法,节点的分裂依据为最小均方差。生成决策树后,对抽样得到的所有训练集进行训练,形成随机森林。
(4)将测试集代入随机森林预测模型,培养每棵决策树,最终得到预测结果。
2.5模型评估
得到基于随机森林进行的车流量的预测结果后,采用均方根误差(RMSE)和R2对预测结果进行评估。其中,均方根误差用来衡量观测值同真值之间的偏差;R2介于0~1之间,R2越接近于1,则认为模型越精确,回归拟合效果越好。
3 基于随机森林的车流量预测实例
本文选取了顺德市某卡口2020年3月1日至9月20日的过车数据及相应的天气数据作为基础数据,进行基于随机森林的车流量预测分析。
3.1数据处理
依据本文2.2(1)的方法对实际采集到的车流量数据进行预处理,将天气类型进行分组编码。将2020年3月1日至8月31日的数据作为训练集D,将2020年9月1日至9月20日的数据作为测试集S,进行预测模型的建立和车流量的预测。
3.2模型构建
依据本文2.4所述的方法建立随机森林回归预测模型,利用sklearn机器学习框架,选取随机森林算法,共生成100棵决策树。将训练集D按照8:2的比例再随机划分为子训练集和子测试集,对所有的子训练集进行训练,将子测试集带入已经训练好的模型,结果如图1所示。
图1 训练集预测车流量与实际车流量对比
图1对训练结果按时间顺序排列,可以看出经训练得到的预测车流量与实际车流量的拟合度较高,其中3、4月份由于疫情原因,日车流量明显少于其它月份。其中评估指标RMSE为1057,R2为0.91,可以看出,训练后的模型在预测值与观测值之间的偏差以及拟合优度方面都较为理想,可用来进行后续的预测。
3.3模型评估
模型训练并测试好之后,将测试集S代入模型,对2020年9月顺德市该卡口的车流量进行预测。其中评估结果RMSE为3120,R2为0.49,可以看出,9月11日的观测值与预测值偏差较大,R2远小于0.8,拟合优度较差,经调查发现,9月11日观测车流量较低是由于服务器磁盘空间不足,数据读取不完全导致的。因此剔除9月11日的数据对测试集进行修正,修正后的预测车流量与实际车流量的对比图如图2所示,评估指标RMSE为1493,R2为0.82。
图2 2020年9月顺德市某卡口修正后的预测车流量与实际车流量对比
通过修正后的预测车流量与实际车流量的对比图可以看出,预测车流量曲线接近于实际车流量曲线,从预测结果评价指标可以看出,预测值与实际观测值之间的偏差较小,模型的拟合优度较高,因此认为本文提出的基于随机森林的车流量预测模型可以用来预测顺德市的日车流量。
4 结语
本文提出了一种基于随机森林的车流量预测模型,首先根据一定的交通流变化特征修正初始异常数据,再用修正后的数据进行预测模型的搭建,建成可用的随机森林模型后用于车流量预测。用该方法搭建的车流量预测模型对数据的依赖性较弱,对由于设备等问题引起的初始数据异常的情况仍具有较好的适用性。
参考文献:
[1]赵卓峰,杨宗润.基于残差修正GM(1,1)模型的车流量预测[J].计算机科学,2017,44(04):96-99+130.
[2]Kumar S V,Vanajakshi L.Short-term traffic flow prediction using seasonal ARIMA model with limited input data[J].European Transport Research Review,2015,7(3):21.
[3]刘素娟,包天悦,原大明.基于傅里叶级数残差修正TDGM(1,1)的车流量预测模型[J].价值工程,2020,39(13):240-242.
[4]陈通箭.基于改进小波神经网络的高速公路季节性车流量预测模型[J].智能城市,2020,6(03):22-24.
[5]周燎,张武雄,杨秀梅.改进贝叶斯动态线性模型在车流量预测中的应用[J].电子设计工程,2018,6(19):1-5.
[4]李钦铭.面向智能交通的交叉路口车流量预测技术研究[D].北京邮电大学,2017.