APP下载

基于支持向量机的交通事故影响因素分析

2022-03-26魏凌峰姜文龙

山东交通科技 2022年1期
关键词:高斯交通事故准确率

魏凌峰,姜文龙

(中国人民公安大学 交通管理学院,北京 100038)

引言

根据中国统计年鉴2020 年[1],2016—2019 年发生的机动车交通事故统计数据见表1。

表1 2016—2019 年事故统计

根据表1 中数据发现,2016—2019 年交通事故发生数在2017 年有所下降,2018 年开始有较大增长,与电动自行车的快速发展和机动车保有量的大幅上升有关。此外,死亡人数整体相对较为稳定且有小幅增减,受伤人数增长较多。非机动车的事故数从2016 年的17 747 起增加至2019 年的29 049 起,增幅约63.7%,表明电动自行车的事故也在不断增多。事故的不断增多会带来伤亡和经济损失,为减少我国交通事故的发生,采取相应措施进行针对性地预测与预防是十分必要的。

国内专家学者早已对交通事故的影响因素进行分析,李世民等[2]对北京市某交叉口进行了为期 4 a的数据研究,通过累计logistic 回归模型进行分析;邓晓庆等[3]利用BP 神经网络对道路交通量和道路线形进行研究,且获得较好的预测结果;姚琦和王林山[4]利用GA 和LM 的结合算法对BP 神经网络进行优化,从而对交通事故模型进行预测;张广泰等[5]利用多层次灰色与GA-BP 神经网络模型对乌鲁木齐事故多发黑点路段进行预测,验证其模型的可行性。

1 特征选择

1.1 随机森林模型

随机森林模型其根源为决策树模型,它是一种集成学习的组合分类算法。集成学习其核心在于把多个分类性能较弱的分类器组合起来,经过演变得出一个具有较高分类性能的分类器。而随机森林算法可以并行同时生成,这也为特征指标的选择提供了依据。

随机森林算法主要利用自主抽样法,流程为从原始数据中有放回的抽取多个样本,随后利用分类性能较弱的分类器(决策树)对先前抽取的样本进行训练,再将这些并行演算的决策树全部组合到一起,通过投票得出最终的结果即最后的分类。见图1。

图1 随机森林流程

利用随机森林的重要性评分功能,其原理是利用基尼系数(Gini),在随机森林的每一棵树的生成时,都是按照基尼系数在分裂前后的减少情况为分裂的依据,对某个节点进行分类。因此,在随机森林中可以按照特征N 进行分裂,随后通过其基尼系数的减少的总量对特征N 进行分析判断,确定其重要性。针对一般决策树的基尼系数:

式中:K—共有K 类;Pk—样本属于第K 类的概率。

基尼系数越大,则不确定性就越大;基尼系数越小,不确定性越小,数据分割越彻底,越干净。

使用随机森林选取特征重要性具有较多优点,如在数据集上表现良好,在当前很多数据集上,相对其他算法具有较大优势,两个随机性的引入使得随机森林对于数据的缺失值、异常值等具有较低的敏感性;训练速度快,可以对多个变量的重要性进行排序;实现简单等。但也有一定缺点,如在某些缺失大量数据或存在较多异常值样本集上,RF 模型容易陷入过拟合;取值划分比较多的特征容易对RF决策产生更大的影响,从而影响拟合模型效果。

1.2 数据处理

针对交通事故原始数据集进行一个筛选,将不符合本次分析内容的特征进行删除,最后留下16 个特征指标,利用事故类型作为因变量共分为三类:财产损失(轻度)、伤人(中度)、死亡(重度)。针对16 个特征属性747 条数据利用Matlab 进行数据预处理,再经过数据筛选、补全缺失值等处理过程后得到完整的数据集。随后利用随机森林RF 对数据集的特征重要性进行计算,同时进行归一化,其结果由高到底见表2。

表2 特征重要性占比

下一步对数据集进行RF 预测,利用原数据集与指标选取后的数据集进行准确度对比,找出准确度最高的数据指标集合。在此之前需要进行验证来测试算法准确性,以防止过拟合的现象,在Matlab 中可以利用交叉验证法与留出法进行验证。采取十折交叉验证法,其原理为将数据集分成10 份,依次将其中9 份作为训练数据,1 份作为测试数据进行试验。每次试验都会得出相应的正确率(或差错率)。将10 次的结果取算术平均值,将平均值作为该算法的大致精度,同时10 次交叉验证并不只做一次,往往是多次进行。10 次交叉验证,将10 次的结果再次求其算术平均数,这样可以减少误差提高算法准确性的精度。经过计算得出RF 模型准确率见表3。

表3 RF 模型准确率

