广东工业大学学报  2014, Vol. 31Issue (4): 54-59.  DOI: 10.3969/j.issn.1007-7162.2014.04.010.
0

引用本文 

李俊磊, 滕少华, 张巍. 基于决策树组合分类器的气温预测[J]. 广东工业大学学报, 2014, 31(4): 54-59. DOI: 10.3969/j.issn.1007-7162.2014.04.010.
Li Jun-lei, Teng Shao-hua, Zhang Wei. Prediction of Atmospheric Temperature Based on Multi-classifiers of Decision Tree[J]. Journal of Guangdong University of Technology, 2014, 31(4): 54-59. DOI: 10.3969/j.issn.1007-7162.2014.04.010.

基金项目:

教育部重点实验室基金资助项目(110411);广东省自然科学基金资助项目(10451009001004804, 9151009001000007);广东省科技计划项目(2012B091000173);广州市科技计划项目(2012J5100054);韶关市科技计划项目(2010CXY/C05)

作者简介:

李俊磊(1988-),男,硕士研究生,主要研究方向为数据挖掘、协同计算。

文章历史

收稿日期:2014-04-16
基于决策树组合分类器的气温预测
李俊磊, 滕少华, 张巍     
广东工业大学 计算机学院,广东 广州,510006
摘要: 气象数据挖掘是近年来研究的热点,组合分类器能够实现协同计算以提高效率和准确性,就此本文采用数据挖掘方法中的决策树组合分类器对某地气象进行了气温预测,主要依据C4.5经典算法、Bagging集成方法构建组合决策树,并加入协同的思想建立了预测气温的决策树协同分析模型.实验表明,基于Bagging的决策树协同模型对于局部区域的气温预测具有较高的准确率.
关键词: Bagging    C4.5算法    组合分类器    协同    气温预测    
Prediction of Atmospheric Temperature Based on Multi-classifiers of Decision Tree
Li Jun-lei, Teng Shao-hua, Zhang Wei     
School of Computers, Guangdong University of Technology, Guangzhou 510006, China
Abstract: Meteorological data mining has been a hot research spot recently. Combined classifiers can be used in collaborative computing to improve the efficiency and accuracy. Based on C4.5 classic algorithm and the bagging integrated method, it constructed a cooperative decision tree, and proposed a decision tree model for multi-classifiers to predict the air temperature. Experimental results show that the cooperative model for the prediction of local area atmospheric temperature, based on multi-classifiers of the decision tree, has higher accuracy than others.
Key words: Bagging    C4.5 algorithm    multi-classifiers    cooperative    air temperature prediction    

数据挖掘是从大量的、不完整的、有噪声的、模糊的和随机的实际应用数据中,提取出蕴藏在其中的有用信息的过程[1].数据挖掘有很多分析方法,其中数据分类一直以来关注度最高,它通过对数据集的训练构建区分数据类或概念的分类器模型,并使用该模型对未知的数据对象进行判定或预测所属的类别.数据分类的常见技术有决策树[2]、贝叶斯分类方法[3]、神经网络[4]、支持向量机[5]、KNN等.其中,由于决策树技术的计算量相对较小、分类性能好、分类规则便于转化,易通过静态测试来对模型进行评测,而且建立的树模型便于理解,得到了广泛应用.

近年来,随着数据挖掘的广泛应用,与人们生活息息相关的气象领域也引入了这门新兴技术来提高天气预报水平和气象决策能力.目前国内外利用数据挖掘技术在气象预报上的应用研究, 可以归结为两个方面:(1)基于统计学的数理统计[6];(2)机器学习、计算方法等研究方向[7],涉及到空间数据分析[8]、气象模式识别[9]、时态序列数据分析[10]、气象预报[11]等多方面,其中决策树主要应用到对气象灾害等级预测、气候分类等.文献[12]利用决策树方法建立3个分类器模型,分别对气温距平均值、海温距平均值以及雨量距平均值进行预测.文献[13]用决策树方法对天气的舒适度做了分类和预测.文献[14]对气温进行空间聚类,得出某区域气温区域的划分.文献[15]采用CART算法构建的决策树对气温进行了预测.文献[16]采用C4.5算法实现了智能手机终端上的天气预警系统.

本文用决策树C4.5算法构造基分类器,同时引入协同分析[17]的思想用Bagging方法集成一个多组合分类器,然后用该组合分类器对局部区域的气象数据进行分析,预测当地的气温,实验表明本文的方法获得了较好的分析结果.

