您好, 访客   登录/注册

基于随机森林的车辆驾驶行为分析方法研究

来源:用户上传      作者:

  摘要:针对目前已有的货运车辆定位数据,提出了采用随机森林算法对数据进行分析和挖掘的方法,根据速度、方向、时间、经纬度等定位数据指标,分析判断驾驶员是否超速、是否疲劳驾驶,是否有定位漂移现象等不规范驾驶行为的存在,以及不规范程度,最后得出“安全”“一般”“危险”三种分析结果。经多次实验,该方法能够达到很好的分析效果。根据分析结果,驾驶员和企业相关部门可以进行相应的处理,以达到车辆正常、安全行驶的目的。关键词:随机森林;决策树;车辆定位;行为分析
  中图分类号:TP391 文献标识码:A
  文章编号:1009-3044(2019)35-0204-03
  1 概述
  近年来,汽车已经成为我们日常出行必不可少的交通工具。随着汽车保有量的不断增加,对车辆的定位监管也成为当下的一个趋势。尤其是对于国家规定的道路运输车辆,必须安裝、使用具有行驶记录功能的卫星定位装置,道路运输企业必须使用车辆定位监控系统对其监管的车辆进行实时定位监控,确保车辆正常、安全行驶。
  在使用车辆定位监控系统对货运车辆进行定位监控的过程中,发现有很多驾驶员不规范驾驶导致车辆出现行使轨迹异常的现象。比如超速行驶、疲劳驾驶、车辆行驶轨迹不完整,以及出现位置漂移的现象较为严重。其中的原因包括人为因素和自然因素两个方面,自然因素方面主要是因为北斗卫星导航系统尚处于完善阶段,加上大气折射、楼房建筑的遮挡都可能会使定位精度出现偏差。另一方面,《中华人民共和国道路交通安全法实施条例》第六十二条规定,“驾驶机动车不得有下列行为:连续驾驶机动车超过4小时未停车休息或者停车休息时间少于20分钟[1]。”由于货运物流行业需要时效性,需要提高运输效率,所以驾驶员有时会将车载定位终端关闭,逃避监管,连续驾驶超过4小时甚至达到10小时也都是很常见的事,因此出现超速行驶、疲劳驾驶和轨迹漂移等现象。
  为了提高车辆行驶的安全性,本研究提出了基于随机森林算法对车辆定位数据进行分析研究的方法,深度挖掘驾驶员的不良驾驶行为,将定位数据形成驾驶行为分析报告,并及时反馈给车辆驾驶员和车队企业相关部门,进行调查分析和批评教育等措施。本研究所提到的车辆均为道路货运车辆,已有的数据也是货运车辆的定位数据,包括历史数据和实时数据。主要的研究因素包括速度、方向、时间、经纬度等,通过对驾驶行为的多个特征属性进行度量,并且创建多个决策树,最终形成随机森林。根据分析结果,得出是否超速、是否疲劳驾驶等不规范驾驶行为信息,以及是否存在位置漂移现象等信息。通过对决策树的投票统计分析,将车辆驾驶员的驾驶行为进行分类,根据随机森林分类统计,将驾驶行为归类为“安全”“一般”和“危险”三种结果中的一个。经多次实验研究,该方法能达到很好的分析效果。
  2 随机森林
  2.1随机森林原理
  随机森林(Random Forest)是机器学习算法中的一种有监督学习算法,顾名思义,它是由许多决策树构成的森林,并且该森林拥有某种方式的随机性[2]。该算法是为了解决单一决策树可能出现较大误差和过拟合的问题。随机森林中的每一棵决策树都是没有关联的,这样能够降低单一决策树可能产生的片面性和判断的不准确性[3]。在构造随机森林之后,每当有一个新的样本进入随机森林中,森林中的每一棵决策树都进行判断,并将该样本进行分类,最后统计分析哪一类被选择的次数最多,将被选择次数最多的结果作为随机森林最终的结果。 随机森林采用Bagging算法,是在Bagging的基础上改进而来的,它的基学习器是CART决策树[4]。随机森林将决策树作为Bagging中的模型,采用有放回的随机取样的方法生成多个训练集,对每个训练集分别构造一棵决策树,在进行节点切分的时候,并不是对所有的特征选择最优的进行切分,而是随机地选取n个特征,从这n个特征中选择最优的特征进行节点切分,从而进一步降低了模型的方差,可以避免出现过拟合的情况[5]。
  2.2随机森林算法描述
  1)设训练总样本的个数为N,每棵决策树采用bootstrap采样方法,从这N个训练集中有放回的随机抽取n个样本作为该决策树的训练样本。
  2)设训练样本集中的特征的个数为M,在决策树的节点进行切分时,在M个特征中随机的选择m个特征,然后从m个特征中选择一个最优的特征的进行切分。m越小模型方差也越小,但是偏差会越大,需要通过交叉验证的方式进行调参优化。
  3)每棵决策树的节点不断地进行切分,直到该节点的所有训练样本都属于同一类,不用再对节点进行剪枝。由于决策树采样的过程是具有随机性的,所以几乎不会出现过拟合的情况。
  4)最后对分类结果进行统计,将投票最多的分类结果作为整个随机森林的分类结果。
  3 随机森林驾驶行为算法分析
  结合机器学习相关思想,本文提出了一种基于随机森林的车辆驾驶员的驾驶行为分析方法,步骤如下:
  1)将北斗车辆定位数据集通过bootstrap方法有放回地重复随机抽取样本生成训练样本集合。
  2)采用C4.5算法构建决策树,对决策树的分裂属性进行选择。
  相关算法定义及公式如下所示:
  1)设D是训练样本集,类别属性具有m个不同的值,则有m个不同类Ci=1,2,…,m),Di是Ci的样本集合,则信息熵的计算公式为:
  决策树的构造流程如下:设训练样本集为D,D中的属性为速度、方向和时间,属性集为A,A中的属性为0、1、2,表示安全、一般和危险。
  1)创建节点N;
  2)如果D都在同一个类C中,则返回N作为叶节点,用类C标记;
  3)如果A为空,则返回Ⅳ作为叶节点,标记D为样本树种最多的类;
  4)如果是通过增益率选取最佳属性,则将a0标记为N,并在属性集中去掉a0;   5)N根据a0的值划分成不同的子集Ds。如果Ds为空的话,则将N标记为叶节点,标记D为样本树种最多的类;如果Ds不为空,在子集Ds和剔除了a0的新的属性集Aa0中再选出最佳属性a1,标记为新的节点N,并在属性集中剔除a1;
  6)重复执行以上步骤n次,会生成n棵决策树,最终形成随机森林。经过每棵决策树对测试数据的决策投票,分析判断最终得出决策分类结果。
  4 实验研究
  本研究根据已有的车辆监控平台,平台目前有1300多辆货运车辆,选取2018至2019最近两年将近95万条车辆定位数据,本文只筛选出2019年5月份的车辆数据,从中选出10辆车辆,采用随机森林算法,以速度、方向、时间作为特征属性,提出驾驶人的驾驶行为分析方法研究,判断出该车驾驶员的驾驶行为属于安全、一般或是危险类别中的一个。
  4.1实验环境
  4.2数据集
  4.2.1训练集数据
  原始定位数据集是通过车载终端获取得到的,终端每30秒传输一次定位数据,数据包括车牌号、速度、方向、时间、经度、纬度等等,本文只选取以上几个属性进行研究,并加上分类属性,“0”表示“安全”“1”表示“一般”“2”表示“危险”。训练集样本示例如下表所示:
  4.2.2测试集数据
  测试集数据是车辆定位原始数据,并经过进一步数据清洗,过滤空数据和无用数据之后筛选出来的。无论是对历史数据进行分析还是实时数据,都需要对原始数据进行操作,因此测试集也是原始数据。测试集样本示例如下表所示:
  4.3实验结果分析
  本实验使用PyCharm开发工具,调用sklearn中的Random-ForestClassifier方法完成随机森林算法对驾驶行为的分析。在实验过程中,有两点需要特别注意,第一个是样本数据集的划分,将数据集分为训练集和测试集两部分,训练集所占总体数据集的比例不同,预测的精确度也不同。将训练集占总体数据集的比例作为分离比,根据大量的现代统计学试验验证,当分离比为70%左右时,生成的随机森林模型的性能最好,精确度最高[6]。在本实验中,设置不同的数据集分离比,根据下图所示,当分离比为72%时精确度最高,最高精确度可达85%左右。训练集分离比与模型精确度关系图如下图所示:
  第二点是决策树数量的选择,在随机森林中,决策树的数量会影响随机森林模型预测的精准度。在本研究过程中,决策树的棵数从0开始,每次增加50棵树,从下图可以看出,当随机森林模型中决策树较少时,模型整体精准度会随着决策树数目的增加而提高,当决策树达到500棵时,模型的精准度变化较小,继续增加决策树数目,模型的精准度不会有所提高,反而会增加模型的复杂性和计算量,致使模型效率降低。随机森林中决策树的数目与模型精确度关系如下图所示:
  综上,本实验采用总体样本集的72%作为训练集,剩下的28%作为实验测试集,并且随机森林中决策树的数目选择为500,实验选取50辆车一天的行驶定位数据,将分类结果与根据实际情况对比,实际分类准确率可达92%左右,实验结果如下表所示:
  5 结束语
  随机森林算法是目前常用的机器学习算法之一,能够处理高维特征,模型训练速度比较快,对数据的适应能力强,既能处理离散型数据也能处理连续型数据,数据集无须规范化。与决策树相比,虽然计算速度比单个决策树慢,但是具有更高的预测准确率,对异常值和噪声有很好的容忍度,不容易产生过拟合的情况。本研究通过北斗车辆定位数据,对数据进行筛选,建立决策树,构造驾驶行为随机森林模型,最后用Python语言实现随机森林算法,并验证了模型的准确率。该算法不仅适用于历史轨迹数据,也可以应用于实时数据预测中,根据驾驶员实时定位数据,及时做到不良驾驶行为的预测,提示驾驶员或者相关管理部门进行监管,已达到提高驾驶安全性的目的。
  参考文献:
  [1]中华人民共和国道路交通安全法实施条例.中华人民共和国道路交通安全法实施条例[J].司法业务文选,2004(21):4-10.
  [2]黄亮,董智浩,张锐明.基于随机森林的驾驶行为分析[J].无线互联科技,2018,15(7):72-76.
  [3]朱冰,李伟男,汪震,等.基于随机森林的驾驶人驾驶习性辨识策略[J].汽车工程,2019,41(2):213-218.
  [4]余以胜.基于随机森林的用户行为识别模型研究[J].电脑知识与技术,2017,13(3):156-157.
  [5]庄明科,白海峰,谢晓非.驾驶人员风险驾驶行为分析及相关因素研究[J].北京大学学报:自然科学版,2008,44(3):475-482.
  [6]刘凯利,李晋宏.基于决策树C4.5算法的个人驾驶行为分析[J].软件,2016,37(6):83-86.
  【通联编辑:梁书】
  收稿日期:2019-10-24
  作者简介:陈东攀-(1994-),男,河南新乡人,硕士,华北水利水电大学信息工程学院,主要研究方向为数据分析、人工智能、計算机技术等。
转载注明来源:https://www.xzbu.com/8/view-15123460.htm