基于关联规则的道路交通事故多发点成因分析

2021-03-30 06:23王颖志毛永波王立君
关键词:阈值交通事故关联

王颖志,毛永波,王立君

(1.浙江警察学院交通管理工程系, 浙江杭州 310053;2.浙江大学地理信息科学研究所, 浙江杭州 310028)

0 引言

道路交通事故多发点成因分析需要借助各种分析模型来挖掘事故数据内部的影响因素,常用的分析模型有广义线型模型、层次分析模型、神经网络模型、灰色关联模型等。Flahau等人[1]考察了研究区域内每个基础研究单元的道路状况和环境状况,并将广义线型模型中的Logistic模型来回归模拟这些因素对道路交通事故的影响。沈正宏[2]和陈镜晰等人[3]分别使用灰色关联分析法和模糊聚类分析方法来探索事故数据中多种环境因素和事故严重程度指数之间的内在关系。

传统关联规则研究一般使用支持度、置信度、提升度等评价因子来对关联规则兴趣度评价,除此以外也有许多改进的评价因子,如新颖度[4]、改进的规则兴趣度[5]等。汪愿愿[6]等人整合了支持度、置信度、提升度、余弦度量、改进度、J度量等评价因素,构建兴趣度评价关联函数即每个因素的权重系数,以排序可拓时空关联规则。

许多学者在传统关联规则算法的基础上进行改进,以适应事故多发成因分析场景。胡国超[7]、Sriratna Pannawat[8]等人将关联规则和粗糙集理论知识结合在一起。贾熹滨[9]等人应用带约束条件的关联规则来挖掘交通事故数据,以提高挖掘效率。张锋[10]等人基于Apriori算法提出了加权关联规则,使关键事故源获得更高的关注度。

在事故多发点成因分析的场景中,使用关联规则中传统的兴趣度度量方法和Apriori算法存在许多局限,如无法挖掘出小概率因子对交通事故的影响,无法明确评价成因和结果之间的关联程度,在大量因子的情况下挖掘效率低,挖掘结果中存在大量不感兴趣的关联规则等。基于这些局限,本文在传统兴趣度度量方法和Apriori算法的基础上做出改进,使用频数分析法和改进的关联规则方法对事故多发点进行成因分析,并通过对方法实现的难易程度、分析效率和结果的有效性三方面进行对比,以使挖掘结果尽可能地贡献于事故多发点的成因分析。

1 关联规则

关联规则可以用于挖掘数据内部隐藏的频繁的组合模式,这些模式正是机器学习中的知识,可用于指导机器或决策者做出相关的执行动作。关联规则既指一种从大体量数据中挖掘隐式的数据规律的数据挖掘方法,也指该方法挖掘而来的数据规律。传统的关联规则算法有Apriori、FP-growth和灰色关联法等,关联规则需要通过多种指标判断,才能从候选集中挑选出有效的规则。

2 基于交通事故场景而改进的关联规则

鉴于交通事故发生地所在环境的复杂性和事故的严重性,将基于Apriori算法的关联规则用于分析事故多发点的成因时存在以下3点问题:

(1)不能只关注频发因子而忽略小概率因子。在Apriori算法中,小概率因子常常因支持度过低而止步于候选集。

(2)在剪枝步骤中,若想尽可能地保留小概率因子,则需要降低支持度阈值。但是这会产生大量的频繁项集,降低关联规则的挖掘效率,并且小概率因子依然隐藏于大量的频繁项集中,无法研究其对交通事故的影响。

(3)形如“上午→雨天”、“重大事故→死人”等的关联规则即便是有效的,也无法对事故多发点的成因分析做出贡献。

2.1 改进Apriori算法

为了考虑小概率因子,需要先降低支持度阈值,这会导致每一次迭代产生的候选集都能成为频繁集。k项候选集越多,下一次迭代产生的k+1项候选集也将累乘式增加,因此需要尽可能早地过滤掉迭代初期非频繁的候选集。考虑采用以下3点方法来限制每次迭代中候选集的产生:

(1)在生成k+1项候选集时,传统Apriori算法是将两个只有一项不同的k项频繁集连接产生k+1项候选集,其本质是想通过已有的频繁集来产生所有不重复的多一项的候选集。因为一项频繁集数量远小于k项频繁集,考虑将这一步骤改进为将一个k项频繁集和一项频繁集连接来生成k+1项候选集。其结果是一致的,但却大大减少了循环遍历的次数。

(2)崔贯勋[11]等人在对Apriori算法的研究中提出一则推论:若存在k项候选集P,使得k-1项频繁集中包含P的频繁集的数量

(3)既然不包含事故评价属性的关联规则是不感兴趣的,如“上午→下雨”,考虑直接删除不包含事故评价属性的k项候选集。该操作不应用于一项候选集,因为一项频繁集致力于所有高项候选集的产生。

改进后的Apriori算法获取频繁项集的步骤如下:

(1)提取某事故多发点内的所有交通事故数据,将其存储成事务数据库,存储结构为每一行表示一则交通事故记录,每一则记录都有自己的基本属性、评价属性和环境属性。