1 相关概念及其算法 1.1 决策树和C4.5算法

决策树是一个预测模型,代表对象属性与对象值之间的一种映射关系,它是一种树状结构,决策节点对应于待分类对象的某个属性,在该属性上的不同测试结果对应一个分支.每个叶节点存放某个类标号值,表示一种可能的分类结果.构建决策树一般被分为两个阶段:建树阶段和剪枝阶段.在建树阶段主要完成决策树的构造,而在剪枝阶段则是对第一阶段构建的决策树进行剪枝,通过剪枝来去除训练数据中的噪声和孤立点,得到一个高精确度的决策树.目前构建决策树的算法主要有ID3、C4.5、CART和SLIQ等[18].但ID3算法只能处理离散型属性,而C4.5算法除了能处理离散型属性,也可处理连续型属性[2].

ID3是一种基于信息熵的决策树分类算法[18].其核心在于构建决策树的过程中, 用信息增益来选择各结点上的属性, 使得测试每一个非结节点时, 获得的类别信息最大.利用选定的属性将子集划分成更小的子训练集后, 系统整体的熵值最小, 生成的决策树平均深度较小, 提高分类速度和准确率.

集合S的信息熵的计算公式为

$ \text{Info}\left( S \right)=-\sum\limits_{i=1}^{k}{\left( \frac{\text{(freq}\left( {{C}_{i}}, S \right)}{\left| S \right|}\times \text{lo}{{\text{g}}_{2}}\frac{\text{(freq}\left( {{C}_{i}}, S \right)}{|S|}) \right)}. $

对于训练集T按照一个属性检验x的输出而分成n个子集, 所需信息可通过它相应的子集的熵的加权和求得, 计算公式为

$ {\rm{Inf}}{{\rm{o}}_x}\left( T \right) = \sum\limits_{i = 1}^k {(\frac{{(\left| {{T_i}} \right|}}{{|T|}})} \times {\rm{lo}}{{\rm{g}}_2}\left( {{T_i}} \right)). $

信息增益Gain(X)的计算公式为

$ {\rm{Gain}}(X) = {\rm{Info}}(T) - {\rm{Inf}}{{\rm{o}}_x}\left( T \right). $

虽然ID3算法方法简单,分类速度快,但是它只能处理离散型的属性,且无法增量地接受训练样本.

C4.5算法是ID3算法的一种改进算法,用信息增益率来选择属性,在树建造过程中进行剪枝,既能处理离散型属性又能处理连续型属性,还能对缺省数据进行处理[2].

如有训练集T,离散属性xn个不同取值,按x划分为T1T2、…、Tn个不同的子集, 则用xT进行划分的信息增益率为

$ {\rm{Gain\_ratio}}(x) = {\rm{Gain}}/{\rm{Split\_Info}}(x). $

其中,

$ {\rm{Split\_Info}}\left( x \right) = - \sum\limits_{i = 1}^n {((\frac{{\left| {{T_i}} \right|}}{{\left| {{T_i}} \right|}}) \times {\rm{Lo}}{{\rm{g}}_2}(\frac{{\left| {{T_i}} \right|}}{{\left| T \right|}}))} $

C4.5与ID3的区别在于C4.5选用增益比率Gain_ratio(x)建立决策树,而ID3使用Gain(x)建立决策树,C4.5的健壮性强于ID3, 在节点属性选择时,同样也是选择增益比率最大的属性作为检验属性.

1.2 组合器

组合学习法是将多个基分类器聚集在一起来提高分类准确率[18].组合分类器一直是数据挖掘和机器学习中非常活跃的研究领域.已有的理论和实验表明,对于相同的样本数据集而言,单个分类器的分类准确率和泛化能力往往低于组合分类器.在给定训练数据集后,由训练数据构建一组基分类器,测试数据都经过每个基分类器进行分类得到分类结果序列,然后通过投票法等将这些单个分类器的结果进行裁决并得到最终的分类结果.目前,有两种组合方法来构建分类器,第一种是将训练集划分成不同子集,然后用各子集进行训练构建不同的基分类器;第二种是用同一训练集的不同属性子集训练得到不同的基分类器.组合学习的基本思想是:利用原始数据集构建多个分类器,然后在分类未知样本时聚集它们的预测结果.

组合学习方法的一般过程:

(1) 令D表示原始训练数据集,k表示基分类器的个数,Z表示测试数据集;

(2) For i=1 to k do;

(3) 由D创建训练集Di;

(4) 由Di创建基分类器Ci;

(5) End for;

(6) For每个测试样本xZ do;

(7) C*(x)=Vote(C1(x), C2(x), …, Ck(x));

(8) End for.

组合学习法是通过对原始数据进行扰动生成不同的训练数据来构建不同的分类器,而不是利用同一训练数据集在多个不同分类器上进行简单的重复训练,另外,一个分类训练中的错误还可以被下一个分类利用.分类器预测错误的原因之一就是未知实例与所学习的实例的分布有所区别,通过扰动,消除单个分类器所产生的偏差,使其使用的范围更广,涵盖各种类型的数据分布情况,得到更精确的模型.装袋(Bagging)、提升(Boosting)是目前构建集成分类器使用最多的算法.

Bagging是Breinman于1996年提出的,它的主要思想是给定一个弱学习算法和一个训练集,从训练集中随机抽样获取多个分类子训练数据样本, 通过对这些子训练样本进行训练构建多个对应的分类器, 最终采用简单投票的方法对多分类器的结果进行决策作为分类判别的结果.由于放回抽样,每次抽样都是独立的,因此Bagging是一种并行训练的组合方法[18].

Bagging的过程如图 1所示:模式训练阶段, 对于有限样本组成的训练集S, 通过Bootstrap过程生成测试样本Si, 以Si为训练集分别构建分类器Ci; 测试样本时分别用各基分类器对样本x进行预测,依据{C1, C2, …, Cn}的综合投票结果, 确定测试样本x的类别.

图 1 Bagging组合过程 Figure 1 The process of Bagging
2 基于Bagging的决策树组合分类器

Bagging算法实现了将多个弱分类器集成得到一个强分类器,同时具备很强的泛化能力和稳定性.本文用Bagging来构建一个组合决策树.基分类器是用C4.5算法构建的决策树,各基分类器间采用Bagging进行组合.其模型如图 2所示.

图 2 决策树组合分类器结构图 Figure 2 Diagram of collaborative classifiers decision tree model

模型中D1D2D3、…、DnD上的数据集, 分别从原始数据集D中进行有放回的随机抽取得到.C1C2C3、…、Cn是一组基分类器,对应数据集中的训练数据用C4.5算法构建而成的决策树分类器.各基分类器之间相互独立,所以可以采用协同并行的思想进行训练.C+分类器融合各个基分类器的预测结果,每个分类器都可以得到一个结果,n个分类器的结果构成了一个函数序列,将这个序列进行等权重投票,得票数最高的类别为最终组合模型的分类结果.

3 组合分类器在气象数据中的应用

本文的样本数据集是广州市某地区2011年1月份到12月份的气象数据,气象站收集的是当地全年全天候每小时的即时数据共8744条,任何一条数据的数据项包括风向、风速、时总雨量、最高气温、湿球温度、水汽压、本站气压、最高本地气压、最低本地气压、草面温度、5cm草面温度、10cm草面温度等共50多项.

结合实验数据集的情况和当地气候的分布情况可知,当地的气温比较平稳,地处亚热带季风气候,气温从未低于0℃,而且也未高于39℃,为了便于实验分类和预测,本文将实验数据集中温度分为5个等级,如表 1所示.

表 1 气温等级 Table 1 The temperature grade

由于该地区近50年来未发生过地震、洪涝等地质灾害,数据变化平稳,原始数据集中无噪声点,所以数据没有进行归一化处理,只需要进行简单的数据筛选和集成.尽量保持数据包括原始信息.

为了使用组合决策树来预测气温,通过气象部门了解到,气温主要受风速、相对湿度、气压、水汽压、露点温度、地面温度、时总蒸发量7个因素的影响.因此,从某地区气象数据集中提取对气温有影响的7个属性,去掉一些异常或者属性缺失的气象数据,生成原始数据集.将风速、相对湿度、气压、水汽压、露点温度、地面温度、时总蒸发量作为分类属性,气温等级作为类属性.

使用Matlab7.0工具进行实验,由于各类别的数据量差距较大,所以设定任何一个类别的训练数据量和测试数据量的比例都按4: 1的比例进行随机选择数据,结果如表 2表 6所示.在基分类器个数和训练样本数不同的条件下,准确率有一定的浮动,当基分类器的个数为3时,平均准确率为87.66%,绝对误差是1.8℃.当基分类器个数为5时,平均准确率为88.12%,绝对误差是1.2℃.当基分类器的个数为7时,平均准确率为88.17%,绝对误差是0.9℃.当基分类器的个数为10时,平均准确率为88.26%,绝对误差是0.9℃.基分类器的个数越多,模型的准确率越高.从表 3表 6可知,相同模型下,样本数量越多,预测的准确率越高.训练样品数量一定条件下,组合分类器平均准确率与基分类器个数关系如图 3所示.由图 3可知,随样本个数增加,组合分类器平均准确率随之增加,且基分类器个数越多,模型的准确率越稳定.当训练样本数为6 000时,设置了K=100时准确率为91.68%,K=500时,准确性仍然在91.94%左右,由此可知,基分类器个数K=10, 训练样本数n=6 000时组合器的准确率基本达到稳定状态,准确率达91.61%,绝对误差是0.8℃.

表 2 不同条件下的测试结果 Table 2 The accuracy rate under different conditions
表 3 基分类器的个数K=3时的准确率 Table 3 The accuracy rate of base classifiers K=3
表 4 基分类器的个数K=5时的准确率 Table 4 The accuracy rate of base classifiers K=5
表 5 基分类器的个数K=7时的准确率 Table 5 The accuracy rate of base classifiers K=7
表 6 基分类器的个数K=10时的准确率 Table 6 The accuracy rate of base classifiers K=10
图 3 3组合分类器准确率 Figure 3 The accuracy of multi-classifiers

实验数据表明,由决策树组成的多组合分类器应用于气温预测具有较高的可信度.实验结果与现有的关于气温预测的论文中的实验结果进行对比,结果如表 7所示.

表 7 与相关气温预测的论文实验结果对比 Table 7 Comparison of the experimental results with other papers
4 总结

数据挖掘中,决策树模型是最受欢迎的模型之一,最主要的原因在于它能够非常方便地用图形化的方式表现挖掘的结果.气象数据挖掘能快捷、高效地在复杂气象数据中挖掘隐含知识,能够弥补传统气象研究的不足,是提高预报准确率和灾害天气预警能力的有益补充.本文将决策树构建的组合多分类器模型运用到气温预测中, 得到了很好的预测准确率,提高了对天气预评估的效果.

参考文献
[1]
马廷淮, 穆强, 田伟, 等. 气象数据挖掘研究[J]. 武汉理工大学学报, 2010, 32(16): 110-114.
Ma T H, Mu Q, Tian W, et al. Research on meteorological data mining[J]. Journal of Wuhan University of Technology, 2010, 32(16): 110-114. DOI: 10.3963/j.issn.1671-4431.2010.16.027.
[2]
蒲元芳, 张巍, 滕少华, 等. 基于决策树的协同网络入侵检测[J]. 江西师范大学学报:自然科学版, 2010, 34(3): 302-307.
Pu Y F, Zhang W, Teng S H, et al. The Cooperative Network Intrusion Detect ion Based on Decision Tree[J]. Journal of Jiangxi Normal University: Natural Science Edition, 2010, 34(3): 302-307.
[3]
陈锡枢. 基于贝叶斯网络下的遗传算法[J]. 广东工业大学学报, 2007, 24(1): 19-21.
Chen X S. The Genetic algorithm based on bayesian net[J]. Journal of Guangdong University of Technology, 2007, 24(1): 19-21.
[4]
李刚, 汪仁煌, 李佩. 基于BP神经网络的工艺球缺陷检测[J]. 广东工业大学学报, 2012, 29(1): 46-49.
Li G, Wang R H, Li P. Detection of defects in process balls based on BP neural network[J]. Journal of Guangdong University of Technology, 2012, 29(1): 46-49.
[5]
夏琴晔, 杨宜民. 基于biSCAN和SVM的机器人目标识别新算法研究[J]. 广东工业大学学报, 2013, 30(4): 65-69.
Xia Q Y, Yang Y M. Research on a new algorithm for robots′ recognition of objects based on biSCAN and SVM[J]. Journal of Guangdong University of Technology, 2013, 30(4): 65-69.
[6]
耿蓉, 赖晓风, 贺春林. 基于ID3算法的天气评定[J]. 重庆文理学院学报(自然科学版), 2008, 27(6): 20-22.
Geng R, Lai X F, He C L. Weather valuation based on ID3 algorithm[J]. Journal of Chong qing University of Arts and Sciences:Natural Science Edition, 2008, 27(6): 20-22.
[7]
陈宝学, 俞经善, 关宏伟. 数据挖掘技术应用于天气预报的可行性研究[J]. 应用科技, 2004, 3(1): 20-23.
Chen B X, Yu J S, Guan H W. The feasibility study of the application of data mining in the weather forecastion[J]. Application Technology, 2004, 3(1): 20-23.
[8]
Li X, Ramachandran R. Gravess, et al. Automated detection of frontal systems From numerical model-generated data[C]. Proceeding of the eleventh ACM SIGKDD International conference On Knowledge Discovery and Data Mining, Chicago, USA, August 21-24, 2005.
[9]
Rahman M, Islam A H M S, Nadvis Y M, et al. Comparative study of ANFIS and ARIMA model for weather forecasting in Dhaka[J]. Informatics, Electronics & Vision (ICIEV), 2013 International Conference on, Dhaka, 2013, 23(2): 1-6.
[10]
Case J L, La Fontaine F J, Bell J R, et al. A Real-time MODIS vegetation product for land surface and numerical weather prediction models[J]. IEEE Transactions on Ggoscience and Remote Sensing, 2014, 52(3): 1772-1786. DOI: 10.1109/TGRS.2013.2255059.
[11]
El-Shafie A, Jaafer O, Seyed A. Adaptive neuro-fuzzy inference system based model for rainfall forecasting in Klang River, Malaysia[J]. International Journal of the Physical Sciences, 2011, 6(12): 2875-2885.
[12]
向俊莲, 王丽珍. PUBLIC在云南气象预报中的应用[J]. 云南大学学报:自然科学版, 2001, 2(1): 16-19.
Xiang J L, Wang L Z. PUBLIC in Yunnan meteorological forecasting[J]. Journal of Yunnan University:Natural Science Edition, 2001, 2(1): 16-19.
[13]
巩固, 张虹. 决策树算法在天气评估中的应用[J]. 微计算机信息, 2007, 23(12): 245-247.
Gong G, Zhang H. The application of decision tree algorithm in weather assessment[J]. Information of computer, 2007, 23(12): 245-247. DOI: 10.3969/j.issn.1008-0570.2007.12.098.
[14]
Bilgin T T, Camurcu Y A. A data mining appliction on air temperature database[J]. Lecture Notes in Computer Science, 2005, 32(61): 68-76.
[15]
姜文瑞, 王玉英, 郝小琪, 等. 决策树方法在气温预测中的应用[J]. 计算机应用与软件, 2012, 8(29): 141-144.
Jiang W R, Wang Y Y, Hao X Q, et al. Application of decision tree method in temperature prediction[J]. Computer applications and software, 2012, 8(29): 141-144.
[16]
唐慧强, 杭丽娜, 范海娟. 基于C4.5决策树算法的天气预警系统的手机终端设计[J]. 计算机应用, 2013, 33(5): 1467-1469, 1480.
Tang H Q, Hang L N, Fan H J. Design of mobile phone terminal of weather warning system based on C4.5 decision tree[J]. Journal of Computer Applications, 2013, 33(5): 1467-1469, 1480.
[17]
滕少华. 基于对象监控的分布式协同入侵检测[D]. 广州: 广东工业大学机电工程学院, 2008. http://www.wanfangdata.com.cn/details/detail.do?_type=degree&id=Y1258275
[18]
蒋盛益, 李霞, 郑琪. 数据挖掘原理与实践[M]. 北京: 电子工业出版社, 2013.
[19]
严小冬, 吴战平, 马振锋, 等. Downscaling法在贵州冬季气温和降水预测中的应用[J]. 高原气象, 2008, 27(1): 171-175.
Yan X D, Wu Z P, Ma Z F, et al. Application of a new down scaling model to winter temperature and rainfall prediction over guizhou[J]. Plateaumet Eorology, 2008, 27(1): 171-175.
[20]
周慧, 朱彬, 陈万隆, 等. 动态学习率神经网络预测气温的尝试[J]. 南京气象学院学报, 2005, 28(3): 398-403.
Zhou H, Zhu B, Chen W L, et al. Daily air temperature predication using a dynamic learning rate neural network system[J]. Journal of Nanjing Institute of Meteorology, 2005, 28(3): 398-403.