当前位置: 首页 > 专利查询>长安大学专利>正文

一种基于Spark的路网交通运行分析方法技术

技术编号:21401699 阅读:29 留言:0更新日期:2019-06-19 07:44
一种基于Spark的路网交通运行分析方法,以实时交通流数据为基础,结合k‑means和随机森林算法构建了路网交通运行态势判别模型;选择分布式文件系统存储和弹性分布式数据集并行处理交通数据,实现了路网交通运行状态的实时判别。本发明专利技术利用Spark大数据机器学习平台,结合分布式k‑means算法进行聚类分析,改善了传统的k‑means算法在大数据情况下,算法时效性的问题,实现路网交通运行状态的判别,分析结果可为高速公路管理部门提供实时、可靠的路网运行状态分析服务,同时可为建立高速公路智慧管控平台提供理论依据。

【技术实现步骤摘要】
一种基于Spark的路网交通运行分析方法
本专利技术涉及智能交通领域,具体涉及应用大数据分析与挖掘技术建立的一种基于Spark的路网交通运行分析方法。
技术介绍
随着智能交通系统(IntelligentTransportationSystem,ITS)研究的深入展开,道路交通数据规模和复杂度呈爆发式增长,呈现出大数据的“6V”特征。然而在高速公路领域,交通数据的存储和处理依然采用传统的串行化方法,由于数据量巨大,数据结构复杂,其计算完成时间已无法应用于实际场景。因此,采用并行化与分布式的数据处理技术来提高交通信息处理水平成为当前交通大数据平台研究的主流。建立综合运输服务大数据平台,促进交通运输大数据产业化应用成为迫切的行业需求。现阶段,大多数研究主要集中在根据高速路网的历史数据进行路网运行分析,对路网的实时信息反馈较少;其中,一部分研究是根据路网中的实时的速度来对路网的运行状态进行分析,缺乏科学性和可靠性。如何在现有的高速路网环境下,利用获取的交通数据中,实时地分析出某个区域路网的交通流运行状态,是目前面临的重要问题。
技术实现思路
有鉴于此,本专利技术的目的是提供一种基于Spark的路网交通运行分析方法。为实现上述目的,本专利技术的技术方案是:一种基于Spark的路网交通运行分析方法,包括以下步骤:1)首先利用5台PC机搭建包含一个主节点和四个从节点的Spark大数据机器学习平台;主节点作为大数据机器学习平台的控制节点,从节点作为大数据机器学习平台的工作节点,各节点间在一个局域网内通过千兆以太网进行互相连接通信;2)以实时的交通流数据为基础,在Spark大数据机器学习平台上采用分布式k-means算法进行交通运行状态聚类,并输出最佳的交通运行状态聚类结果T′;根据实际的交通流运行情况将最佳的交通运行状态聚类结果T′中不同簇中的交通流数据赋予一个交通运行状态,其最终的聚类结果为T={(xi,Mj);i=1,2,...,n;j=1,2,...,5},其中xi表示交通流运行数据,包括交通流量、速度和占有率,n为数据集记录数,Mj表示交通流运行数据聚类后的交通运行状态;3)在交通运行状态聚类分析完成后,在Spark大数据机器学习平台上采用随机森林算法对最终的聚类结果T进行训练,利用训练完成的模型建立交通运行状态判别规则,实现路网交通运行状态判别。本专利技术进一步的改进在于,步骤1)中,Spark大数据机器学习平台包括从上向下依次为数据应用层1、数据处理层2以及数据存储层3;其中数据存储层3选用分布式文件系统,用于底层数据存储管理,Spark直接读取HDFS上的数据进行计算并把结果再写回HDFS;数据处理层2利用Spark内建的独立调度器模式实现底层资源调度,同时,RDD进行数据处理任务的并行执行;数据应用层1,由Spark的多种大数据处理场景生态应用组件组成,其中包括SparkR、SparkSQL和SparkMLlib。本专利技术进一步的改进在于,步骤2)中,交通流运行数据聚类后的交通运行状态为畅通、基本畅通、轻度拥堵、中度拥堵和严重拥堵五种交通运行状态。本专利技术进一步的改进在于,采用聚类算法将道路拥堵程度划分为畅通、基本畅通、轻度拥堵、中度拥堵和严重拥堵五种状态。本专利技术进一步的改进在于,步骤2)中,采用分布式k-means算法进行交通运行状态聚类,并输出最佳的交通运行状态聚类结果T′的具体过程为:(1)从高速公路交通流数据集D={x1,x2,...,xn}中,随机选择k个中心点mj,并将其存入文件clusterList中;其中,k为聚类个数,且k=5;(2)在Spark大数据机器学习平台的分布式文件系统中,每个节点都包含部分数据集Di={x1,x2,...,xn′},将文件clusterList分发给分布式文件系统的每个节点中;(3)在每个子数据集Di中,计算非中心x′i到k个中心点mj的距离d(x′i,mj),如果d(x′i,mj)=min{d(x′i,mj),i=1,2,3,...,n′;j=1,2,...,k},则将非中心x′i划分到中心点mj的类中;(4)直到每个节点上非中心点划分到k个聚类以后,形成k个簇,分别计算k个簇的均值作为新中心数据m*,并保存在clusterList文件中;(5)计算分布式k-means算法的误差平方和准则函数J,若聚类准则函数收敛或聚类迭代达到最大,则得到最终聚类结果;否则重复步骤(2)、(3)、(4)继续迭代,直到满足聚类停止条件;(6)迭代结束,输出交通流运行状态聚类结果T′={(xi,m′);i=1,2,...,n;m′=1,2,...,5}。本专利技术进一步的改进在于,分布式k-means算法使用欧氏距离计算数据集中非中心点x′i与k个中心点mj(j=1,2,…,k)之间的距离d(x′i,mj),如式(8)所示:式(8)中,u表示高速公路交通流运行指标的维度;x′iu和mju表示x′i和mj相应的维度值;非中心点x′i与其所属聚类中心mj的实际距离d(x′i,mj)表示k个距离中的最小值,如式(9)所示:d(x′i,mj)=min{d(x′i,mj),i=1,2,3,...,n′;j=1,2,...,k}(9)聚类过程中,划分k个簇后,每个簇的均值为Daverage,如式(10)所示:式(10)中,n表示簇中非中心数据的数量;x′it和mjt表示非中心数据x′i和mj相应的类别值。本专利技术进一步的改进在于,步骤3)中,采用随机森林算法建立交通运行状态判别规则,实现路网交通运行状态判别的过程为:(1)采用Bootstrap重采样技术从路网交通运行状态聚类结果T中有放回地随机抽取numTrees个子数据集,并将numTrees个子数据集Di基本均匀的分配到Spark大数据机器学习平台的所有节点中;(2)分别从Spark大数据机器学习平台所有节点的数据集Di中随机选取M个特征属性,将M个特征属性作为数据集Di的特征属性;其中,M<3;(3)根据不同特征属性划分出不同的子集,以计算基尼指数的方式确定最优的属性划分点,其对应的子集为最优划分子集;(4)在所有节点中,重复步骤(3),直到子集所含的样本数小于5000时,生成叶子节点。(5)根据数据集Di中交通运行状态的众数判别叶子节点的所属类别,生成交通流运行状态判别决策树;(6)最终,在Spark大数据机器学习平台上生成了numTrees棵决策树,利用numTrees棵决策树形成交通流运行状态判别随机森林,综合随机森林中numTrees棵决策树的交通流运行状态判别结果,以判别结果中最多的交通流运行状态作为最终的交通流运行状态判别结果;(7)输出交通流运行状态判别结果。本专利技术进一步的改进在于,在生成交通流运行状态判别决策树中,采用基尼指数选择划分指标,其划分指标Gini(D)的计算方法为:式(11)中,pi表示D中样本点属于i类的概率;k表示D中样本中类别数;数据集Di的基尼指数Gini(Di)为:式(12)中,D1、D2表示划分的子集。与现有技术相比,本专利技术的有益效果如下:(1)本专利技术以实时交通流数据为基础,结合分布式k-means和随机森林算法构建了路网交通运行态势判别模型;选择分布式文件系统存储和弹性分布式数据集并行处理交通数据,实现本文档来自技高网...

