APP下载

基于知识流的作物蒸散量数据挖掘方法研究

2017-03-21魏正英张育斌蔚磊磊

中国农村水利水电 2017年3期
关键词:决策树数据挖掘气象

张 帅,魏正英,张育斌,蔚磊磊,简 宁

(西安交通大学机械制造系统工程国家重点实验室,西安 710054)

0 引 言

水资源是基础性的自然资源和重要的战略资源。我国是一个水资源严重短缺的国家,水资源供需矛盾突出仍然是可持续发展的主要瓶颈。农业是用水大户,但用水效率不高,节水潜力巨大。作物需水量是农业生产中最重要的因素之一,而作物蒸散量是计算作物需水量的关键,因此寻找一种合理方法来预测作物蒸散量,用于指导作物的灌溉,对于促进水资源可持续利用、保障国家粮食安全、加快转变经济发展方式有着重要的意义。传统的作物蒸散量计算利用经验公式求得,但是由于公式所需参数较多,计算过程较复杂,ET0受气象因素影响很大,对于ET0的计算可以看作是气象因素非线性关系的回归分析[1],气象数据和农业息息相关,人工往往很难得到隐藏在数据背后的知识,因此引入了数据挖掘技术,结合近年来取代神经网络等传统机器学习方法的新的算法—随机森林,它的运算速度很快,具有很高的预测准确率,在处理气象这样的大数据时表现十分优异。BP神经网络和SVM容易出现过拟合,很难全局最优解,尤其是它们对缺失的数据很敏感,从而降低了精度,而随机森林通过对许多弱学习器组合产生出强学习器,对于缺失的气象参数仍然可以维持很高的准确度。

本文利用西安市1992-2014年逐日气象数据资料[2],以气象参数作为模型的输入参数进行模拟训练,以FAO56 Penman - Montieth公式计算的ET0结果作为模型预期输出值,通过不同气象参数组合输入方式,采用数据挖掘技术和随机森林算法结合知识流建模方法构建了模型,并将模拟结果同其他常用模型进行对比研究,探索数据挖掘技术在作物蒸散量ET0模拟计算中的应用。

1 原 理

1.1 数据挖掘

数据挖掘,也称为数据库中的知识发现,是数据库知识发现中的一个步骤,一般是指从大量的数据中通过算法搜索隐藏于其中知识的过程,这些知识是隐含的、事先未知的潜在有用信息,提取的知识一般可表示为概念、规则、模式等形式。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标[3]。数据挖掘解决实际问题过程如图1所示,数据挖掘任务分为两大类,其中一类就是预测任务,它则是通过对样本数据的输入值和输出值关联性的学习,得到预测模型,再利用该模型对未来的输入值进行输出值预测。数据挖掘的技术基础是人工智能(机器学习),一般地,可以通过人工智能中一些已经成熟的算法和技术建立预测模型。典型的数据挖掘方法包括:决策树方法、人工神经网络、支持向量机,其他常见的预测方法还有近邻法、朴素贝叶斯等。

图1 数据挖掘的基本流程Fig.1 Basic process of data mining

1.2 随机森林原理

随机森林模型[4]是由Breiman和Cutler 在2001年提出的一种基于分类树的算法,是集成学习算法的一种,它通过对大量决策树的汇总提高模型的预测精度。其中的装袋算法是利用自助法的思路,对训练样本进行有放回抽样,以建立多个树模型,然后集成其预测结果来提高预测精度。

随机森林在运算量没有显著提高的前提下提高了预测精度。随机森林对多元共线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用[5]。

在随机森林中,形成随机森林的训练集各自独立,生成很多的决策树,并不像在CART模型里一样只生成唯一的树。在回归问题中,预测结果为数值型变量,生成的随机森林为多元非线性回归分析模型,预测输出结果是所有决策树输出的平均值。模型构建过程如图2所示,

图2 随机森林的基本流程Fig.2 Basic process of random forests

1.3 变量贡献度

对于随机森林回归中的变量贡献度分析,使用基于permutation随机置换的残差均方减小量进行衡量,根据均方误差度量值衡量变量贡献程度,大致过程为随机改变某输入变量取值,然后利用生成的随机森林模型进行OOB拟合误差计算[4]。

在生成每个子训练集过程中,Bootstrap方法抽样只抽取原数据集的2/3,其余组成袋外数据,OOB误差增加越多,则该输入变量贡献度越大。OOB误差可估计单棵决策树强度和决策树间的相关性,进而估计模型泛化误差,是模型预报误差的无偏估计[6]。

1.4 算法流程

(1)利用Bootstrap方法从原始数据集中随机抽出M个样本数据集S1,S2,…,SM,每次未被抽中的数据组成袋外数据。

