冯培存,魏正英,张育斌,张 千,张 磊,贾维兵
(西安交通大学 机械制造系统工程国家重点实验室,西安 710049)
参考作物蒸散量是计算作物灌水量的重要参数之一,是目前灌水量预测应用最广泛的一种方式,联合国粮农组织提出了以FAO-56 P-M模型作为计算ET0的公式发,该公式以能量平衡以及水汽扩散理论为基础,具有较为充分的理论依据和计算精度[1]。陆林[2]利用非线性主成分分析法(NLPCA)和径向基(RBF)神经网络组成的模型(NLPCA-RBF)对番茄蒸散量进行估算,结果表明,与传统RBF网络模型相比较,NLPCA-RBF网络预测模型的计算结果更加准确。张育斌[3]等采用耦合模拟退火优化最小二乘支持向量机算法,参照作物蒸散量预测模型,表明该模型对于大田的灌水量预测有较好效果。周瑞[4]等创建了基于粒子群算法和广义回归神经网络的参考作物蒸散量预测模型,该模型在缺少气象数据参数的条件下,仍然具有较好的预测效果。达会广[5]针对温室甜瓜作物的耗水数据,建立非线性多项式甜瓜耗水量模型和BP神经网络模型,结果表明,神经网络方法模拟和预测结果均优于多因素非线性方法。吕天远[6]通过分析番茄茎直径和株高对于水肥变化的响应规律,建立了水肥动态调整模型,并且最终建立水肥供应决策模型。
本文提出了思维进化算法优化BP神经网络的ET0计算模型,以温室实测数据结合P-M公式作为模型数据的训练集和测试集,实验结果表明优化后的BP神经网络相比普通神经网络误差明显降低,此外,研究了在气象参数缺失的条件下对预测模型精度的影响。
作物灌水量的确定对于植物的生长有着重要的意义,是灌溉决策中非常重要的一个参数,一方面合理的灌水量可以满足作物生长的日常需求,另一方面可以实现有限水资源条件下的较优配置,有效减少水资源的浪费。作物需水量确定有一个关键的因素是参考作物蒸散量(ET0)的确定,针对不同作物的不同的生长时期,确定相应的作物系数(Kc),将Kc与ET0相乘即得到作物需水量。目前计算参考作物蒸散量主要采用的是FAO-56 Penman-Monteith方法(PM56法),该模型的建立采用的是能量平衡和空气动力学原理,综合考虑了多项的气象参数,对于ET0的计算有着较好的计算精度。但P-M公式设计到的参数较多,在实际的生产应用中存在着获取完整数据难度大、数据不完整等问题。考虑到温室环境与室外大田环境的差异,温室内风速为0,应采用P-M方程在日光温室中的修正公式:
(1)
式中:ET0i为充分灌溉下第i天的参考蒸散量,mm/d;Δ为饱和蒸气压曲线斜率,kPa/℃;Rn为作物冠层净辐射,MJ/(m2·d);G为土壤热通量密度,MJ/(m2·d);γ为干湿表常数,kPa/℃;T为地表1.5~2.5 m高度处每日平均气温,℃;es为地表1.5~2.5 m高度处平均饱和蒸气压,kPa;ea为地表1.5~2.5 m高度处平均实际蒸气压,kPa。
上式中参数,不是气象站直接得到,而是需要利用气象站采集的原始数据进行计算处理,采集的信息包括日最高气温、日最低气温、日平均气温、日平均相对湿度、有效日照时长以及所在区域的纬度信息和海拔信息。
BP神经网络具有多层前馈神经网络,信号向前传播,误差反向传递,根据预测的误差实时调整网络的权值和阈值,进而使得预测值不断接近期望值。其训练过程如图1所示,主要包括以下步骤,首先对网格初始化,确定计算的初始权值和阈值,将样本数据输入至模型后,会计算出隐层各神经元的输入以及输出,接着计算输出层神经元的输入与输出,获取计算输出层和隐层的误差,根据误差值,对输出层进行修正,并且修改隐层的权值和阈值,判断迭代步数以及误差值是否满足设定值,进而决定是否终止训练。
图1 BP神经网络训练流程图
由以上步骤的分析,在算法中有两个关键的参数是神经网络初始的权值和阈值,这两个值可以决定算法的效率和预测精度,为了更好地确定BP神经网络中的权值和阈值,故引入思维进化算法对其展开研究。
思维进化算法的核心类似于人类思维的进化过程,是在遗传算法基础上衍生出来的新型进化算法,在保留遗传算法的基础啊上,提出新的“趋同”和“异化”两种新的操作算子,通过趋同、异化等操作,不断迭代使得预测值与期望值逐渐逼近。其基本流程如图2所示,在获取样本数据之后,算法会产生初始种群、优胜子种群以及临时子种群,之后子种群执行趋同操作,获取成熟的子群体,之后进行异化操作进而获取全局最优的个体,将此个体作为训练BP神经网络的初始权值和阈值,使得BP神经网络以更快的速率和精度获取预测值。
图2 思维进化算法优化BP神经网络流程图
本文研究的数据来源于宁波农科院温室甜瓜作物一季之内的室内气象站监测,采集的信息包括日最高气温、日最低气温、日平均气温、日平均相对湿度、有效日照时长,利用以上的信息可以利用修正的P-M公式计算获得ET0的标准值。此外,还测量了日平均土壤温度、日平均土壤湿度、日平均CO2浓度、夜平均CO2浓度等85组数据。在算法训练和验证时,选取其中70组数据作为训练数据集用于训练,其余15组数据作为测试数据及用于模型的测试与验证。
模型的评价指标主要有均方根误差(RMSE)、平均绝对误差(MAE)、模型有效系数(EF)以及自相关系数(R2),并将以上4个指标统一到整体评价指标(Global performance indicator,GPI)来评价模型的适用性,以上指标的计算公式如下:
(2)
(3)
(4)
(5)
(6)
当Ti为RMSE和MSE时αi等于-1,其他参数时为1。RMSE越小,表明模型偏差越小;MAE越小,表明模型精度越好;R2越接近1,表明模型模拟的吻合度越高;EF越接近1,表明模型质量越好,可信度越高。GPI越高,说明模型的总体模拟效果越好。
以修正的温室P-M公式计算的ET0值作为标准,温室监测到的气象参数作为模型的输入,分别对普通BP神经网络以及思维进化算法优化后的BP神经网络进行预测分析,利用前文所述评价指标进行量化对比,得到数据如表1所示。由表1数据可以看出,经过MEA算法优化的BP神经网络的均方根误差由0.411 1下降到了0.194 1,平均绝对误差有0.346 0下降到了0.174 9,模型的有效系数由原来的0.753 5提升到了0.981 7,预测数据和目标值之间的相关系数有0.967 5提升到了0.981 7,以上4个因素的整体评价指标GPI由原来的0.963 9提升到了1.557 8,由此可见,在进行ET0预测时,加入思维进化算法(MEA)对于BP神经网络的预测精度有着明显的提升。
表1 BP神经网络以及MEA-BP神经网络预测结果
对利用以上两种模型预测的数据开展相对误差分析,得到相对误差变化曲线如图3所示。由图3曲线可知,未优化前BP神经网络的相对误差在±13.1%以内,优化后最大相对误差在±7.2%以内,由图3曲线可以明显看出,优化后的BP神经网络相对误差值明显减小,且变化幅度较小。经过计算,优化前的BP神经网络相对误差绝对值的均值为6.8%,优化后的相对误差绝对值的均值为3.4%。
图3 BP神经网络优化前后相对误差图
在农业实际的生产应用实践中,由于经济条件、地理因素等诸多方面的影响和限制,通常无法完整获取准确计算ET0的多项气象参数,并且在极端天气条件下也会造成气象数据的异常变化或者难以实现监测,在气象数据不完整或者异常的情况下,对作物蒸散量进行准确的预测有着重大的意义。为此,开展不同气象因子组合下,建立相应的MEA-BP神经网络模型,分组对模型开展训练及验证,分析在不完整气象信息的情况下对MEA-BP模型预测精度的影响。在对气象参数组合之前,首先对各气象因素与标准ET0之间的相关性进行分析,确定各因素对标准ET0的贡献程度的大小。Matlab中的corrcoef函数可计算多个序列的互相关和自相关,并依据自相关值归一化。序列表示为列向量,函数计算序列两两之间的皮尔逊互相关系数和自相关系数。利用corrcoef函数分别对日最高温度、日最低温度、日平均温度、日平均空气相对湿度以及有效光照时长这5个因素与ETO标准值开展相关性计算,相关系数及相关程度如表2所示。
表2 各变量与ET0之间相关性分析
由表2数据可以看出 ,对ET0影响最显著的是有效光照时长,相关系数为0.894 2,相关程度为高度相关。其中日平均温度以及日最高温度的相关系数分别为0.721 8和0.695 1,相关程度为显著相关。影响最小的是日最低温度,相关系数为0.394 4,相关程度为实相关。基于以上相关性分析,对不同的气象因子进行组合,分组对模型进行训练,分析不同气象因子组合对模型的精度的影响见表3。
表3 不同输入参数下MEA-BP模型评价表
注:Tmax为日最高温度,℃;Tmin为日最低温度,℃;Tave为日平均温度,℃;Have为日平均空气相对湿度,%;n为有效光照时长,h。
由表3数据可以看出,随着模型输入气象因子的减少,模型的均方根误差以及平均绝对误差均在逐渐增大,当输入参数由5个减少至3个时,模型的均方根误差由0.19逐渐增大至0.35,平均绝对误差由0.17逐渐增大至0.24,可见均方根以及平均绝对误差的值都在0.35以内,由此可知输入参数减少至3个时,模型的计算精度依旧较高。输入参数由5个减少至3个时,模型的有效系数由0.945逐渐减小至0.821,模型的有效性依旧可以得到保证;预测数据与标准值的相关系数有0.98逐渐减小至0.78。当输入参数个数减小至2个时,均方根误差基本处于0.5以上,平均绝对误差在0.4以上,模型的有效系数在0.8以下,模型的整体评价指标GPI由1急速下降至负数。由以上的分析可知,当输出参数减小至2个时,模型的整体计算精度以及适应性较差。在输入参数保证3个及以上,同时包含有显著影响因子有效光照时长n时,该模型的整体计算精度以及整体的实用性较好。
(1)建立了基于思维进化算法优化BP神经网络的参考作物蒸散量ET0预测模型,利用思维进化散发自动寻优获取了BP神经网络预测中的重要参数-权值和阈值,提升了模型运行的效率和精度,提升了模型的稳定性。
(2)分析对比了BP神经网络优化前模型的均方根误差、平均绝对误差、模型有效系数以及自相关系数,结果表明,优化后的BP神经网络的最大相当误差有原来的13%下降到了7.2%,平均相对误差由原来的6.8%下降到了3.4%,模型优化效果明显。
(3)研究气象数据缺失情况下模型的预测效果,当模型输入参数为4个时,平均绝对误差约为在0.2 mm(预测值约3~6 mm),模型的有效系数和相关系数基本在0.9以上;当模型输入参数为3个时,平均绝对误差约为0.25 mm,模型的有效系数和相关系数基本在0.8以上。因此,在输入参数保证3个及以上,同时包含有显著影响因子有效光照时长时,该模型的整体计算精度以及整体的实用性较好,可以为作物需水量智能决策提供参考。