【技术保护点】
1.一种基于Spark的路网交通运行分析方法,其特征在于,包括以下步骤:1)首先利用5台PC机搭建包含一个主节点和四个从节点的Spark大数据机器学习平台;主节点作为大数据机器学习平台的控制节点,从节点作为大数据机器学习平台的工作节点,各节点间在一个局域网内通过千兆以太网进行互相连接通信;2)以实时的交通流数据为基础,在Spark大数据机器学习平台上采用分布式k‑means算法进行交通运行状态聚类,并输出最佳的交通运行状态聚类结果T′;根据实际的交通流运行情况将最佳的交通运行状态聚类结果T′中不同簇中的交通流数据赋予一个交通运行状态,其最终的聚类结果为T={(xi,Mj);i=1,2,...,n;j=1,2,...,5},其中xi表示交通流运行数据,包括交通流量、速度和占有率,n为数据集记录数,Mj表示交通流运行数据聚类后的交通运行状态;3)在交通运行状态聚类分析完成后,在Spark大数据机器学习平台上采用随机森林算法对最终的聚类结果T进行训练,利用训练完成的模型建立交通运行状态判别规则,实现路网交通运行状态判别。

【技术特征摘要】
1.一种基于Spark的路网交通运行分析方法,其特征在于,包括以下步骤:1)首先利用5台PC机搭建包含一个主节点和四个从节点的Spark大数据机器学习平台;主节点作为大数据机器学习平台的控制节点,从节点作为大数据机器学习平台的工作节点,各节点间在一个局域网内通过千兆以太网进行互相连接通信;2)以实时的交通流数据为基础,在Spark大数据机器学习平台上采用分布式k-means算法进行交通运行状态聚类,并输出最佳的交通运行状态聚类结果T′;根据实际的交通流运行情况将最佳的交通运行状态聚类结果T′中不同簇中的交通流数据赋予一个交通运行状态,其最终的聚类结果为T={(xi,Mj);i=1,2,...,n;j=1,2,...,5},其中xi表示交通流运行数据,包括交通流量、速度和占有率,n为数据集记录数,Mj表示交通流运行数据聚类后的交通运行状态;3)在交通运行状态聚类分析完成后,在Spark大数据机器学习平台上采用随机森林算法对最终的聚类结果T进行训练,利用训练完成的模型建立交通运行状态判别规则,实现路网交通运行状态判别。2.根据权利要求1所述的一种基于Spark的路网交通运行分析方法,其特征在于,步骤1)中,Spark大数据机器学习平台包括从上向下依次为数据应用层1、数据处理层2以及数据存储层3;其中数据存储层3选用分布式文件系统,用于底层数据存储管理,Spark直接读取HDFS上的数据进行计算并把结果再写回HDFS;数据处理层2利用Spark内建的独立调度器模式实现底层资源调度,同时,RDD进行数据处理任务的并行执行;数据应用层1,由Spark的多种大数据处理场景生态应用组件组成,其中包括SparkR、SparkSQL和SparkMLlib。3.根据权利要求1所述的一种基于Spark的路网交通运行分析方法,其特征在于,步骤2)中,交通流运行数据聚类后的交通运行状态为畅通、基本畅通、轻度拥堵、中度拥堵和严重拥堵五种交通运行状态。4.根据权利要求3所述的一种基于Spark的路网交通运行分析方法,其特征在于,采用聚类算法将道路拥堵程度划分为畅通、基本畅通、轻度拥堵、中度拥堵和严重拥堵五种状态。5.根据权利要求1所述的一种基于Spark的路网交通运行分析方法,其特征在于,步骤2)中,采用分布式k-means算法进行交通运行状态聚类,并输出最佳的交通运行状态聚类结果T′的具体过程为:(1)从高速公路交通流数据集D={x1,x2,...,xn}中,随机选择k个中心点mj,并将其存入文件clusterList中;其中,k为聚类个数,且k=5;(2)在Spark大数据机器学习平台的分布式文件系统中,每个节点都包含部分数据集Di={x1,x2,...,xn′},将文件clusterList分发给分布式文件系统的每个节点中;(3)在每个子数据集Di中,计算非中心x′i到k个中心点mj的距离d(x′i,mj),如果d(x′i,mj)=min{d(x′i,mj),i=1,2,3,...,n′;j=1,2,...,k},则将非中心x′i划分到中心点mj的...

【专利技术属性】
技术研发人员:钱超杨孟朱熹许宏科刘冬伟
申请(专利权)人:长安大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1