掌桥专利:专业的专利平台
掌桥专利
首页

一种基于梯度提升树模型的高速公路事故预测方法及系统

文献发布时间:2023-06-19 12:18:04


一种基于梯度提升树模型的高速公路事故预测方法及系统

技术领域

本说明书一个或多个实施例涉及交通安全技术领域,尤其涉及一种基于梯度提升树模型的高速公路事故预测方法及系统。

背景技术

随着高速公路运行管理体制的发展,高速公路事故数据记录越来越齐全、完善,使得利用真实高速公路历史事故数据对事故进行预测成为了可能;

当前的道路交通事故预测运用不同地域的长期的历史数据研究交通事故同环境道路几何条件、天气、交通量等多个因素之间的关系或者是交通事故的发展趋势,仅能输入多个粗粒度均值数据并给出多个拟合参数,不能基于真实交通事故数据对交通事故的发生进行很好的预测。其中专利号CN201910615709.5的《一种交互式高速公路交通事故预测方法》仅基于几何数据、交通设施数据及其他交通数据对交通事故进行预测,采用固定的阈值,无法根据实际事故数据对事故进行预测。专利号CN201911294152.6的《一种基于混合地理加权回归的交通事故预测方法》,仅可以根据区、县区、街道、交通小区、邮编区域和人口普查区粒度的数据进行事故预测,无法精细到单个事故。专利号的CN201911084528.0《基于多维数据的交通事故黑点预测方法方法、装置及介质》主要根据车辆的CAN总线数据与车辆传感器接收的数据进行预测。

上述交通事故预测方法均不能对各路段当前的风险状态进行量化,使得管理者可以及时获取当前的安全风险信息。

发明内容

有鉴于此,本说明书一个或多个实施例的目的在于提出一种基于梯度提升树模型的高速公路事故预测方法及系统,以建立一套基于数据驱动模型的交通事故预测方法,对各路段当前的风险状态进行量化,使得管理者可以及时获取当前的安全风险信息。

基于上述目的,本说明书一个或多个实施例提供了一种基于梯度提升树模型的高速公路事故预测方法,包括以下步骤:

收集历史事故数据,形成交通事故数据集;

对交通事故数据集进行数据清洗;

对数据清洗后的交通事故数据集进行数据预处理;

对数据预处理后的交通事故数据集进行特征提取,得到用于预测事故发生的关键变量;

结合梯度提升树模型,构建动态事故预测模型;

将交通事故数据集输入动态事故预测模型,利用关键变量对动态事故预测模型进行训练,获得训练后的动态事故预测模型;

将在线数据输入训练后的动态事故预测模型中,获得输出的预计事故值。

优选地,数据清洗包括数据格式化、数据异常值剔除和数据空缺值填补。

优选地,历史事故数据包括但不限于事故发生时间、事故发生路段、事故所处车道方向、事故发生天气和事故造成损失情况。

优选地,数据预处理包括:

通过数据聚合,根据事故发生时间和事故发生路段,统计自第一个交通事故开始以来,各路段、各时间段发生的事故数量和事故造成损失情况,形成交通事故案例聚合数据库;

通过独热编码方式,将交通事故案例聚合数据库的事故发生天气数据分隔为离散的多维向量;

将事故发生时间与实际的日历进行对应,提取出事故发生时间所在日期的属性,并将每一个属性各自作为一个独立的特征加入交通事故案例聚合数据库。

优选地,数据预处理还包括估计全日断面车流量,包括:

通过最近一天的车流量分布曲线,获得该小时断面车流量占全日断面车流量的比例;

估计全日断面车流量;

形成路段小时事故数据的稀疏矩阵。

优选地,结合梯度提升树模型,构建动态事故预测模型包括:

初始化,估计使损失函数极小化的常数值,其为只有一个根节点的树;

计算损失函数的负梯度在当前模型的值,将其作为残差的估计;

估计回归树叶节点区域,以拟合残差的近似值;

利用线性搜索估计叶节点区域的值,使损失函数极小化;

更新回归树;

得到输出的动态事故预测模型。

优选地,将交通事故数据集输入动态事故预测模型包括:

将交通事故数据集中的75%数据作为训练集,另外25%作为测试集。

本说明书还提供一种基于梯度提升树模型的高速公路事故预测系统,包括:

数据收集模块,用于收集历史事故数据,形成交通事故数据集;

数据清洗模块,用于对交通事故数据集进行数据清洗;

数据预处理模块,用于对数据清洗后的交通事故数据集进行数据预处理;

特征提取模块,用于对数据预处理后的交通事故数据集进行特征提取,得到用于预测事故发生的关键变量;

模型构建模块,用于结合梯度提升树模型,构建动态事故预测模型;

模型训练模块,用于将交通事故数据集输入动态事故预测模型,利用关键变量对动态事故预测模型进行训练,获得训练后的动态事故预测模型;

预测模块,用于将在线数据输入训练后的动态事故预测模型中,获得输出的预计事故值。

