本发明涉及一种短期交通预测图卷积网络的路况评估方法,属于智能交通和人工智能技术领域。
背景技术:
在汽车工业水平大幅进步和居民经济水平日益提高的背景下,我国居民汽车保有量持续增加,由此带来交通拥堵、环境污染等问题也日益严重。发展绿色高效的智能交通系统是国家战略也是民心所向。交通流量是智能交通系统分析的重要数据,因为区域的交通流量情况可以很好地反映出该区域当前的交通状况。使用交通流历史数据分析出交通流的潜在规律从而对未来交通流量做出预测可以帮助交通管理者有效地提前干预交通、帮助参与者选择更优的行车路线从而缓解交通拥堵。但历史交通数据本身具备的高维度,高复杂性等特点,对其进行有效预测分析是一个有挑战的课题。
现有的道路交通流预测方法大致可以分为两种,一种是基于统计模型的方法,包括历史平均回归、卡尔曼滤波法、自向量回归等,这类方法受时间序列静态假设的限制,没有考虑时空相关性。另一种是近年来兴起的深度学习模型,这类方法往往能更好的捕捉交通流数据中复杂的非线性时空关系,从而达到更好的效果。但时空关系可能是动态变化的,不同路段在不同的时间节点彼此之间的影响可能是不同的,这种动态特征通常没有被有效捕捉。对交通路况的评估往往需要对交通网络的先验知识,本发明基于历史数据估计了两种对交通流状况的评测指标,可应用于不同的数据集,提高了深度模型的可应用性。
技术实现要素:
针对交通流数据中动态时空特征以及提高交通流数据预测的准确性,本发明提出了一种短期交通预测图卷积网络的路况评估方法,从而克服现有技术中的不足。
本发明的原理在于,通过将表示交通网络中节点的距离二元关系的邻接矩阵抽象为模糊关系矩阵,并通过计算出其传递闭包得到表达所有潜在节点之间联系的转移关系矩阵,并结合注意力机制的自学习矩阵得到基于当前输入的转移关系矩阵,然后将此矩阵用于图卷积过程。
本发明通过以下技术方案实现,包括以下步骤:
步骤一:获取交通数据并进行预处理:获取交通路段的空间距离信息,用于构建交通网络的图结构;获取的交通流数据建立交通流数据集,提取每个节点的自由行驶速度和最大自由通行流量,然后将历史交通数据按节点数量n、特征数量f、时间序列t三个维度整理成n×f×t的多维数据集,对缺失数据进行缺失补齐,并进行归一化处理最后划分训练集和测试集;其中n表示交通节点数,即
其中
步骤1.2:提取每个节点的自由行驶速度vfree和最大自由通行流量maxffree;自由行驶速度对历史数据均匀取样后按各节点凌晨时段的历史平均速度数据去噪后平均估计得到,最大自由通行流量按各节点在自由行驶速度向上向下取整范围内的速度对应的流量数据集合取部分最大值平均估计得到;
步骤1.3:建立交通流数据集,数据集结构表示如下:
其中n表示交通节点数,即
缺失数据补齐规则:在连续缺失值少于等于3个时采用线性插值,大于3个时采用上个数值、昨天数值与上周数值加权平均。数据补齐后按照采用0均值归一化方法对数据集进行归一化处理,归一化公式如下:
x=(x-mean)/std(3)
其中mean表示该交通特征数据的平均值,std表示该交通特征数据的标准差;
步骤二:对多维数据集划分为小时趋势数据、天趋势数据、周趋势数据:三类数据具有相同的目标值,小时趋势的输入值为目标值时段前几个小时时间段的数据,天趋势的输入值为前几天相同目标时间段与小时趋势同长度的前几个小时的数据,周趋势的输入值为近几周前相同目标时间段的与小时趋势同长度的前几个小时的数据;
步骤2.1周趋势数据、天趋势数据、小时趋势数据从步骤一中的数据集产生;
假设预测时间长度为p,则目标值为[xt,xt 1,...,xt p],生成规则如下:
小时趋势数据:
xh=[xt-n,xt-n 1,...,xt-1]
其中n表示取与目标值相邻的前n个时间步;
天趋势数据:
xd=[x(t-n)-dt*dn,x(t-n 1)-dt*dn,...,x(t-1)-dt*dn;x(t-n)-dt*(dn-1),x(t-n 1)-dt*(dn-1),...,x(t-1)-dt*(dn-1);......;x(t-n)-dt,x(t-n 1)-dt,...,x(t-1)-dt]
其中dt为一天的时间长度,dn表示取与目标值相邻的前dn天;
周趋势数据:
xw=[x(t-n)-wt*wn,x(t-n 1)-wt*wn,...,x(t-1)-wt*wn;x(t-n)-wt*(wn-1),x(t-n 1)-wt*(wn-1),...,x(t-1)-wt*(wn-1);......;x(t-n)-wt,x(t-n 1)-wt,...,x(t-1)-wt]
其中wt为一周的时间长度,wn表示取与目标值相邻的前wn个周;
步骤三:构建基于模糊关系的短期交通预测图卷积网络:构造时空卷积单元,每个单元包括时间注意力模块、空间注意力模块、模糊关系图卷积模块、门控空洞因果时间卷积模块;通过时空卷积单元的堆叠,完成对交通流张量的时空特征提取,最后构建全连接层通过relu非线性回归得到预测结果;
步骤3.1:时间注意力模块用于捕获输入数据之间的动态时间相关性,即找到当前输入x中相关性较高的时间步:
p=vp·tanh(xtu1)u2(u3x) bp)(4)
其中
p中各元素的值表示输入时间序列中不同时间步长之间的动态联系程度;然后对p使用softmax函数进行归一化处理,然后用p乘以输入x得到根据时间相关性动态调整后的输入x;
步骤3.2:空间注意力模块:
s=vs·tanh((xw1)w2(w3xt) bs)(5)
其中
步骤3.3模糊关系图卷积网络模块:对步骤一中得到的有向加权邻接矩阵
采用k阶近似切比雪夫多项式图卷积来获取交通流数据中各路段之间空间依赖:
其中
将步骤3.2中得到的s空间注意力矩阵结合
其中⊙表示哈达玛积;
步骤3.4时间卷积模块:
采用k层门控空洞因果卷积来获取交通流数据中路段的时间依赖;
其中*表示空洞因果卷积操作,φ表示卷积核参数,tanh是输出的激活函数,sigmiod函数决定了当前输入传递给下一层的比率;k层空洞因果卷积结构通过跳过部分序列扩大卷积的感受野,同时使序列变得更加光滑,增强模型鲁棒性;
步骤四:构建三并行模型:三并行模型具有相同的网络结构,每个网络结构由时空卷积单元堆叠,最后一层添加全连接层构成;三个并行模型分别处理周趋势数据、天趋势数据和时刻趋势数据,最后将得到的三个预测结果通过参数加权得到最终预测结果;融合过程如下:
其中ww,wd,wr为可学习的加权参数,
步骤五:训练深度模型优化参数实现短期交通流的实时预测:将训练集作为深度模型的输入,定义模型的损失函数,根据损失函数数值利用反向传播算法不断更新模型参数;待参数模型收敛后利用训练好的模型对测试集进行实时交通流预测;
定义模型的损失函数,训练模型:
选用l1损失函数,其中y为真实交通数据目标值,
步骤六:实时交通流的路况评估:将实时交通流数据输入到上述训练好的模型,得到预测车速和流量,再根据自由行驶速度和最大自由通行流量计算行驶时间指标tti和道路流量指标rfi,按照两个指标对交通状态的隶属度函数以及专家经验进行交通状况进行模糊综合评价;
步骤6.1:tti,rfi指标两者计算公式如下:
其中vfree自由通行速度,vcurrent为当前速度;
其中maxffree表示最大自由通行流量,fcurrent表示当前流量;
tti指标的理论取值范围为[1, ∞],由于自由通行速度为平均估计数据以及考虑到超速情况,对于小于1的值按向上取整处理,rfi指标的理论取值范围为[1, ∞],将两者归一化按下式归一化处理:
步骤6.2:根据模糊理论,得到因素论域u={tti,rfi},本发明将交通等级论域:
v={完全畅通,基本畅通,轻微拥堵,中度拥堵,严重拥堵},采用tti和rfi的隶属度函数,高斯隶属的函数的公式为:
在tti中的三个高斯隶属度函数的k取值依次为[0.3,0.5,0.7],r的取值依次为[0.07,0.08,0.08];在rfi中的三个高斯隶属度函数的k取值依次为[0.25,0.4,0.55],r的取值依次为[0.07,0.08,0.09];根据隶属度函数计算得到的tti和rfi指标得到模糊关系矩阵r:
rij表示模糊关系矩阵r中第i个指标对第j个交通等级的隶属度。随后根据专家经验确定评判因素权向量a={a1,a2},ai是u中第i个因素对交通等级评判的重要性分配权重,设置为0.5,0.5;选择合适的评论合成算子,将a与r合成得到综合评判b=(b1,b2,b3,b4,b5),本发明采用
其中b为模糊综合评价论域,bi为评价隶属值。
所述步骤一中,f表示收集的交通流数据特征总数,至少包括车流量、平均速度。
本发明的有益效果在于,通过权重学习表示出交通网络中数据的转移关系,提高了图卷积网络对交通数据流中动态空间依赖的捕捉能力。同时模型通过构建三类数据集考虑了交通流量中长时间跨度依赖,并通过因果空洞卷积考虑短时间跨度,提高了交通数据预测的准确性。
附图说明
图1为一种基于深度模型的路况评估方法流程图。
图2为交通流预测深度模型结构图。
图3为时空卷积单元组成图。
图4为tti隶属度函数。
图5为rfi隶属度函数。
具体实施方式
下面结合附图1至5对本发明的优选实施例作进一步说明,本发明方法流程如图1所示,主要包括:
步骤一:获取交通数据并进行预处理:获取交通路段的空间距离信息,用于构建交通网络的图结构;获取的交通流数据建立交通流数据集,提取每个节点的自由行驶速度和最大自由通行流量,然后将历史交通数据按节点数量n、特征数量f、时间序列t三个维度整理成n×f×t的多维数据集,数据特征包括路段车辆平均速度、车流量等,对缺失数据进行缺失补齐,并进行归一化处理最后划分训练集和测试集;
步骤1.1:首先获取交通各路段之间的空间距离信息,用于构建交通网络有向加权图结构,图表示如下:
其中
步骤1.2:提取每个节点的自由行驶速度vfree和最大自由通行流量maxffree;自由行驶速度对历史数据均匀取样后按各节点凌晨0点到4点的历史平均速度数据去噪后平均估计得到,最大自由通行流量按各节点在自由行驶速度向上向下取整范围内的速度对应的流量数据集合取前
步骤1.3:建立交通流数据集
其中n表示交通节点数,即
x=(x-mean)/std(3)
其中mean表示该交通特征数据的平均值,std表示该交通特征数据的标准差。
步骤二:对多维数据集划分为小时趋势数据、天趋势数据、周趋势数据:
三类数据具有相同的目标值,小时趋势的输入值为目标值时段前几个小时时间段的数据,天趋势的输入值为前几天相同目标时间段与小时趋势同长度的前几个小时的数据,周趋势的输入值为近几周前相同目标时间段的与小时趋势同长度的前几个小时的数据;
步骤2.1:周趋势数据、天趋势数据、小时趋势数据从步骤一中的数据集产生;
假设预测时间长度为p,则目标值为[xt,xt 1,...,xt p],生成规则如下:
小时趋势数据:
xh=[xt-n,xt-n 1,...,xt-1]
其中n表示取与目标值相邻的前n个时间步;
天趋势数据:
xd=[x(t-n)-dt*dn,x(t-n 1)-dt*dn,...,x(t-1)-dt*dn;x(t-n)-dt*(dn-1),x(t-n 1)-dt*(dn-1),...,x(t-1)-dt*(dn-1);......;x(t-n)-dt,x(t-n 1)-dt,...,x(t-1)-dt]
其中dt为一天的时间长度,dn表示取与目标值相邻的前dn天;
周趋势数据:
xw=[x(t-n)-wt*wn,x(t-n 1)-wt*wn,...,x(t-1)-wt*wn;x(t-n)-wt*(wn-1),x(t-n 1)-wt*(wn-1),...,x(t-1)-wt*(wn-1);......;x(t-n)-wt,x(t-n 1)-wt,...,x(t-1)-wt]
其中wt为一周的时间长度,wn表示取与目标值相邻的前wn个周。
步骤三:构建基于模糊关系的短期交通预测图卷积网络:构造时空卷积单元,其组成如图3所示,每个单元包括时间注意力模块、空间注意力模块、模糊关系图卷积模块、门控空洞因果时间卷积模块;通过时空卷积单元的堆叠,完成对交通流张量的时空特征提取,最后构建全连接层通过relu非线性回归得到预测结果;
步骤3.1:时间注意力模块用于捕获输入数据之间的动态时间相关性,即找到当前输入x中相关性较高的时间步:
p=vp·tanh(xtu1)u2(u3x) bp)(4)
其中
步骤3.2:空间注意力模块:
s=vs·tanh((xw1)w2(w3xt) bs)(5)
其中
步骤3.3:模糊关系图卷积网络模块:
对步骤一中得到的有向加权邻接矩阵
采用k阶近似切比雪夫多项式图卷积来获取交通流数据中各路段之间空间依赖:
其中
将步骤3.2得到的s空间注意力矩阵结合
其中⊙表示哈达玛积;
步骤3.4:时间卷积模块,采用k层门控空洞因果卷积来获取交通流数据中路段的时间依赖:
其中*表示空洞因果卷积操作,φ表示卷积核参数,tanh是输出的激活函数,sigmiod函数决定了当前输入传递给下一层的比率。k层空洞因果卷积结构如图3所示的,其通过跳过部分序列扩大卷积的感受野,同时使序列变得更加光滑,增强模型鲁棒性。
步骤四:构建三并行模型:三并行模型具有相同的网络结构,每个网络结构由时空卷积单元堆叠,最后一层添加全连接层构成;三个并行模型分别处理周趋势数据、天趋势数据和时刻趋势数据,最后将得到的三个预测结果通过参数加权得到最终预测结果;
融合过程如下:
其中ww,wd,wr为可学习的加权参数,
步骤五:训练深度模型优化参数实现短期交通流的实时预测:将训练集作为深度模型的输入,定义模型的损失函数,根据损失函数数值利用反向传播算法不断更新模型参数;待参数模型收敛后利用训练好的模型对测试集进行实时交通流预测;
定义模型的损失函数,训练模型:
选用l1损失函数,其中y为真实交通数据目标值,
步骤六:实时交通流的路况评估:将实时交通流数据输入到上述训练好的模型,得到预测车速和流量,再根据自由行驶速度和最大自由通行流量计算行驶时间指标tti和道路流量指标rfi,按照两个指标对交通状态的隶属度函数以及专家经验进行交通状况进行模糊综合评价;
步骤6.1:)tti,rfi指标两者计算公式如下:
其中vfree自由通行速度,vcurrent为当前速度;
其中maxffree表示最大自由通行流量,fcurrent表示当前流量;
tti指标的理论取值范围为[1, ∞],由于自由通行速度为平均估计数据以及考虑到超速情况,对于小于1的值按向上取整处理,rfi指标的理论取值范围为[1, ∞],将两者归一化按下式归一化处理:
步骤6.2:根据模糊理论,得到因素论域u={tti,rfi},本发明将交通等级论域v={完全畅通,基本畅通,轻微拥堵,中度拥堵,严重拥堵},采用tti和rfi的隶属度函数如图3图4所示,高斯隶属的函数的公式为:
在tti中的三个高斯隶属度函数的k取值依次为[0.3,0.5,0.7],r的取值依次为[0.07,0.08,0.08];
在rfi中的三个高斯隶属度函数的k取值依次为[0.25,0.4,0.55],r的取值依次为[0.07,0.08,0.09];
根据隶属度函数计算得到的tti和rfi指标得到模糊关系矩阵r:
rij表示模糊关系矩阵r中第i个指标对第j个交通等级的隶属度,随后根据专家经验确定评判因素权向量a={a1,a2},ai是u中第i个因素对交通等级评判的重要性分配权重,设置为a1=0.5,a2=0.5;选择合适的评论合成算子,将a与r合成得到综合评判b=(b1,b2,b3,b4,b5),本发明采用
其中b为模糊综合评价论域,bi为评价隶属值。
一种基于模糊关系的短时交通预测图卷积网络在深圳北站的实施例,包括以下步骤:
步骤1:选取实验数据
实验选用深圳北站周边的12条路段,同名公路的不同方向视为不同的公路。首先根据12条路段的地理距离信息构建有向加权图,抽象出道路的空间拓扑关系。然后构建交通流数据集,本实验需要预测的数据是道路的tti指标,道路的tti指标数据由深圳市政府网站提供,在该数据集上无需估算每条道路tti。其他交通数据特征包括平均车速、车流量。根据每条道路的tti指标和车速可以反推出每条道路的自由通行速度vfree,根据vfree估算每条道路的最大自由通行流量,得到结果如下表所示:
路段之间最大自由通行流量存在比较大的差异是因为部分路为快速路,部分路为深圳北站周边人流量多的单行道。数据的采样间隔为10分钟,采样长度为24624。数据按步骤一中的说明进行预处理后按3∶1∶1的比例划分训练集、验证集和测试集。
步骤2:实验环境及超参数设定
本实验使用mxnet深度学习框架完成模型搭建,并在配置nvidiateslav100gpus的云服务器上完成模型的训练。小时趋势数据采用目标区间前两个小时数据,目标预测未来一个小时数据。周趋势数据采用前一周目标区间同一时间段的前两个小时数据,天趋势数据采用前一天与目标区间同一时间段的前两个小时数据,。模型学习率设置为0.001。在图卷积网络模块,使用3阶切比雪夫多项式64卷积核的图卷积网络。在时间卷积模块,采用两层门控空洞因果卷积,空洞数分别为0和1,也就是说模型考虑的短时间跨度为20分钟。
本实验选取绝对值均方差(mae)、均方根误差(rmse)作为评价指标,其计算公式分别如下所示:
其中yi和
模型预测结果如下表所示:
假设现有对路段1十分钟后的交通预测值为:tti:2.26和车流量162:由预测值、路段1的最大自由通行车流量和公式(12)~(13),可得到归一化后的tti和rfi为0.56,0.52带入隶属度函数得到关系矩阵:
根据公式(17)、(18)计算得到b={0,0,0.535,0.578,0};由此可以判断路段1未来十分钟的路况为中度拥堵。
综上所述,针对预测交通流数据转化为有效认知的问题,本发明在缺少交通网络先验知识的情况下,基于历史数据估计了两种对交通流状况的评测指标,并对不同评测指标进行了模糊综合评价给模型的预测结果提供了直观的认识。
本文用于企业家、创业者技术爱好者查询,结果仅供参考。