基于决策树挖掘算法的气象大数据云平台设计

王立俊,杜建华,刘骥超,王双双,谢寒生,赵 冰

(1.海南省气象信息中心,海口 570203;

2.海南省南海气象防灾减灾重点实验室,海口 570203)

气象数据为一类典型的时序数据,在防灾减灾以及服务农业、交通、旅游等领域都有重要意义,气象数据的处理与分析准确高效直接关系到预报服务的质量[1-5]。《“十四五”气象信息网络业务发展规划》明确我国未来气象业务的发展方向,主要是优化结构流程,提高气象数据的标准化和统一化水平,促进信息网络的智能化发展,建立起高效协同的数字气象业务体系[6]。对于气象数据来说,其在生产过程中秒级数据流量达到6万次/秒,大数据、云计算技术在大量气象数据的分析领域的应用,为解决上述问题提供支持[7-9]。

Bilgin等[10]针对土耳其的气象数据进行特征提取,确定出相关温度特性,基于这些特性划分出土耳其的气候区。Reikard[11]基于频域算法对复杂的气象数据进行处理,且引入了神经网络工具,在此基础上建立起基于时频域的BP网络气象预测模型。根据仿真分析结果表明这种模型的预测准确率达到较高水平。邱声春等[12]提出一种数据挖掘和数据融合相结合的预测方法,并将其运用到天气预报领域。Nui等[13]提出距离度量学习方法用于气象数据挖掘,将其应用于2016年在肯尼迪等机场收集的天气数据集,与其他传统方法相比,在分类精度上显示出非常有潜力的优势。Farouk等[14]运用决策树、KNN和Naive Bayes算法研究了数据挖掘技术在预测不同的大气现象中的应用,并对每个模型进行评估。王丹妮等[15]通过对广东省气象观测数据挖掘分析,以广东省农业气象灾害中的高温为例,预测可能存在的灾害及其等级。陈凯等[16]在进行降雨预测时,引入了加权最近邻算法,基于这种算法进行预测时,设置降雨量作为类,气象因素设置为分类因子,计算分析确定出二者的相关系数,将所得结果赋予因子的权重,据此建立起相关区域的降雨预报模型。柯秀文[17]建立起海洋气象灾害预测系统,并对这种系统的预测性能做了仿真研究。胡冬梅[18]研究了城市空气污染问题,并引入了气象、交通相关的因素建立起城市空气污染预测模型,对变量之间相关性进行分析,根据仿真分析结果表明,这种系统表现出较高的应用价值。王春政等[19]在对气象数据挖掘处理时,引入了贝叶斯算法、模糊K邻近算法,通过这些算法对一定时段内全美历史航班和气象数据进行分析,其所得结果表明节点预测误差小于5分钟,很好地满足航空气象预测要求。还有少部分学者为提高处理海量气象数据的效率,将其与Hadoop平台结合。张晨阳等[20]在一定简化处理基础上建立起基于MapReduce的数据约简算法与朴素贝叶斯分类算法,对这种算法的性能进行研究,发现其在处理海量气象数据方面的优势很显著,且可以根据应用要求进行适当的扩展。王昊等[21]为了提高传统朴素贝叶斯分类器对气象数据挖掘的精度,拥有更高的处理海量数据的效率,建立起基于离散贝叶斯网络的数据挖掘模型,且进行了实证分析。

人工智能、大数据、云平台、物联网技术在气象数据处理中的应用,极大地提升了气象业务能力和服务水平。传统的气象数据挖掘大部分为单机模式,在数据量不断增加和算法更复杂形势下,气象预测的实时性明显降低,同时也会出现硬件故障等相关的损失[22]。因此,本文基于主流的开源云架构Apache Hadoop,建立气象大数据云平台,在此基础上结合决策树(CART,classification and regression trees)数据挖掘算法,并行创建随机森林模型,对处理海量气象数据提供支持,为相关研究起到参考作用。

1.1 决策树算法原理

在数据挖掘领域CART算法被大量应用,其可以高效的进行分类预测,适应性较强,对离散和连续数据都可以高效的分类。CART算法主要是进行数据类型差异实现分类作用。设置判定指标时主要是基于如下方法:

1)离散型数据——选择GINI值作为分类依据。

GINI值和分类后的“纯净度”存在正相关关系,其数值大则可判断选择的特征更优。

一般条件下对于样本集S,可通过如下公式计算出GINI:

(1)

在上式当中,S代表的为样本数据集;
Pi代表的为分类结果中第i个种类对应频率。