结果发现在删除最后两个的特征时,模型的准确率只有很小幅度地提升,在删除第三个特征值的时候模型准确率有了较大地提高,若继续删除的话也只有小幅度地提升。为保证数据分析的多样性,最终确定使用12 个特征值:事故类型(SGLX)、事故形态(SGXT)、车辆间事故(CLJSG)、直接财产损失(MONEY)、天气(TQ)、事故认定原因(人员操作)(SGRDYY)、能见度(NJD)、照明条件(Light)、道路类型(DLLX)、路口路段类型(LKLULX)、道路物理隔离(DLWLGL)、路侧防护设施(LCFHSS)、道路安全属性(LDAQSX)。

2 SVM 模型评价分析

2.1 模型选择

确定数据特征后利用Matlab 进行模型分析,为确保最大准确率,在分析前利用Matlab 对所有的模型进行训练,得出最优模型,其模型结果见表4。

表4 模型准确度

通过模型训练可知,准确度最高的为支持向量机(SVM)模型,因此本文拟采用SVM 对交通事故的严重程度影响因素进行分析。

2.2 模型介绍

高斯核函数[6]首先将原来的数据点映射成一种新的特征向量,然后得到新的特征向量点乘的结果。对高斯核函数来说,本质就是将每一个样本点映射到一个无穷维的特征空间,这就表明高斯核函数对于样本数据的变形是非常复杂的,但是经过变形,再去点乘,可以得到十分简单明了的结果,表明了核函数的高效。

高斯函数公式:

因此,可以利用高斯核SVM 对本次交通事故影响因素进行分析。

2.3 模型评价指标

SVM 模型主要采取混淆矩阵、F1 分数、ROC 曲线以及AUC 值进行评价。其中混淆矩阵的计算指标见表5。

表5 指标介绍

通过计算表5 中相应指标结果,可推算出评价模型效果的指标:真正类率TPR、假真类率FPR、真负类率TNR=1-FPR、准确率ACC、精确率Precision、召回率Recall 以及调和平均值F1。

将计算的指标绘制ROC 曲线,ROC 曲线是由FPR 和TPR 的点连成。横轴是FPR,纵轴是TPR。而AUC 即为ROC 曲线下方的面积,AUC 主要用于衡量二分类问题中机器学习算法性能或者泛化能力。

2.4 模型结果分析[6]

利用Matlab 实现高斯核函数SVM,获得相应的评价指标结果。

(1)混淆矩阵。混淆矩阵可见图2,通过混淆矩阵可知原本是伤人事故的预测准确率最高,只有三个被误分类未死亡事故,虽然财产损失误分类的个数也只有三个,但由于其本身数量较少,其错误率达11.1%。同时也可以得出真正类率TPR 与真负类率TNR 等。

图2 混淆矩阵

(2)ROC 曲线。ROC 曲线上r 任意一点都反映着对同一信号刺激的感受性。通过ROC 曲线可以计算出AUC 值,其计算方法通过Matlab 软件实现。

为了验证其最优性,选取另外两种模型决策树与朴素贝叶斯神经网络进行ROC 曲线、AUC 值的对比分析,结果见图3。

图3 ROC 曲线

由图3 分析可知,高斯核函数SVM 能较好地预测交通事故严重程度,故将数据集采用随机抽取的方式抽取测试集进行预测,抽取样本为所有样本的20%即150 条数据,预测结果见表6。为证明其最优性,采取SVM、决策树与朴素贝叶斯神经网络进行对比预测。

表6 模型预测准确度

通过对比发现,对于交通事故严重程度的预测,高斯核函数SVM 具有较好的预测准确性,其准确率达95.72%。使用朴素贝叶斯神经网络[7]对事故严重程度进行预测[8]准确率只有63.72%,准确率较低。

3 结语

通过随机森林对事故数据的特征指标进行重要性计算可知,对于事故发生最重要的特征因素为人员操作不当[9],主要存在三个方面:非机动车不按规定行驶、行人不按规定行驶和机动车不按规定行驶。因此,为减少道路交通事故的发生,需要对这三类人员进行交通安全教育。

基于交通事故数据分析,验证高斯核函数具有95%的较高预测准确性,为未来事故预测提供一定的参考,同时为交通安全的改善提供方向。不足之处为数据量相对较少,只考虑了部分城市道路,涉及范围较少,可能存在一定的偶然性,在今后的研究中将继续逐步解决这些问题。

猜你喜欢

高斯交通事故准确率
小高斯的大发现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
不同寻常的交通事故
预防交通事故
天才数学家——高斯
高速公路车牌识别标识站准确率验证法
一起高速交通事故院前急救工作实践与探讨
有限域上高斯正规基的一个注记