(2)利用每个样本数据集,生成对应的决策树T1,T2,…,TM;在每棵树的节点处,从原始数据n个变量中随机选择m个变量(m<

(3)每棵回归树开始自顶向下的递归分枝,每棵决策树都最大可能地进行生长而不进行剪枝,直至满足终止条件,所有决策树组成随机森林。

(4)将测试数据输入随机森林模型中,得到各决策树的预测结果,取各决策树预测结果的平均值为回归值,即为预测值[7]。

1.5 知识流

在已有的对于知识流的定义中,Hai Zhuge定义知识流是指知识在人们之间流动的过程或是知识处理的机制[8]。MaxH.Boisot认为知识流是一个解决问题、知识扩散、知识吸收和知识扫描的过程[9]。李凤云认为知识流是一个动态的概念,强调在知识的识别、获取、开发、分解、储存、传递、共享以及运用其产生价值的运动过程中应该是无阻碍的[10]。

知识流的结构包括知识流的知识节点、知识流的拓扑特征和知识流的内容。其中: 知识节点是知识流的起始点和停止点,节点在不同层次上有不同的表现,代表了知识员工或知识库;知识流的拓扑特征反映了知识流的连接,即知识流网的拓扑结构;知识流的内容是一个四元组(KL、KT、KFx、KV),其中的 KL是知识的层次,反映了不同组织结构水平上的知识流动,KT是知识的类型,KFx是知识的流量(flux),KV是知识的流速(velocity)。

知识流是一种流动,与传统的物流、劳务流、资金流、信息流等一样,都是在各个节点间的流动,不同的是知识流具有不减性、多变性、难以规划性、潜力巨大等特殊的地方[11]。

2 模型建立

2.1 数据集和测试集

由于随机森林对输入样本的单位和量纲不敏感,算法会处理噪声和缺失值,一般不需要对数据进行预处理,但在进行回归时对数据的清理可以减少学习时的混乱,提高模型的准确率。在数据准备阶段我们需要对数据作出选择、清洗、重建、合并等工作。选出要进行分析的数据,并对不符合模型输入要求的数据进行规范化操作。

本文以西安市1992-2014年气象数据资料为研究对象,选取6个变量运用经典彭曼公式计算出理论作物蒸散量,这6个变量分别为:平均气温(T)、实际日照时长(n)、最低温度(Tmin)、最高温度(Tmax)、平均相对湿度(RH)、风速(Uh),将1992-2012年作为训练数据,2013-2014年作为测试数据,通过组合不同参数建立作物蒸散量预测模型,利用气象数据预测作物蒸散量。

数据通常存储于电子数据表和数据库中,本文将数据导入逗号分隔数值(CSV)格式文件中,该格式文件是由一组记录组成,每项记录中的每个条目由逗号分隔,便于Weka直接读取CSV电子数据表,部分样本数据列在表1中。

表1 部分输入样本数据Tab.1 Part of the sample data

2.2 Weka建模

本研究采用的软件工具是开源软件Weka,其中的RadomForest工具包可以很快速地建立随机森林模型。由于Weka具有很强的面向对象功能,有着丰富的扩展库,可以轻易完成各种高级任务,所以该软件在国内外被广泛使用。

在如图3所示的知识流建模界面中,用户可以定制处理知识流的方式和顺序,通过对知识流模型的监控、测量知识的流通环节,抓住建模关键环节,更加准确、高效地建立气象数据挖掘模型。在知识流界面上任意拖曳代表学习算法和数据源的图形构件,按照一定顺序将代表数据源、预处理工具、学习算法、评估手段和可视化模块的各构件组合在一起,形成知识流。

图3 知识流建模Fig.3 Knowledge flow modeling

在模型建立过程中主要调整numTrees和numFeatures2个参数,以改善模型的预测能力。numTrees表示模型中的单棵决策树总数量,树太少会影响模型精度,树太多并不会对模型造成影响,但会影响计算机处理速度,所以因合理选择树的数量。numFeatures的主要有两个方法,分别是简单选取所有特征或总特征数的平方根,“log2”是另外一种相似类型的选项,这里选择默认设置“0”,“0”代表选择特征数为log2(K),假设输入变量有6个,特征数则为log26,取整数3,执行后得到随机森林模型,然后运用模型对作物蒸散量进行预测。

2.3 模型评价指标

并不是每一次建模都能与我们的目的吻合,评价阶段旨在对建模结果进行评估,对效果较差的结果我们需要分析原因,有时还需要返回前面的步骤对挖掘过程重新定义。

为了评价模型预测能力,模型精度评价指标选择平均相对误差绝对(MRE)、均方根误差(RMSE)、自相关性系数(R2)。MRE、RMSE越小,R2越大,则说明模型的预测效果越好。采用Nash-Suttclife系数Ens系数来衡量模型预测值和计算值之间的拟合度,模型效率主要取决于Nash系数Ens值,Ens越接近1,表明模型效率越高[12]。公式如下:

(4)

3 结果分析

3.1 变量贡献度分析

产生过拟合的一个原因是在模型中只使用相关特征,然而只使用相关特征并不总是事先准备好的,使用特征选择可以使其更简单。随机森林输出特征的重要性体现在作为模型训练的副产品,这对于特征选择是非常有用的[13]。 利用随机森林模型可以对输入变量的重要性进行排序,从图中可以看出输入变量的重要程度,从而可以得知哪些变量对作物需水量预测有重要的影响[14]。

图4 特征权重Fig.4 Feature importances

根据图4所示,可以看出气象数据中6个变量中日最高温度对作物蒸散量影响最高,其他依次是日照时常、风速、平均相对湿度、平均温度、最低温度,其中2个变量重要度累加超过90%,这表明这些变量已对作物蒸散量计算起决定性作用。

3.2 结果和误差分析

3.2.1 决策树数量对模型的影响

首先绘制模型的误差曲线图,如图5所示。

图5 随机森林中决策树数量对性能的影响Fig.5 The impact on the performance of the number of random forest tree

从图5中总体趋势可以看出,随着树的数量增加,模型误差在逐渐减低,当达到一定数量时,模型误差平方和基本保持不变,说明树数量过多不会影响模型的精度,所以由此得出树的总数量越大模型误差越小,精度越高,但不宜过高,树数量超出一定范围后对精度基本无影响,应合理选择树数量。

3.2.2 不同气象参数组合模型分析

选取2013-2014年的气象数据,运用FAO56 Penman-Monteith公式计算理论作物蒸散量,同随机森林模型预测值进行对比分析。

从图6可以看出,利用5个或者6个气象参数建模后所得的结果同彭曼公式计算结果的相关性较好,R2较高,随机森林模型表现出很好的泛化性能,平均相对误差、均方根误差指标均较小,与用经验公式得出的结果基本吻合。由表2可以得知,在所有的气象输入组合参数中,温度对于预测的精度有很大的影响,缺少了温度的组合参数学习得到的模型精度和误差指标都较低,特别是缺少日最高温度;温度、风速,日照时数和相对湿度4个参数进行组合模拟计算时,MSE、RMSE平均值分别为0.180 0、0.527 8,R2平均值为0.929 2,预测精度都比较高;选取2个和3个参数作为输入构建的模型精度明显下降,尤其是RH和Uh这2个参数组合作为输入构建的模型Ens为负值,模型效率较差。

图6 随机森林模型相关性分析Fig.6 Correlation analysis of random forest model

变量MRERMSER2EnsTmax,n,Uh,RH,T,Tmin0.16030.46080.94140.9390Tmax,n,Uh,RH,T0.16010.46650.94110.9356n,Uh,RH,T,Tmin0.16570.48160.94040.9315Tmax,n,Uh,RH0.18420.48230.93530.9150n,Uh,RH,T0.17100.46240.94150.9366Uh,RH,T,Tmin0.18490.63860.91080.8818Tmax,n,Uh0.22850.57990.90470.9002n,Uh,RH0.99561.78510.43800.2919n,T,Tmin0.23610.90200.85240.7780Tmax,n0.25870.91600.80870.7640n,T0.24340.90950.83170.7711Uh,RH1.16032.14220.0700-0.1509

3.3 6参数模型与其他模型对比分析

为综合评价模型性能,采用相同的数据样本分别建立了基于BP神经网络(BP)[15]和基于支持向量机(SVM)的作物蒸散量预测模型,并且比较了3个模型预测的效果,其结果如表3所示。

表3 3种模型结果对比分析Tab.3 Comparative analysis results of three models

图7 BP神经网络模型相关性分析Fig.7 Correlation analysis of BP neural network model

图8 支持向量机模型相关性分析Fig.8 Correlation analysis of SVM model

通过对比发现,3种模型均能较准预测作物蒸散量,相关性都比较好,但BP神经网络学习效率低、收敛速度慢、易得到局部极小值,易造成过拟合;SVM模型也存在过拟合问题,且对缺失数据敏感,相比而言,RF模型在3种指标上都为最小值,相对其他两种建模方法预测误差较小,而且RF模型结构简单,学习效率高,很好地解决了其他两种模型易出现的过拟合问题,在对缺失数据进行估计时,也能较好地保持精确性,保证了预测精度。随机森林与其他算法相比具有更好的过拟合容错性,并且处理大量的变量也不会有太多的过拟合,因为过拟合可以通过更多的决策树来削弱。

4 结 论

本文以数据挖掘的基本处理流程为主线,以作物蒸散量预测为具体实例,构建了基于随机森林的作物蒸散量预测模型,以西安市气象数据对作物蒸散量进行预测分析,结果表明模型预测精度高,泛化能力好,对缺失数据不敏感,能够有效地预测作物蒸散量,对确定作物的需水量具有一定的参考意义。

(1)与BP神经网络预测模型、SVM预测模型相比,随机森林模型具有预测精度高,稳定性好,不用进行数据预处理,对复杂数据具有良好的适应性,能够有效地解决非线性数据。此外,该模型能够输出变量的重要性程度,这是一个非常便利的功能。在对缺失数据进行估计时,随机森林也是一个十分有效的方法,也能较好地保持精确性。

但当进行回归时,随机森林不能够作出超越训练集数据范围的预测,这可能导致在对某些还有特定噪声的数据进行建模时出现过度拟合。

(2)本文提出了基于知识流的数据挖掘模型,通过知识流模型的分层,可以从不同角度、不同层次观察模型知识流的分布和流动情况,可以通过对知识流模型的监控测量知识的流通环节,从而抓住建模关键环节,更加准确、高效地建立数据挖掘模型提供参考和依据。

(3)针对一个特定的气象数据挖掘问题,首先要明确问题,目的是模拟作物蒸散量计算,然后就是数据预处理和特征工程阶段,对冗余、缺失的气象数据进行处理,这实际往往是实际工程中最耗时、最麻烦的阶段,经过特征工程后,通过气象参数组合方式作为输入特征,选择合适的模型进行训练,并且根据评价标准选择最优模型和最优参数,最后根据最优模型对未知气象数据进行预测,得出结果。

[1] 侯志强,杨培岭,苏艳平,等.基于最小二乘支持向量机的ET0模拟计算[J].水利学报,2011,42(6):743-749.

[2] 张育斌,魏正英,马胜利,等.极端天气下作物参照蒸散量计算方法研究[J],中国农村水利水电,2014,(12):64-71.

[3] Jiawei Han,Micheline Kamber,Jian Pei 著.数据挖掘概念与技术[M].范 明,孟小峰 译. 2012:1-22.

[4] Breiman L.Random Forests[J].Machine Learning.2001, 45(1):5- 32.

[5] 李新海.随机森林模型在分类与回归分析中的应用[J].应用昆虫学报,2013,50(4):1 190-1 197.

[6] 甄亿位,郝 敏,陆宝宏,等.基于随机森林的中长期降水量预测模型研究[J].水电能源科学,2015,33(6):6-10.

[7] 王小川,史 峰,郁 磊,等.MATLAB神经网络43个案例分析[M].2013:255-264.

[8] Hai Zhuge. A knowledge flow model for peer- to-peer team knowledge sharing and management[J]. Expert Systems with Applications, 2002,23:23-30.

[9] Max H.Boisot.Is your firm a creative destroyer? Competitive learning and know ledge flows in the technological strategies of firms[J]. Research Policy, 1995,24:489-506.

[10] 李凤云. 基于新型企业观的知识流管理[J]. 中国质量, 2004,(2):6-8.

[11] 周 密,承 文,韩立岩,等.知识流模型及其在航天企业中的应用[J].中国管理科学, 2015,13(5):79-86.

[12] Andy L,Matthew Wiener.Classification and Regression by random forest[J].R News,2002,2(3):18-22.

[13] Robin Genuer, Jean-Michel Poggi, Christine Tuleau-Malot. Variable selection using random forests[J]. Pattern Recognition Letters, Elsevier, 2010, 31 (14):2 225-2 236.

[14] 明均仁,肖 凯. 基于R语言的面向需水预测的随机森林方法[J].统计与决策,2012,357(9):81-83.

[15] 李建军,许 燕.基于 BP 神经网络预测和模糊控制的灌溉控制器设计[J].机械设计与研究,2015,(5):150-153.

猜你喜欢

决策树数据挖掘气象
气象树
《内蒙古气象》征稿简则
探讨人工智能与数据挖掘发展趋势
数据挖掘技术在打击倒卖OBU逃费中的应用浅析
决策树和随机森林方法在管理决策中的应用
大国气象
美丽的气象奇观
基于决策树的出租车乘客出行目的识别
基于模糊关联规则和决策树的图像自动标注
基于肺癌CT的决策树模型在肺癌诊断中的应用