对含N个数据的集S,基于A的第i个属性值进行划分而分为两部分,划分后GINI的表达式为:

(2)

在上式当中,n1,n2各自代表的是样本子集S1,S2对应样本数。

对于属性A,先带入数据确定出GINI系数,然后进行排序确定出其中的最小值,设置为此特征条件下的最优二分方案:

mini∈A(GINIA,i(S))

(3)

对集合S,带入数据计算出全部特征的最好二分方案,进行排序后得到最小值,将其设置为集合S的此种方案:

minA∈Attributemini∈A(GINIA,i(S))

(4)

2)连续型数据——选择σ值,进行分类预测。

回归树方法在进行预测分析时,设置σ来评价分类效果,确定出σ最小的特征及值,对应于最佳的分类特征和值。一般条件下σ值大则可判断出分类后子集的“差异性”大,相反情况下则可判断出此特征下,可取得更优分类结果。

对连续型集合S,总方差表达式为:

(5)

在上式当中:μ代表的为样本集针对S中预测结果之下的均值;
yk代表的为第k个样本对应预测结果。

集合S中含有N个样本条件下,基于特征A的第i个特征值,对其进行二分处理,划分后可通过如下方法计算出σ:

σA,i(S)=σ(S1)+σ(S2)

(6)

接着对特征A,带入数据进行分析确定出任意特征进行划分条件下的σ,然后排序得到最小值,这样可确定出A下的最优分类方案:

mini∈A(σA,i(S))

(7)

对集合S,带入数据进行处理确定出全部特征的最优分裂方案,确定出其中最小者作为集合S的此类方案:

minA∈Attributemini∈A(σA,i(S))

(8)

这样处理后得到的特征A及值,就表示为集合S的最优二分属性和相关的属性值。

1.2 构建随机森林模型

气象数据云平台存储的数据种类不断增加,且数据类型也日益复杂,涉及到雷达、卫星、地面、高空、海洋等相关的气象数据,基于组织形式不同对这些数据进行划分,可分为结构化和非结构化数据。分析气象数据特征,设计对应的大数据云平台整体解决方案,用于对天气状况进行预测、分类,使其应用到农业、交通、旅游等领域。气象资料和服务数据大部分为视频、音频、文本,在长时间运行后对应的数据量急剧增长,符合大数据的4 V特点。

在大数据领域中,Hadoop是最著名的大数据处理框架之一,它以可靠、高效、可伸缩的方式进行大数据的存储、处理和分析。在经济社会发展过程中,随着信息化水平不断提高,数据量与日俱増,在对这些数据进行处理时,传统的随机森林模型开始不满足应用要求,这样就需要引入新的数据分析技术。如为提高算法的处理性能,可引入并行化的决策树算法,这样可以综合利用更多的资源进行同步处理。对并行化相关的算法,其并行化时可选择的模式主要有三类,其一为数据间并行,后两种则为属性间、节点间的并行方式,其各有一定的适用范围。运用决策树算法,基于MapReduce并行创建CART树形成随机森林模型,建立气象业务预测以及各领域服务功能模块。

基于随机森林算法的特征和MapReduce性能,考虑到研究要求,采用下述的并行化策略:对原始数据的随机采样的方式选取,建立相关决策树模型过程中,随机筛选对应的属性,对应的样本集保持独立。因而建立的单棵决策树间不存在相关性。这种模型在进行并行化操作时,主要应用MapReduce编程实现,相关的工作流程可划分为,设置决策树、确定出森林模型、结果投票。在MapReduce中并行创建CART树,构建随机森林模型并行化过程如图1所示。

图1 并行创建CART树构建随机森林模型

具体分析图1进而可发现,这种模型建立过程中主要是并行化单棵树的建立过程。首先基于Map方法切片处理HDFS中数据,接着通过Bagging随机抽样,将抽取后的数据划分为训练集和属性集,然后分布到集群的各节点上,在此基础上利用并行化Map任务进行分析,而得到其中各属性的Gini值,将所得结果输出到Reduce中,利用Reduce功能进行处理,而得到最优的属性、节点的编号,这样既可以获得所需要的单棵决策树,对树的参数进行输出后,对多棵CART树进行一定的集群映射而得到随机森林。在一定投票基础上汇总多棵树的结果,在此处理时可调用Map、Reduce函数。

