一、研究现状1预测算法研究现状在过去的几十年中,预测逐渐成为各国的研究热点,许多模型和理论被应用于国防、科技预测的研究中,归纳下来,主要有以下三种类型:(l)基于线性理论模型:主要有卡尔曼滤波模型、指数平滑模型、自适应权重模型(2)基于非线性理论模型:主要有小波理论模型、突变理论模型、混沌理论模型等(3)基于知识发现的智能预测模型:主要有神经网络模型、非参数回归模型等。卡尔曼滤波预测模型是通过观测方程和状态方程组成的线性随机系统来描述滤波器,并结合递推算法对该状态变量进行估计,从而得到交通流的预测值。基于卡尔曼滤波递推算法的预测模型的理论简单、容易被理解,该方法在预测时只能通过本路段的历史数据进行模型训练,没有考虑其他影响,因此随着预测时间间隔的减少,该模型的性能会明显变差。指数平滑预测模型是利用最新观测的状况对预测结果进行纠正,将上一次的预测误差综合到下一次的预测中,反复迭代后,形成一个前面所有观测值的线性组合,然后得到最终的预测结果。该模型对存储的要求较低,不需要训练,计算较简单,在早期的预测中应用较多。自适应预测模型通过实时监测指标,如突发事故、天气变化、平均时间等因素来动态的调整各个预测因子在模型中的权重,从而解决了线性模型不能够很好随机性和非线性的缺陷。但该模型缺乏科学的选择机制。小波理论预测模型通过小波分析理论将数据分解为分辨率不同的信号,对分解后的信号分别采用预测算法进行预测,最后将分解信号的预测结果合成就得到了最终的预测结果。小波理论预测模型的抗干扰能力较强,但该模型的计算量大,运算效率较低,且对于每一个预测段均需要建立相应的模型,因此当对海量数据进行预测时,需要建立的模型会非常多,训练模型的时间花销也会很大。神经网络预测模型需要通过大量的数据去对神经网络模型进行训练,生成的模型是输出数据与输入数据之间的映射关系,输入数据通过该映射关系就能得到与之对应的预测结果。该模型预测精度高,但前期需要大量的历史数据进行模型训练。非参数回归预测模型是从历史数据中通过近邻匹配找到与当前状态最相似的近邻数据集合,通过这些近邻数据去预测道路下一时刻的交通流。该模型不需要任何的先验知识,也不需要建立复杂的数学模型,能够适应多变的状况,预测精度高,但是需要大量的历史数据。预测精度与计算效率是矛盾的。预测精度高的模型一般都较为复杂或者需要处理大量的历史数据,从而导致计算效率较低,而计算效率高的模型其预测精度一般会较低。为了能够在保证预测精度的同时,提高算法的计算效率,使预测算法能够更好的应用于实际预测中,我们讲通过试验神经网络、非回归参数模型选取准确率最高的算法并采用分布式计算环境来解决计算计算效率的问题。2计算平台Hadoop,Spark等技术的快速发展为海量数据的存储与处理提供了技术支持Hadoop框架能够对大规模数据进行分布式计算和存储,用户可以根据数据规模方便的扩展集群规模,扩展计算能力。但是Hadoop在实际应用过程中仍存在很多不足:第一、一个MapReduce任务只有Map和Reduce两个阶段,复杂的计算需要大量的Job共同完成,Job之间的依赖关系需要由开发者自己管理,这增加了开发者的研发难度。第二、Hadoop在进行MapReduce计算的过程中,会将map的计算结果写入到本地磁盘或Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS)上,然后再通过shuffle过程将计算结果发送到reduce上进行处理,反复的磁盘读写使Hadoop不能够满足低延迟的交互式数据挖掘任务的要求。第三、时间延迟高,ReduceTask需要等待所有MapTask都完成后才可以开始。相比Hadoop,Spark是一个分布式内存型计算框架,它在HadoopMapReduce优点的基础上,提出了RDD数据模型,提供了多种算子,并且可以将计算的中间结果存放到内存中,这使得迭代计算的效率更高,更适合于实时计算、交互式计算等场景,所以拟采用spark平台进行分布式计算。Spark项目是使用函数式语言Scala开发的,利用Scala开发的Spark应用程序可以像操作本地数据集一样操作分布在Spark集群中的分布式数据集。Spark基于RDD的一栈式解决方案,将批处理、交互式查询...