(2)首次扫描事务数据库,收集所有事故数据中不重复的因子作为一项候选集。

(3)在一项候选集中根据较低的支持度阈值剪枝产生一项频繁集。

(4)在第k次迭代中,在k项频繁集的基础上筛选出k+1项频繁集。其方法是首先将一个k项频繁集和一个一项频繁集连接来生成k+1项候选集,并要保证该k项频繁集并不包括该一项频繁集;其次判断该选集是否包含事故评价属性,若不包含则剔除;然后统计k项频繁集中包含该k+1项候选集的数量,若数量小于k,则判断其不频繁并剔除;最后根据支持度阈值剪枝获得k+1项频繁集。

(5)若k项频繁集中没有项集或只有一个项集,则停止迭代。

2.2 正态提升度

关联规则中的相关性系数是用来衡量前后项之间的关联程度,关联程度不仅有强弱之分,还有正负之分。常用的相关性系数有提升度(Lift)、确信度(Conviction)、规则兴趣度(RI)、全置信度(ALL)、余弦距离(Cosine)等。大部分相关性系数都能很好地衡量前后项之间的相关性,但应用于交通事故场景时或多或少都有缺陷。所以,本文引入正态提升度(Normality)[12],它是提升度和数理统计理论结合的成果,突破了提升度无法区分成因和结果以及无法准确判断前后项独立的局限。正态提升度基于两点假设:

(1)前项出现和后项出现都是随机事件,且都服从正态分布,则它们的联合分布服从二元正态分布,边际分布服从一元正态分布。

(1)

式中,N表示交易总量。

对于相关性的正负,X和Y正相关表示X的发生对Y的发生有促进作用,相反地,X和Y负相关表示X的发生对Y的发生有抑制作用。在分析事故多发点的成因时,并不关心事故成因因子对事故发生的抑制作用,这是因为在交通事故数据中,所有因子都是以事故发生的情况下记录下来的,而并非是为了应对事故发生而做的处理。因此正态提升度阈值是一个正数,只有当正态支持度大于0且大于该阈值的情况下,才称之为强关联的关联规则。

2.3 前后项约束

在引入正态提升度作为相关性系数后,从频繁集生成关联规则的流程如下:

(1)获取频繁集内的所有非空子集,组成子集集合;

(2)从子集集合中获取一个子集,用和该频繁集取余的方法产生该子集的补集,形成“子集→补集”的关联规则;

(3)计算该关联规则的支持度、置信度和正态提升度,输出置信度和正态提升度都超过相应阈值的关联规则,并同时输出其支持度、置信度和正态提升度;

(4)对所有子集重复步骤2~3。

虽然在改进的Apriori算法中已经过滤掉不包含事故评价因子的候选集,但是剩下的候选集经过如上生成关联规则的流程依然会产生因果关系错误的关联规则。如频繁集{上午、下雨、重大事故}中包含事故评价因子“重大事故”,最感兴趣的关联规则形态是“上午+下雨→重大事故”,但事实上在不考虑兴趣度度量方法的情况下,依然会产生形如“上午→下雨+重大事故”、“重大事故→上午+下雨”的关联规则。

本文采用前后项约束的方法对频繁集所产生的关联规则进行过滤,旨在排除所有因果关系错乱的关联规则,具体方法为对频繁集产生的子集使用前项约束,并对其补集使用后项约束,其流程如下:

(1)获取频繁集内的所有非空子集,使用前项约束删除所有包含事故评价因子的子集,剩下的所有子集组成子集集合;

(2)从子集集合中获取一个子集,用和该频繁集取余的方法产生该子集的补集;

(3)对该补集使用后项约束,判断该补集是否只有事故评价因子,若是,则形成“子集→补集”的关联规则,若不是,则获取下一子集并回到步骤2;

(4)计算该关联规则的支持度、置信度和正态提升度,输出置信度和正态提升度都超过相应阈值的关联规则,并同时输出其支持度、置信度和正态提升度;

(5)对所有子集重复步骤2~4。

3 事故多发点成因分析

本文选择2013~2015年浙江省某市的一个事故多发点作为研究对象,共计205例道路交通事故,28个属性,其中包括基础属性、评价属性和环境属性3种(见图1)。

本文分别使用频数分析法和关联规则算法,对该事故多发点内共计205则交通事故数据进行数据挖掘,并就方法实现的难易程度、分析效率和结果的有效性3方面,对比两种方法在交通事故多发点成因分析场景下的适用程度。

图1 交通事故数据属性分类图

3.1 基于频数分析法的成因分析

频数分析法是一种用变量在整体中出现的次数来评价变量的重要程度的方法。在事故多发点成因分析的场景下,该方法用某因子的频数来衡量影响值,频数越大,表示该因子在事故多发点中约占主导地位。统计各成因属性和评价属性内所有因子的频数,见表1和表2。

表1 事故成因因子的频数统计表

表2 事故评价因子的频数统计表

频数分析法在实现上非常简单,只需统计各属性中每个因子的频数,然后根据频数进行排序即可,并且其分析结果能较好的展示同属性各因子之间的联系。

3.2 基于关联规则的事故成因分析

