数据标签技术在交通应急、管理与执法场景中的应用研究
来源:用户上传
作者:张健 陈振宇
摘要:随着全省交通信息化的不断发展,对交通信息化的综合应用能力要求越来越高,跨部门跨区域信息共享、多类型信息处理、全场景信息互动的要求也越来越迫切。因此本项目将通过标签算法技术,实现对综合交通(包括公路、运管、港航等)相关的数据信息进行综合汇总以及目录数据的设计,通过自动生成交通管理标签,实现多场景的交通应用,生成交通大数据画像,为交通的综合监管、应急响应以及公众服务提供有效的数据应用。项目总体研究通过交通的多类数据汇聚,从而实现交通大数据综合分析的目的,加强交通综合管理的事中事后监管,走权力下放、信息上浮,平台上提、服务下沉的发展道路,深化政务信息化工作。同时在公共服务、市场监管、经济调节、社会管理、应急处置等方面,提高决策、执行、监督等的信息能力。
关键词:交通综合应用;交通大数据;标签算法技术;交通管理标签
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)33-0227-03
开放科学(资源服务)标识码( OSID):
交通大数据的时代已经到来,如何在ZB级的数据信息中进行综合的数据分析,提高交通数据的综合利用率,实现交通数据对于管理、应急、服务的深层次应用迫在眉睫。本研究通过探索一套基于智能化标签技术的多场景智能交通应用研究,实现交通类异构、多源的深度数据应用,为综合交通的管理、应急、服务提供有效的保障。
1 基于MVC框架的web开发
1.1 MVC框架基本介绍
MVC( Model View Controller),其中M(Model)是指业务模型,V( View)是指用户界面,C(Controller)则是指控制器。这个框架是一种软件设计的典范,它使用的是一种业务逻辑、数据、界面显示分离的方法来组织代码,把业务逻辑聚集到一个部件里,让我们在修改还有定制個性化的界面以及用户交互的同时,不需要重新编写业务逻辑。所以MVC被独特地发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC框架的主要内容是:视图、模型和控制器。
1.2 MVC框架原理
路由机制算是MVC的原理的核心之一。当我们收到一个URL的请求时,服务端收到请求,主要经历以下几个步骤:
1)请求被UrlRoutingModule部件拦截。
2)封装请求上下文HttpContext,成为HttpContextWrapper对象。
3)根据当前的HttpContext,从Routes集合中得到与当前请求URL相符合的RouteData对象。
4)将RouteData与HttpContext请求封装成一个RequestCon-text对象。
5)根据RequestContext对象,从RouteData的RouteHandler中获取IHttpHandler(MVC里面会有一个IHttpHandler的实现类MvcHandler)。
6)执行IHttpHandler( MvcHandler),然后就是通过反射激活具体的controller,执行具体的action。
大致的流程图如下:
1.2 MVC框架搭建
本文使用的是j sp+servlet+j avabean的这种最典型的MVC模式。具体就是在jsp几面书写前端界面的代码,即用户交互界面,然后把请求传到servlet,通过servlet处理请求后,再把响应传回前端页面,然后显示给用户查看。不过在模型搭建的时候需要在web.xml文件中配置servlet。因为我们在利用Servlet进行web开发的时候,运行的不是JSP页面而实际上是一个Ja-va类的对象。这个类的对象是javax.sevlet.http.HttpServlet;这个类是基于HTTP的Servlet类。我们自己写的Servlet应该从这个类派生而来。通过我们自己编写的类以及对web.xml的部署,进行web的流程控制,实现用户与服务器的交互。具体的后台实现将在第4章进行详细介绍。
2 基于ARIMA的短时数据标签技术
2.1 数据标签模型
为了响应交通网络不断增长的需求,智能交通系统获得了快速的发展,各种不同的ITS系统层出不穷,各国的研究人员也开发出了越来越多的预测方法,来应对不同场合,不同情况的状况。在这么多的交通流预测中,我们可以把这些方法进行分类,按照预测周期的长度,可以把交通流预测分为短时预测、中时预测和长时预测三类[7]。三种不同类型的方法中,短时数据标签现在有很多研究人员在不停地开发新模型,在不断完善中。因而,短时交通流动态预测系统作为交通信息融合、分析、处理的平台,必将是智能交通系统发展重中之重[9]。本文将重点介绍短时数据标签方法。
目前,在各国研究人员的努力下,短时数据标签至今开发了几十种预测方法和预测模型[10]。常见的预测模型如下:
根据是否在模型中含有参数,可以分为有参数模型和无参数模型。
有参数模型是指,在该模型中包括有限个未知参数。这种方法的主要目的是想建立和描述对象有关的精确的预测模型,然后以此来估算之后的交通流参数。这类方法主要包括:历史平均模型(History Average Model)、卡尔曼滤波法(Kalman Fil-tering Model),指数平滑(Exponential Smoothing Model)、自回归滑动平均(Auto Regressive Integrated Moving Average,简称AR-MA)系列模型、神经网络模型f neural network model)等。
无参数模型是指在描述预测对象的模型中不含有参数。常见的比如非参数回归方法: 非参数回归的方法有许多,我们最经常使用的有两种:核回归和K近邻回归。其有关的是核估计和近邻估计。非参数回归不依赖样本的分布形式,适用性宽广,而且不用对总体具有的参数检验。不过K邻近方法,计算量比较大,当实时在线计算时,收敛性会大大降低,影响预测速度。
2.2 ARIMA模型的基本原理
自回归综合滑动平均模型(Auto Regressive Integrated Mov-ing Average,ARIMA)是一种时间序列线性预测模型。
ARIMA(p,D,q):这是一种十分流行的方法,通过D阶查分计算的基于阶数p的自回归和移动平均(MA)q的组合。
基本的ARIMA模型可以用下面的式子表达:
最佳结果是对残差使用ARIMA(2,1,2)-Garch(1,1),更高阶n,m不会显著改善结果。
3 道路交通流预测系统的设计
3.1 基于MVC框架的系统设计
前文提到,本文的MVC框架是使用经典的jsp+servlet+ja-vabean模式,首先要注册在web.xml中注册servlet,只有注册成功才能实现网页的控制,实现用户和服务器的交互。完成了基本的工作之后就是对各个功能的实现了。
前端显示页面,也就是MVC框架中的用户界面(V),前端展示是做成地图界面,由于百度地图的开源,所以是一个很方便的工具,直接调用百度地图的API就可以实现很多需要的功能。比如地图的生成、地图的放大缩小、地图的拖拽以及添加标注等功能。具体界面图如下所示:
其中,红色点位标注的是路段,即本文需要预测的路段具体位置。每个点都有右键事件,当右键单击红色标注点时,会跳出右键菜单,即预测路段流量和平均车速的事件。当单击右键菜单,就会执行相应的代码。
前端页面代码完成之后,系统要展示的东西就已经基本完成了,接下来就是后台代码的实现。之前提到,在web.xml中注册了servlet,用来实现用户和服务器的交换。当用户点击右键菜单的预测功能时,根据需要预测的路段,前端会传递路段的参数给后端,即传给servlet,然后通过servlet调用方法预测。
当前端传递参数到AJAX,然后通过POST的方法把请求发送到服务器中,服务器接收到请求后,在doPOST函数里面调用创建的接口函数。这些代码是写在Action中。然后在Service中创建接口,在Dao中实现接口的具体功能。在Service中的接口是返回类型为JSONObject,然后参数为String类型的。参数主要是传人sql语句,对于不同的路段,有不同的表读取数据。具体的功能就是,当前端传人路段参数,然后在doPOST中先对参数进行筛选,匹配数据库表,然后调用接口方法,把sql语句传人,在Dao中对sql语句进行处理。根据传人的sql语句,进行数据库的连接,从表中取出数据,然后调用ARIMA函数进行数据预测。把预测出的车流量和车速两个数据作为返回值传回去。然后在doPOST中,把数据作为JSON对象,通过request对象的write成员函数,把结果输出到缓存区,然后在前端页面,通过AJAX,从缓存区中取得类型为JASON的数据,通过页面弹窗,输出到界面上。展示给用户预测结果。
3.2基于ARIMA模型的系統开发
在3.1节中提到,在Dao中调用ARIMA的函数,下面介绍函数具体实现过程:在Dao中从数据库中取得历史车流量和车速,然后把数据放到数组中,把数组中的数据作为原始数据,传到ARIMA函数的接口中。函数接收到数据,然后对原始的时间序列数据进行一阶季性差分,然后选择合适的ARIMA模型。在函数内部设定了8种模型,根据对原始数据进行处理差分后的数据,用这8种模型进行迭代,选出AIC值最小的模型作为我们要用的模型,然后得到模型的AR阶数和MA阶数。之后进行预测,得到预测结果,对预测结果进行反差分处理,就是最后得到的预测值。接下给出多个路段预测值和实际值的对比:
由表1和表2可以看出,预测的值与实际的值相差并不是很大,最大误差也在10%左右,也就是说有90%左右的匹配度,所以ARIMA的算法的准确性还是不错的,虽然需要基于历史数据进行预测,但是只要找到合适的使用场合,还是有非常高的准确度。
4 总结
本文结合课题内容,以eclipse作为编译器,Java作为开发语言,然后运用MVC框架,基于ARIMA算法,进行了数据标签技术在交通应急、管理与执法场景中的应用研究设计。通过引入百度地图API完成前端页面的实现,ajax实现前后端数据的交互,java的jdbc工具进行数据库的连接,实现了在前端点击事件菜单,然后显示后台运算处理完成的数据给用户的功能。
本文采用的是ARIMA算法,相比较其他算法,这个算法在交通应急、管理与执法场景平稳时间序列的时候有较高的精确度,虽然由于没有空间关联,但是在交通应急、管理与执法场景普通路段的时候还是有很高的可信度的。通过预测数据和实际数据的对比,可以发现,本文所选的路段,通过ARIMA算法在交通应急、管理与执法场景的结果,还是有900-/0及以上的准确率的,所以该算法还是有可取之处的。
随着科技的不断发展,越来越多的数据标签技术和模型被开发出来。相比较本文的算法,其他算法不仅在时间上有关联,在空间上也有关联,对路段上下游都有联系,对比本文的算法,有更加高的可信度。而且对于比较复杂的路段,对于突发事件的处理能力也更加靠谱,滞后性也比较低。希望可以通过吸取其他算法的优点,来补足该算法,使其在交通应急、管理与执法场景方面可以做到更加全面。
参考文献:
[1]陆化普.智能交通系统概论[M].北京.中国铁道出版社,2004.
[2] Brinker K,Furnkranz J,Hullermeier E.A unified model for mul-tilabel classification and ranking[C]//Proceedings of the 2006Conference on ECAl 2006: 17th European Conference on Arti-ficial Intelligence August 29 - September l,2006, Riva DelGarda, Italy. 2006:489-493.
[通联编辑:李雅琪]
作者简介:张健(1975-),男,浙江杭州人,学士学位,浙江综合交通大数据中心有限公司,工程师,研究方向:交通大数据;陈振宇(1975-),男,湖南邵阳人,硕士,杭州智诚惠通科技有限公司,研究方向:智能交通。
转载注明来源:https://www.xzbu.com/8/view-15387679.htm