交通状态判别

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

交通状态判别

一、案例背景介绍

随着机动车保有量的不断上升,城市的快速发展在促进经济繁荣、社会进步的同时,也不可避免的带来了交通拥堵问题。

在交通发展的过程当中,交通拥堵是诸多问题中产生频率最高、影响最大、持续时间最长的一个。交通拥堵增加了人们上下班的时间代价和精神压力,降低了城市运行效率,还给国民经济带来不可估量的经济损失。

交通拥堵的产生从表面看是由城市现有的路网资源与实际的出行需求之间的矛盾导致,而根本原因是城市路网规划不合理,与城市当前发展之间的失衡造成路网负荷增加、交通运行稳定性下降。

为了实现对交通秩序的实时监测和控制,城市道路和高速公路两侧布置了大量的交通数据检测器,每天可以产生千万级别的数据。这些交通数据体量巨大、数据结构多种多样、价值丰富却又密度低,具有大数据的典型特征。近年来,针对这些海量的交通数据如何建立有效的分析和处理流程,从中挖掘出有价值的信息,成为智能交通系统的重点研究方向。

二、多模型建模理论

多模型建模方法就是对训练数据建立多个子模型,把子模型对测试数据的分析通过某种方法结合,形成最后的分析结果。单模型结构是对非线性系统建立数学模型时的最基本方法,一般先对样本数据使用不同的理论建立一系列不同的模型,从中选择性能最优或次优的模型参与实际的应用。对于复杂的非线性系统,单模型是一种整体上的近似解。Bates和Granger于1969年首次提出将多个数学模型连接以提高模型的预测能力、提高系统鲁棒性的方法,自此以后多模型建模方法在时间序列分析、状态预测估计、化工预警控制等多个领域得到广泛的研究和应用。

在模型的训练过程中,通常需要收集较多的样本数据以保证神经网络对实际生产过程的充分反映。如果样本规模较大,神经网络的结构比较庞大、训练时间加长,实际训练中先对样本聚类分析得到规模较小的子集,理论上每个样本子集的学习速度将会加快且网络结构更加紧凑,总时间也会降低。另外,当样本数目较大时,部分数据在距离意义上相邻较近,对应的输出在距离意义上却较远,这样的样本虽然仍可以使用单个神经网络学习,但是学习之后模型的泛化能力较差。这是将学习样本空间进行分解的主要原因。

多模型建模时一般使用加权或非加权两种策略获得最后的输出结果,其基本结构如图1、图2所示:

图1基于加权策略的多模型算法基本结构图

在图1中,1y 、2y ······n y 代表每个子模型的输出,1w 、2w ······n w 代表每个子

模型输出在多模型最终的结果输出中所占的权重。

图2基于非加权策略的多模型算法基本结构图

通过图1和图2可知,加权策略需要确定每个子模型在最终输出Y 中的权重,通过加权求和后获得最终的模型输出。其中,权重是最重要也是最难确定的因素,该参数的取值将影响到模型的性能。在状态估计、化工过程等实际应用中,大多数模型都是非线性、时变的系统,通过遗传算法等方法优化权值必然会增加算法的运行时间。非加权策略又可以看成开关切换策略,通过对样本的判别分析,选择与之相对应的最优子模型实现多模型的建立。在自动控制中如果多个扰动对控制系统同时产生作用,模型在短时间内将不断切换,从而出现较大的输出误差。

三、基于BP 神经网络的单模型交通状态判别

交通状态判别算法发展至今,基本可分为模式识别、统计预测、突变理论、神经网络四大类。传统的交通状态判别算法着重于根据交通流数据与交通状态间的数学逻辑进行理论推导、数学建模,在实际的交通流数据下检验模型的泛化能力,采用的方式多为修改表达式、调整参数,模型越来越复杂,其实际应用效果也有待考证。

正常的城市秩序下,交通流模型是复杂的动力学问题,它具有高维度、时变性、非线性等特点,因此通过传统理论建立的数学模型无法准确描述交通流的特

性。相比而言,神经网络是对人脑或自然神经网络的若干基本特性的抽象和模拟,是以计算机网络系统模拟生物神经网络的智能计算系统,它有着较强的自我学习能力。作为一个黑箱模型,神经网络描述了将输入矢量转换为输出矢量的过程,可以在最大程度上获得不同交通状态下的交通流的近似特性。在训练时神经网络只需要确定训练样本的格式和内部结构的各项参数即可,例如权重、神经网络结构等等。本节应用BP神经网络实现对城市道路交通状态判别的单模型分析研究,并在不同路段的交通流数据下进行分析。

以速度、流量、占有率三个交通流参数作为输入数据,以交通状态(分为“拥堵”、“缓行”、“畅通”三个等级)作为输出。算法步骤如下:

STEP1:输入数据;

STEP2:确定训练集、测试集

STEP3:训练数据归一化;

STEP4:网络初始化,主要包括网络结构、权值、误差;

STEP5:计算隐含层、输出层输出;

STEP6:计算隐含层、输出层误差;

STEP7:修正隐含层、输出层的权值、阈值;

STEP8:判断误差是否小于ε:是,训练结束,执行下一步;否,更新训练总步数后,跳转到STEP5;

STEP9:测试数据归一化;

STEP10:计算隐含层输出、输出层输出;

STEP11:对分类结果统计,计算误差;

STEP12:计算正确率,结束程序。

表1给出了不同结构的BP神经网络对交通状态的判别结果,其中神经元结构一栏中,[ ]中的数字代表神经网络的结构,例如“[2 3]”代表该神经网络有两个隐含层,其中第一个隐含层有2个神经元,第二个隐含层有3个神经元。测试结果均是在同一个数据集上反复测试获得。路段A参与整个神经网络学习过程的交通流数据共有650个,训练数据520个、测试数据130个;路段B参与整个神经网络学习过程的交通流数据一共1560个,其中训练数据1248个,测试数据312个,两个路段的训练数据与测试数据的比例均为4:1。

表1不同结构的BP神经网络的交通状态判别结果

神经网络结构

路段A路段B

正确率运行时间(s)正确率运行时间

相关文档
最新文档