□ 文/宓 恬
城市道路交通状态预测系统设计与实现
□ 文/宓 恬
近年来在采集技术不断突破,各种大数据云计算以及视频光谱等技术突飞猛进的技术大背景配合下,交通状态预测模型在真实环境下的不断尝试与验证变得更便捷。及时准确的道路交通状态预测,能够成为政府及大众决策用途的数据支持,进而达到提高城市道路承载能力的的效果,对缓解日益明显的交通拥堵有着重大的意义。
本文根据导入的数据源:上海市道路数据,在上海市道路交通采集处理发布系统的基础上建立交通状态预测系统。实现在真实复杂的网络架构中,依据海量的实时和历史交通真实数据中建立预测软件集成。创新性的使用集成大数据计算、GIS技术等一系列计算机技术成果。
系统整体设计
为了达到城市道路交通状态自动预测以及预测结果自动发布的目的,本系统的软件构架从逻辑上被划分成以下三个层次,并分别将其定义为采集层、处理层与发布层。
采集层主要功能是快速路外场数据的实时采集与传输,即将交通信息采集设备检测得到的交通数据按照工程技术要求实时传输到交通监控中心进行处理。
处理层是软件构架的核心层,主要功能是经过对数据的处理生成城市道路交通状态信息以及对未来交通状态进行预测。首先,利用大数据技术,应对原始数据进行数据质量评价,对影响交通状态判别算法运行的问题数据应采用合理的方式修补。交通状态判别算法根据实时数据输入生成发布段交通状态判别结果。交通状态预测算法根据历史案例库和实时的交通状态判别结果对未来的交通状态进行实时预测并生成预测结果。系统可以根据用户需求制定不同的发布策略,决定最终发布的结果。
发布层是本系统“窗口”,其主要功能是面向社会公众提供城市道路交通状态实时及预测信息服务。常用的发布媒介有外场情报板、广播电台、电视节目与网站等。发布形式通常有文字、图形与语音等。
由于系统设计的完整性和实现的复杂性,本系统软件按图1,分八个灰色模块实施:
图1 软件模块结构图
在该系统中,可以看清数据流及整体架构:原始数据修补模块先将从外场交通参数采集设备所采集的原始交通参数数据进行修改与补充,然后运算处理,生成的间隔为20秒的发布段行程车速和断面流量等数据存入原始交通参数数据库。由于预测系统的数据粒度为3分钟,因此由原始数据处理模块将原始的20秒数据处理成3分钟数据;然后将3分钟粒度的行程车速和断面流量数据实时传递到交通参数单步预测模块,同时将这些数据存入历史案例库,作为将来的历史案例数据;交通参数单步预测模块将从原始数据处理模块传过来的发布段3分钟粒度行程车速和断面流量数据处理成交通参数单步(3分钟)预测结果,存入历史案例库;预测参数聚类模块读取单步预测中间参数数据,对这些数据中的某些字段进行聚类,然后将聚类结果存入历史案例库;交通参数多步预测模块利用实时的单步预测中间参数数据和历史案例库中的发布段历史3分钟粒度行程车速、断面流量数据以及历史单步预测数据生成多步预测结果数据;交通预测展示模块为人机交互界面模块,当它接收到用户的命令后立即调用单步预测结果数据和多步预测结果数据,通过短时间的处理后将结果展示给用户。本章节将对包含核心大数据技术和算法的预测、预测、展示模块进行详细设计描述。
系统详细设计
系统设计描述
通过本系统用户可以查询行程时间预测以及历史数据对比,本文给出了如图2所示的系统总体结构设计。
图2 系统总体结构图
其中:交通预测展示子系统的主要功能包括:GIS地图显示,当前时刻实时预测结果显示,出行时刻预测结果显示,历史行程时间查询显示,预测参数对比结果显示。交通参数单步预测子系统的主要功能包括:交通参数单步预测和预测参数聚类。交通参数多步预测子系统的主要功能是:历史数据选择和交通参数多步预测。
数据处理流程
交通预测算法的输入数据流可以分成三条通道,用图3表示。
图3 数据处理流程图
交通预测展示子系统描述
交通预测展示子系统主要是将预测结果信息通过一定的形式展示给用户,同时响应用户的指令。主要包括实时预测结果显示模块;出行时刻预测结果显示模块;历史行程时间查询模块;预测参数对比结果显示模块;地图显示模块(GIS-T)。
预测子系统的模块组成如图4:
图4 展示子系统图
其中:
●实时预测结果显示模块:该模块主要根据交通参数单步预测和多步预测的数据,利用相关模型实时计算出所选路径的行程时间预测结果,并通过历史统计信息,计算出该预测结果的可信度,最后将这些信息展示给用户。
●出行时刻预测结果显示模块:该模块利用交通参数单步预测和多步预测的数据,将未来30分钟内任意路径的预测行程时间值显示给用户,同时给出该值的可信度。
●历史行程时间查询模块:该模块将数据库中的历史交通参数真值进行统计,将任意路径的历史统计行程时间值显示给用户。
●预测参数对比结果显示模块:该模块将历史交通参数真值与预测结果值进行对比,并将对比结果以曲线的形式展示给用户。
●地图显示模块(GIS-T):该模块主要与实时预测结果显示模块一起工作,该模块在地图上显示预测结果所对应的路径。
交通参数多步预测子系统
交通参数单步预测子系统提供未来30分钟内的交通状态预测参数,为交通预测展示子系统提供数据支持。主要包括历史数据选择模块和交通参数多步预测模块。
模块组成如下图5所示:
图5 多步预测子系统图
表1 数据字典
其中:
●历史数据选择模块:选择历史交通参数真值,以达到加快搜索速度的目的。
●交通参数多步预测模块:该模块从历史数据选择模块中获得历史交通参数真值数据,同时从数据库中读取交通参数单步预测子系统生成的预测中间参数,然后利用非线性回归等模型计算出交通参数多步预测结果,最后将结果存入数据库。
●功能描述:利用实时的单步预测中间参数数据和历史案例库中的发布段历史3分钟粒度行程车速、断面流量数据以及历史单步预测数据生成多步预测结果数据。
数据库设计
●数据库
本系统的数据库采用关系型数据库,其中主要存储的数据如表1所示。
图6 实体关系图
●逻辑结构设计
数据库的实体关系图如图6所示:
●数据字典
历史案例库中共有17张表,其中静态配置信息表有2张,动态信息表13张,中间存储表有2张。
●物理结构设计
对数据库服务器的计算能力、存储能力、容错能力、通信能力和稳定性均有较高的要求。建议数据库服务器采用CPU主频>=3.0GHz,内存>=4GB,硬盘>=500GB。采用关系数据库ORACLE9i/10g作为数据库管理系统。
●动态数据存储设计
系统中有几类数据是不断增长的动态数据:一类是各发布段交通参数信息(行程时间、流量等),一类是交通参数预测结果数据。
根据现有南北高架数据统计得出各发布段交通参数信息624M/三个月,交通参数预测结果数据为47M/2天。则整个快速路路网(南北高架,延安高架,内环高架,中环高架,逸仙高架)数据增量计算结果如表4-2。
表2 动态数据占用空间表(本表数据采自上海市道路采集发布系统)
对于测试环境,500G的硬盘已经能满足一年的数据存储需求。当系统长期运行时,应考虑增加备份的介质,宜在半年左右进行一次全部备份,每周进行增量备份。
●静态数据存储设计
系统的静态数据主要是线路和路网的静态信息,所占用的空间大致如下表3所示:
表3 静态数据占用空间表(本表数据采自上海市道路采集发布系统)
与动态增量数据相比,静态数据所占的空间非常少。
核心技术模块实现软件
该系统简单精干,相互逻辑清晰,下面列出八个模块的部分核心软件,软件开发时充分考虑了健壮性及平台无关性。同时在保证系统效率的前提下,将整体软件模块化,分部并行计算,提高了系统的整体效率并降低了软件开发及维护的难度。
原始数据修补模块主要对采集到的实时交通数据进行可用分析及修补,交通状态自动判别模块实现GPS浮动车虚拟小车算法的状态实时判别,交通事故自动检测模块实现了交通事故的双截面检测算法及基于决策树模型的偶发性拥堵预测的实现。原始数据处理模块实现了数据从外部采集诱导发布系统中的采集和存储到数据库的功能,交通参数单步预测模块实现了优化后的卡尔曼滤波算法。预测参数聚类模块实现了基于历史库的数据挖掘与算法模型。交通参数多步预测模块结合前面交通参数单步预测模块和预测参数聚类模块的输出实现了常发性拥挤的预测。
1.原始数据修补模块
本模块主要对采集到的实时交通数据进行可用分析及修补。
2.交通状态自动判别模块
此模块实现了GPS虚拟浮动车核心算法。
3.交通事故自动检测模块
交通事故自动检测模块实现了交通事故的双截面检测算法及基于决策树模型的偶发性拥堵预测的实现。代码采用了决策树C5.0算法。通过分析和训练海量的历史数据,生成交通事故决策树对象,并入库,当有新的交通事故发生时,先提取该事件的特征参数,然后基于这些特征参数在决策树中进行搜索,最终得出交通事故的检测结果。
4.原始数据处理模块
原始数据处理模块实现了数据从外部采集诱导发布系统中的采集和存储到数据库的功能。
5.交通参数单步预测模块
本模块实现了优化后的卡尔曼滤波算法模型。
6.预测参数聚类模块
本模块实现了根据历史库数据的特征中聚类模型。代码为k-means聚类方法核心算法部分代码。
7.交通参数多步预测模块
本模块结合前面交通参数单步预测模块和预测参数聚类模块的输出实现了常发性拥挤的预测。
8.交通预测展示模块
本模块实现了预测系统的交互界面。
城市道路交通状态预测系统软件以上海城市城市道路为数据输入对象。创新性的结合目前主流的GIS地理信息系统的运用,使应用和操作界面更直观,信息量更大,操作更便捷。完成后的系统主要实现了两大功能:路径行程时间预测结果查询和交通参数预测结果对比功能。
系统功能设计
路径行程时间预测结果查询功能包括:
1.行程时间实时查询
行程时间实时查询功能主要实现以当前时刻开始对城市道路上任意可达路径的行程时间进行实时估计。
2.出行时刻查询
查询半小时后的道路状况,提前预判除了提供信息因此还具备了诱导分流的客观作用。
3.历史行程时间查询
查询当前时刻历史上同一时期的交通数据,起到参考判断的作用。
4.交通参数预测结果对比
作为宏观决策和判断的辅助手段,可以提供任意时间不同参数要求下的预测结果对比,以作为分析和诱导的参考。
系统功能实现
如下图7所示,应用系统算法已经表述,这里仅简单介绍查询及展示的系统界面。
图7 使用界面展示图(本图由上海市道路交通预测系统中导出)
围绕城市道路交通状态预测技术的应用:建立交通状态预测系统。导入的数据源为上海市道路数据,系统软件共由八个部分组成,能够进行系统覆盖路段范围内的路径行程时间预测并进行结果查询和交通参数预测的展示的功能。为及时把握道路交通状态的发展态势和服务于社会公众出行提供了重要的应用支持,促进了交通状态信息服务由传统的“被动式”实时信息的发布向“主动式”智能预测的新方向发展。
作者单位:上海市政工程设计研究总院(集团)有限公司