优选地,历史事故数据包括但不限于事故发生时间、事故发生路段、事故所处车道方向、事故发生天气和事故造成损失情况;

数据预处理模块包括数据聚合模块、独热编码模块和日期判断模块;

数据聚合模块,用于通过数据聚合,根据事故发生时间和事故发生路段,统计自第一个交通事故开始以来,各路段、各时间段发生的事故数量和事故造成损失情况,形成交通事故案例聚合数据库;

独热编码模块模块,用于将交通事故案例聚合数据库的事故发生天气数据分隔为离散的多维向量;

日期判断模块,用于将事故发生时间与实际的日历进行对应,提取出事故发生时间所在日期的属性,并将每一个属性各自作为一个独立的特征加入交通事故案例聚合数据库。

从上面所述可以看出,本说明书一个或多个实施例提供的基于梯度提升树模型的高速公路事故预测方法及系统,可以通过真实事故数据明细对路段的事故数量进行预测,解决了现有模型无法对交通事故进行精细化预测的问题,且能够克服训练数据的不平衡,并且起到改善检测性能,特别是降低误报率的效果,相比传统方法,使得该模型能交通事故进行更精确的预测。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本说明书一个或多个实施例的基于梯度提升树模型的高速公路事故预测方法流程示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本公开进一步详细说明。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

本说明书实施例提供一种基于梯度提升树模型的高速公路事故预测方法,该方法包括以下步骤:

S101收集历史事故数据,形成交通事故数据集;

举例来说,历史事故数据包括但不限于事故发生时间、事故发生路段、事故所处车道方向、事故发生天气和事故造成损失情况。

S102对交通事故数据集进行数据清洗;

举例来说,数据清洗包括数据格式化、数据异常值剔除和数据空缺值填补。

上述数据格式化,指将交通事故案例数据库中不同的天气表述、方向表述进行格式化编号。所述不同表述指人工录入时对相同事物文字表述不同,如“南北向”与“南北方向”。

数据异常值剔除是指剔除数据文件中可识别的错误的步骤。

数据空缺值填补是指将数据文件中由于数据异常而被剔除的部分,根据其他事故特征进行随机填充的步骤。

S103对数据清洗后的交通事故数据集进行数据预处理;

举例来说,数据预处理包括:

通过数据聚合,根据事故发生时间和事故发生路段,统计自第一个交通事故开始以来,各路段、各时间段发生的事故数量和事故造成损失情况,形成交通事故案例聚合数据库;

通过独热编码方式,将交通事故案例聚合数据库的事故发生天气数据分隔为离散的多维向量,其目的是保证数据之间相互独立;

将事故发生时间与实际的日历进行对应,提取出事故发生时间所在日期的属性,并将每一个属性各自作为一个独立的特征加入交通事故案例聚合数据库,属性包括是否节假日、是否周末、所在的星期数等。

S104对数据预处理后的交通事故数据集进行特征提取,得到用于预测事故发生的关键变量;

S105结合梯度提升树模型,构建动态事故预测模型;

其中,梯度提升树算法为公知技术,梯度提升树(GBDT)是一种广泛应用于回归与分类任务的机器学习方法,以决策树的集合形式产生预测模型,通过迭代方式将较弱的学习器组合成一个较强的学习器,其中每一棵决策树的建立都是为了减少之前模型的残差,使得残差向梯度方向减小,在逐次的迭代中使得残差不断减小.在GBDT的迭代过程中,后一轮迭代的目标是找到一个CART回归树模型的弱学习器,去拟合之前模型的残差,使得前一轮迭代产生的模型与本轮模型相加得到的输出值与真实值之间的损失尽量变得更小,最终将所有迭代产生的模型累加得到最终的预测模型。

举例来说,结合梯度提升树模型,构建动态事故预测模型包括:

初始化,估计使损失函数极小化的常数值,其为只有一个根节点的树;

计算损失函数的负梯度在当前模型的值,将其作为残差的估计;

估计回归树叶节点区域,以拟合残差的近似值;

利用线性搜索估计叶节点区域的值,使损失函数极小化;

更新回归树;

得到输出的动态事故预测模型。

S106将交通事故数据集输入动态事故预测模型,利用关键变量对动态事故预测模型进行训练,获得训练后的动态事故预测模型;

举例来说,将交通事故数据集输入动态事故预测模型包括:

将所述交通事故数据集中的75%数据作为训练集,另外25%作为测试集。

举例来说,此处的交通事故数据集指预处理后的交通事故案例聚合数据库。

S107将在线数据输入训练后的动态事故预测模型中,获得输出的预计事故值。

举例来说,输入的数据包含小时车流、天气、路段信息、当前日期,输出的预计事故值包括各路段的事故预测数量。

作为一种实施方式,数据预处理还包括估计全日断面车流量,包括:

通过最近一天的车流量分布曲线,获得该小时断面车流量占全日断面车流量的比例;

估计全日断面车流量;

形成路段小时事故数据的稀疏矩阵。

本说明书实施例还提供一种基于梯度提升树模型的高速公路事故预测系统,包括:

数据收集模块,用于收集历史事故数据,形成交通事故数据集;

数据清洗模块,用于对交通事故数据集进行数据清洗;

数据预处理模块,用于对数据清洗后的交通事故数据集进行数据预处理;

特征提取模块,用于对数据预处理后的交通事故数据集进行特征提取,得到用于预测事故发生的关键变量;

模型构建模块,用于结合梯度提升树模型,构建动态事故预测模型;

模型训练模块,用于将交通事故数据集输入动态事故预测模型,利用关键变量对动态事故预测模型进行训练,获得训练后的动态事故预测模型;

预测模块,用于将在线数据输入训练后的动态事故预测模型中,获得输出的预计事故值。

作为一种实施方式,历史事故数据包括但不限于事故发生时间、事故发生路段、事故所处车道方向、事故发生天气和事故造成损失情况;

数据预处理模块包括数据聚合模块、独热编码模块和日期判断模块;

其中数据聚合模块,用于通过数据聚合,根据事故发生时间和事故发生路段,统计自第一个交通事故开始以来,各路段、各时间段发生的事故数量和事故造成损失情况,形成交通事故案例聚合数据库;

独热编码模块模块,用于将交通事故案例聚合数据库的事故发生天气数据分隔为离散的多维向量;

日期判断模块,用于将事故发生时间与实际的日历进行对应,提取出事故发生时间所在日期的属性,并将每一个属性各自作为一个独立的特征加入交通事故案例聚合数据库。

下面举例说明本基于梯度提升树模型的高速公路事故预测方法的预测过程。

一、建立事故数据库

根据武黄高速公路事故统计的excel表格,构建交通事故案例数据库。其内容包含:事故时间、事故方向、事故种类、事故天气、事故损失、事故原因。

断面车流量:对于流量统计设备安装前的数据,根据武黄高速公路月断面流量收费数据,除以当月的天数,获得当日估计的断面车流量。对于流量统计设备安装后的数据,直接获取当日断面车流量

对数据进行格式化:例如在数据中对采用人工记录法,对于同一方向有浠黄向、由东向西、上行等不同表述,将其统一替换为0、1表示。

剔除数据异常值:对于数据记录错误或表示不明确的、未知的,使用空缺值进行填补。

根据非空数据分布对空缺值进行填补:统计每项中非空值的概率分布,例如上行占60%,下行占40%,对于空值以6:4进行填补。

二、数据预处理:剔除多余变量将数据进行归一化,使用groupby函数对数据按小时、路段进行聚合,

对于天气等进行独热编码处理:如天气在原数据集中有晴、阴、雾、雨、雪5种表示,分别以0、1、2、3、4代表,但此种表示方式在回归时存在问题,晴天与雾天的平均值为阴天,不符合常理。需要将天气相向量拆为5个晴、阴、雾、雨、雪5个维度的向量,分别以0至1表示。

估计全日断面车流量:通过最近一天的车流量分布曲线,获得该小时断面车流量占全日断面车流量的比例,除以估计全日断面车流量。

最终形成路段小时事故数据的稀疏矩阵。矩阵的维度包含:

事故位置千米数(如K971)、小时(如16时)、是否周末(0或1)、是否节假日(0或1)、天气_晴、天气_阴、天气_雾、天气_雨、天气_雪、小时断面车流量(如500)、全日断面车流量(如8000)。

三、梯度提升树模型训练:将历史事故数据输入梯度提升树模型,将其中75%数据作为训练集,其中25%数据作为测试集,对梯度提升树模型进行训练。

其主要训练参数如下:

n_estimators为最大弱学习器的个数,设置为0.1;

learning_rate学习率,设置为0.1;

subsample子采样,设置为0.8;

max_features最大特征数,设置为None;

max_depth最大树深,设置为3;

经过测试,在当前事故数据集下,梯度提升树模型的准确率为65.28%,高于SVM模型的48.60%。

四、模型运算,将实际断面小时车流、日期输入数据梯度提升树模型运算部分,输出各路段的事故预测数量,采用k-means聚类算法对结果进行聚类,设置聚类数量为4,划分为4级预警水平。

本发明基于快速梯度提升树模型进行事故预测,可以以小时与路段作为粒度,精细化预测事故路段与数量。

本发明的梯度提升树模型在生成每个决策树时,采用按叶生长的策略,在增长一个叶子节点的情况下,比按层生长的策略能够降低更多的误差;为了防止模型过拟合,快速梯度提升树模型限制每个决策树的深度,在最终得到的模型中由较少的决策树和叶子节点构成,这一特点使得快速梯度提升树模型在决策阶段的匹配过程具有良好的时间高效性。

本发明在采用梯度提升树模型能够克服训练数据的不平衡,并且起到改善检测性能,特别是降低误报率的效果。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。

本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 一种基于梯度提升树模型的高速公路事故预测方法及系统
  • 一种基于梯度提升树模型的热连轧带钢凸度预测方法
技术分类

06120113239647