3.2.1 兴趣度度量指标的含义和阈值

在事故多发点成因分析的场景中,所有的兴趣度度量指标都是基于事故数据的,即因子X的概率表达式P(X)并非是指X发生的概率,而是指X在事故数据中出现的概率。相应的,所有兴趣度度量指标在本文中的含义也发生了变化。对于关联规则“X→Y”而言,支持度的含义为事故成因X和事故结果Y同时出现的概率;置信度的含义为在事故成因X出现的情况下,事故结果Y同时出现的概率;正态提升度的含义为事故成因X的出现对于事故结果Y出现的贡献率,正值表示强化关系,负值表示弱化关系。此处所有的“出现”都不等同“发生”,如对于关联规则“下雨天→重大事故”,置信度P(Y|X)表示“下雨天”在事故记录中出现的情况下,“重大事故”同时出现的概率,而并非表示“下雨天”发生的情况下,“重大事故”发生的概率。这是由于存在“下雨天”发生而没有发生交通事故的情况,而交通事故数据并不会记录这种情况。

在理解各种兴趣度度量指标在交通事故多发点成因分析场景下的意义之后,还需要为其设定阈值,用来从候选集中产生频繁集,以及从频繁集中产生强关联且感兴趣的规则。为了在剪枝步骤中保留小概率因子,将支持度阈值降低到4/N,即只要小概率因子在总数中发生4次以上,则能成为频繁集;置信度阈值设置为0.7;当总数为205,置信水平为0.001时,正态分布在单边检测时的临界值为3.131,因此正态提升度阈值设置为3.131。

3.2.2 基于评价因子的成因分析

基于这3个阈值和前后项约束,从该事故多发点内的205则交通事故数据中挖掘得到的关联规则数共11 286条。交通事故数据拥有71个成因因子,16个评价因子,在低支持度阈值的情况下,基于这些因子所提取的关联规则必然是数以千计的。

基于这些关联规则,依然无法进行有效的分析。考虑先将所有关联规则根据后项,即评价因子进行分类,然后对每一类的关联规则根据正态提升度- 置信度- 支持度的优先关系进行降序,选择前5位作为该评价因子下的关联规则代表。以评价因子“侧面相撞”为例,其五大成因关联规则及其各兴趣度度量指标值如表3所示。

表3 各评价因子的五大成因关联规则

对关联规则分析结果进行逐一分析和整体分析都能为道路交通安全管理相关部门提供相应的管理建议,如上述对某事故多发点内侧面相撞事故的分析结论就能推出如下建议:加强该事故多发点内对侧面相撞事故的主要参与者(电动自行车和小型客车)于主要发生时间(工作日的清晨)和主要天气环境(东南风)下的管控。

3.2.3 小概率评价因子的成因分析

小概率事件是指在事故记录中出现的频率极低的因子,它们只有在低支持度阈值下才能出现在关联规则挖掘结果中。在关联规则中,小概率事件可以分为小概率前项和小概率后项,小概率前项可以是诸如雪天、雾霾等小概率天气状况或是极弯道路、砂石道路等少见道路情况;小概率后项可以是翻车、逃逸、同向刮擦等低发事故类型。正因为小概率事件出现概率小,往往被传统的交通事故多发点成因分析方法所忽略,导致对其监控、分析和预测相关的研究都很少。

本文中引入正态提升度来衡量前项对后项的贡献度,以便突出小概率事件对事故多发点的影响。同时将小概率事件设定为支持度5%以下的一项频繁集,即频数低于5%的因子。但由于小概率事件本身的事故记录较少,导致对关联规则进行逐条解释显得乏力,因而必须对其进行总体分析。从关联规则分析结果中提取含有小概率事件的规则,分别选取雪天、乡镇进城区道路、行人作为小概率前项,翻车、逃逸、同向刮擦作为小概率后项进行总体分析,其分析结果如表4和表5所示。

表4 小概率前项的关联规则总体分析结果

表5 小概率后项的关联规则总体分析结果

3.3 对比分析

一切交通活动都是发生在“人- 车- 路- 环境”这个系统中的,不能把一起交通事故看作是某种属性或某个因子独立导致的,往往是多种属性或多个因子共同作用的结果。虽然频数分析法非常容易实现,处理速度快,而且易于扩展,但其始终无法考虑到属性之间的内在关联。相比较之下,关联规则算法方法实现复杂,处理速度慢,但能从数据中挖掘出多因子之间的内在联系,能为道路交通安全管理相关部门提供在复杂道路环境下顾及多因子的管理建议。

本文中使用的改进关联规则基于交通事故多发点成因分析的应用场景做出优化和拓展,使其在规则挖掘的效率和兴趣度上都有所增强,并能做到在有效挖掘的基础上兼顾小概率事件对事故多发点的影响。

猜你喜欢
阈值交通事故关联
基于BPNN-AdaBoost的隧道交通事故数预测研究
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
预防交通事故
改进小波阈值对热泵电机振动信号的去噪研究
“一带一路”递进,关联民生更紧
搭乘同事车辆下班回家途中发生交通事故是否认定工伤
奇趣搭配
智趣