在气象大数据云平台下,在完成收集气象相关数据处理后,创建相应的预报预警。此时将相关样本集经由MapReduce并行创建CART树形成随机森林,训练模型,根据相关气象数据进行预测天气预测或分类,并由控制器将新生成的气象情况以及其它相关附加信息等一并传输至各个功能模块中,使得气象大数据云平台中应用层功能模块能够实现动态数据更新,更好的为农业、交通、旅游等领域服务。

2.1 Hadoop生态系统架构

Hadoop是谷歌公司研发的高性能云计算平台,在分布式计算领域被广泛应用。HDFS是Hadoop的分布式文件系统,也是Hadoop系统的最重要组成单元,HDFS集群中包含了大量的服务器,这样可以通过并行模式来高效的处理海量气象数据。在MapReduce模型下,程序可以高效快速的处理大量集群上的海量数据。

Hadoop云平台在不断发展改进基础上其性能水平明显提升,功能组件也日益丰富,满足各领域的分析要求。其中的模块主要包括固定模块以及特定功能模块,根据相关资料可知其中的核心模块主要如下。

1)Hadoop Common:为其中的基础模块,可为其他单元的功能实现提供支持,这种模块中设置了很多公用API接口,与HTTP认证功能密切相关。

2)HDFS:主要是对海量数据进行分布式存储和处理,在数据处理时依据一次写入多次读取相关原则,此外还可提供流式数据访问。

3)YARN:为一种全新框架,发展初期的MapReduce功能繁杂,对系统运行可靠性产生很不利影响,因而此后分布的版本中独立的处理数据和资源,这样就通过YARN模块进行资源管理,且可实现一定调度功能

4)MapReduce:为一种高性能的分布式计算框架,在进行编程过程中不需要考虑到数据存储相关因素,从而大幅度简化了编程过程。主要是编写Map()、Reduce()方法就可满足要求。此种平台的系统结构如图2。

图2 Hadoop生态系统架构

Hadoop中的组件主要如下。

1)ZooKeeper:主要是提供集群相关的协调服务,主要是改进YARN形成的,在应用过程中可实现的功能主要包括集群管理、分布式锁等,可据此实现特定的功能。

2)Flume:主要的作用是进行日志采集和传输,对应的采集模式有两种,分别为在单服务器和集群上采集,对获得的日志进行汇总,然后在一定统一格式基础上发送到HDFS中。

3)Spark:为一种高性能的计算系统,其功能强大,可实现机器学习、图形计算相关的功能。此外也有很强的支持性,对Java、SQL等相关的语言都支持。可以运行在EC2、YARN框架之上而满足应用要求。

4)HBase:这种模块主要是基于“Bigtable”思想建立的,可以看作为一种特殊的分布式数据库,可以为集群的协调提供支持。

5)Hive:在其支持下,用户可对HDFS上的数据通过SQL相关的语言进行读写和查询处理,对降低编程难度有重要意义,使得用户对Hadoop上手更容易。

2.2 MapReduce任务流程

MapReduce在进行数据处理时的操作主要包括Map、Shuffle、Reduce阶段,如图3。以下对这三个阶段的工作内容和特征进行说明:

1)Map阶段。在此阶段处理过程中,应用程序基于输入的数据进行分片处理,建立起一定量的Map任务,接着对分片数据依据相关的规则映射形成一定量键值对,然后通过Map()方法处理这些键值对,处理后的结果保持为的形式,且进行输出。

2)Shuffle阶段。上一阶段处理后的结果为无规则的,然后通过Shuffle()方法进一步转换处理,形成规则的数据输出。在此环节处理时主要是合并同大小的键值对,进行排序后形成相应的键值对列表。

3)Reduce阶段。上一环节处理后的数据通过Reduce()方法处理,将上述的列表进行汇总,且基于特定的函数输出。

在实际处理时,用户只需要编写出Map()和Reduce()方法,在运行过程中程序可自动的调用这些方法进行操作,从而满足特定的功能要求。

图3 MapReduce任务流程

2.3 气象大数据云平台集群部署结构

图4 气象大数据云平台总体架构

气象大数据云平台的构建基于Hadoop集群、Impala集群和GBase集群构建。其中大数据云平台的数据源层中全部与气象密切相关的数据进行适当的分类处理后,形成一定量的数据块,这些数据可基于特征和来源不同进行划分,而分为互联网数据、结构化数据、气象外部数据等。Impala集群在运行过程中可接收结构化和基础数据,且调用函数来实现数据处理功能。Hadoop集群可对非结构化数据进行存储,其中包含了HDFS,HBase相关的单元。GBase集群在也应用过程中可对相关专题应用数据进行存储,系统上层设置Solr集群,这样在运行过程中可充分利用Solr的集中式配置、容错相关功能,满足高索引和访问相关的数据应用需求。Solr集群可对索引数据进行存储,其上层设置了气象数据统一服务接口,在运行过程中大数据云平台,气象管理人员可通过这一接口来获取不同类型的数据。此外,还可以在后台上部署各种格式的数据,对相关数据进行统一集中的展示,为其后的处理提供支持。

2.4 气象大数据云平台总体架构

在以上基础上建立起大数据可视化平台,在运行过程中其可以实现复杂的管理功能,如调度管理、元数据管理、分布式ETL管理、质量管理,此外也可以实现数据共享功能。为系统的运行维护以及功能实现提供支持。总体架构分为基础设施层、数据处理与管理层、应用层,气象大数据云平台总体架构如图4。在运行过程中为确保数据高效处理,这种平台在应用时可以全流程管理各类型的气象数据信息,且可以方便的进行交换、质控,表现出较高的应用性能优势。

表1 平台性能测试

大数据云平台层对全部的气象数据可基于接口机集群高效处理,进行一定转换后得到各种类型的数据产品,且对不同类型的数据进行分类管理和存储;
对采集的原始数据通过分布式ETL工具抽取、清洗操作后,接着基于设定的仓库模型进行加载处理。对这种架构而言,大数据云平台有重要的意义,也是其中的最重要单元,能够提供气象业务综合管理、天气预测预报、农业气象服务、交通气象服务、旅游气象服务等功能。

全国综合气象信息共享系统(CIMISS)是气象部门数据收集、存储、加工和共享的业务支撑系统,通过数据统一服务接口整合CIMISS与本地数据服务,提供数据访问服务和应用服务。对比测试平台的性能,将相同大小的任务分别在CIMISS、气象大数据云平台及基于CART气象大数据云平台上运行,响应时间如表1所示。其中,在CIMISS中,根据统计、质控、解码应用频率,按照10:1:1频次做加权平均;
气象大数据云平台按照Map和Reduce任务统计响应时间,考虑HDFS分布式特性,对不同大小数据处理性能也有不同,通过Map操作、设置reducer参数、任务大小提高平台执行效率,其中Map和Reduce任务个数通过多次设置优化执行时间;
采用了决策树算法的气象大数据云平台,自动选择数据挖掘、机器学习、深度学习来处理提交的任务。

结果可以看到,气象大数据云平台对数据统计、质控、解码等处理性能均有较大提升,平均提升3.6倍。采用决策树挖掘算法后,平台性能可以提升到1.4倍。

当今已经进入大数据时代,气象数据规模迅速的增长,在此背景下如何高效的利用海量气象数据并充分发挥其资源价值,就成为当前气象研究的热点。Hadoop平台是内网分布式在运行时不会产生明显的延迟,且简化了系统结构。气象大数据云平台的整体解决方案,对收集气象相关数据进行处理,将相关样本集经由MapReduce并行创建CART树形成随机森林,训练模型,使得气象大数据云平台中应用层功能模块能够实现动态数据更新,更好地为其他领域服务。Hadoop平台表现出明显的异构和集群化特征,未来很有必要研究异构下的数据集处理方法,更好的满足异构条件下的数据处理要求,同时也为并行算法的广泛应用提供支持。在气象信息管理的实际应用中,许多数据是复杂异构的,有很多非结构化数据,下一步可以对非结构化气象数据挖掘方法展开研究。

猜你喜欢 决策树集群数据挖掘 改进支持向量机在特征数据挖掘中的智能应用九江学院学报(自然科学版)(2022年2期)2022-07-02探讨人工智能与数据挖掘发展趋势大众投资指南(2021年35期)2021-02-16基于事故数据挖掘的AEB路口测试场景北京航空航天大学学报(2020年10期)2020-11-14海上小型无人机集群的反制装备需求与应对之策研究军事运筹与系统工程(2019年4期)2019-09-11培育世界级汽车产业集群信息化建设(2019年2期)2019-03-27决策树和随机森林方法在管理决策中的应用电子制作(2018年16期)2018-09-26一种无人机集群发射回收装置的控制系统设计电子制作(2018年11期)2018-08-04决策树学习的剪枝方法科学与财富(2016年32期)2017-03-04软件工程领域中的异常数据挖掘算法电子技术与软件工程(2016年24期)2017-02-23决策树多元分类模型预测森林植被覆盖电子制作(2017年24期)2017-02-02

推荐访问:算法 气象 挖掘