乔小丹, 郑文刚,2, 张 馨, 单飞飞, 王明飞, 梁 栋
(1.北京市农林科学院智能装备技术研究中心,北京 100097; 2.北京市农林科学院,北京 100097;3.安徽大学电子信息工程学院,安徽合肥 230601)
温湿度对农作物生长发育具有重要作用,作物长期处于胁迫环境下易产生疾病甚至死亡,会造成严重的经济损失。日光温室由于保温效果好、环境易调控,在北方地区得到广泛应用。然而,温室小气候中各环境因子具有强耦合性、大时滞及非线性等特点,不利于开展精准化环境调控。预测控制因可以动态预测系统行为在温室控制中得到广泛的应用。预测模型是预测调控的前提条件,构建以温室环境为输出变量的预测模型,对实现温室精准高效调控尤为重要。
近年来,由于深度神经网络能处理多变量间的冗余交叉及时序性特征,在温室环境预测领域内逐渐成为研究热点。刘琦等采用Elman神经网络预测作物冠层不同位置的温度、湿度,该预测模型的温、湿度RMSE分别小于0.8 ℃、1.5%,但该网络采用梯度下降法求解损失函数,难以达到全局最优。赵全明等提出了基于卷积神经网络(CNN)与门控循环单元神经网络(GRU)相结合的温湿度预测方法,其预测指标RMSE、MAE分别为0.211 ℃、2.731%和0.140 ℃、1.713%,具有较好的预测能力,但在应用中发现CNN网络在提取特征时易破坏时间序列原有的完整性,降低了模型预测精度。Jung等通过将LSTM与RNN结合,解决了RNN梯度爆炸的问题,并与人工神经网络(ANN)、非线性自回归外生模型(NARX)进行比对,测试结果表明,RNN-LSTM为最佳模型,但因LSTM内部结构复杂,RNN-LSTM模型运行效率降低。对于上述预测模型存在的缺点,亟须采取相应措施进行改进。本研究提出适用于日光温室的基于长短期记忆神经网络和门控循环单元神经网络相结合(LSTM-GRU)的温湿度预测模型。首先通过温室数据采集系统获取室内外历史气候数据及卷膜开度历史数据,再利用线性插值法填充缺失数据,卡尔曼滤波算法去除噪声,数据归一化处理后,按时间序列输入LSTM-GRU模型中进行预测。试验结果表明,该模型可实现日光温室内温湿度的高精度预测,为温室调控系统提供精准决策。
试验在北京市昌平区国家精准农业示范基地进行,研究对象为以色列国家盛产的罗拉番茄,周期为开花到果实成熟期,试验收集2020年3—4月、2020年6—7月、2021年3—4月和2021年6—7月共4茬8个月数据。室内环境数据利用国家农业智能装备技术研究中心(以下简称中心)研发的温室云环境数据采集器对空气温度()、空气相对湿度()、光照强度()进行监测;室外历史数据采用中心研发的远程墒情监测站监测室外温度()、室外湿度()、平均风速()、风向()和有效降水量();卷膜开度()历史数据使用中心研发的卷膜控制器进行监测。上述采集到的数据由各设备经GPRS无线模块传输到云端进行存储和下载,采集间隔为30 min,24 h连续采集,共计收集11 520条实测数据,温室数据采集系统见图1。
1.2.1 缺失数据处理 传感器在数据采集过程中因网络传输质量和设备故障等问题,易出现数据缺失情况,会对模型预测精度产生较大的影响。本研究利用文献[13]的处理方案:当缺失时间数据跨度较大时,采用天气状况相同的数据进行填补;缺失数据较少时,利用线性插值法进行填充,从而获得完整的数据集,计算公式如下:
(1)
式中:+表示+时刻的缺失值,和+代表和+时刻的原始数据。
1.2.2 数据去噪处理 由于系统噪声干扰及高湿环境的影响,数据可能会在极短的时间内产生跳变、峰刺。为此,本研究利用Python语言编写卡尔曼滤波算法对异常数据进行去噪处理。
卡尔曼滤波主要分为预测阶段和更新阶段,预测阶段利用上一时刻的最优估计来预测当前时刻状态,更新阶段利用当前时刻观测值来修正预测阶段的预测值,以此来获得当前时刻的最优估计。
本研究基于卡尔曼滤波算法去噪处理前后的数据如图2所示。图2-a、图2-c分别为室内温湿度的原始数据,并标注了噪声点。图2-b、图2-d为室内温湿度去噪后的数据,与原始数据相比,平稳性得到增强。
1.2.3 归一化处理 为消除不同量纲对预测模型产生影响,本研究采用min-max标准化方法对数据进行归一化,提高模型的收敛速度和预测精度。
(2)
式中:表示第个测量值;代表测量值的最大值;代表测量值的最小值;′代表标准化后的测量值。
1.2.4 相关性分析 为验证温室环境各特征向量间相关性对模型预测精度的影响,利用origin软件得出变量间的皮尔逊相关性系数,并使用Microsoft Excel 2010画出相关性热力图,如图3所示。参考文献[16]的相关系数与相关程度定义形式,如表1所示。室内空气温度与室外空气温度为强相关,与室内光照强度、室外空气相对湿度及卷膜开度为中等程度相关,与风向、有效降水量及室外平均风速为极弱相关;室内空气相对湿度与室内光照强度、室外空气温湿度及卷膜开度为中等程度相关,与风向、有效降水量及室外平均风速为极弱相关。
表1 相关系数与相关程度
试验计算机处理器为Inter® Corei3-4130 CPU @3.40 GHz 3.40 GHz,4.00 GB内存,Windows10(64-bit)操作系统。试验以Tensorflow1.5深度学习框架(CPU)作为后端支持,集成开发环境为Pycharm 2019a,编程语言为Python3.6,建立温湿度预测模型。
LSTM作为RNN网络的特殊变体,内部通过引入自循环设计来产生长梯度路径,自循环的权重会随着每次迭代而改变;加入遗忘门、输入门及输出门,使得误差在传播过程中无需逐层归因,部分误差还可直接传递给下一层网络,有效地解决了RNN长期依赖、梯度消失及梯度爆炸等问题;也可有效利用现有时间序列数据来预测未来特定时间长度内的数据。但LSTM模型存在对室内温湿度的非线性变化及时序性关系难以有效处理、运行时间长等问题。典型LSTM网络结构见图4。
GRU是在LSTM基础上改进的循环神经网络,不仅解决了传统RNN长期依赖、梯度爆炸和梯度消失等问题,同时通过简化LSTM网络内部结构减少了其训练所需参数,提高了模型的训练速度。但在应用中发现,因内部参数变少导致模型难以达到理想的训练效果。GRU网络结构如图5所示。
本研究提出将LSTM和GRU网络相结合的算法,整体提高了深度学习模型预测精度。LSTM-GRU模型主要包括以下4个部分。
2.4.1 数据预处理及数据集划分 将室内空气温湿度、室内光照强度、室外空气温湿度、室外平均风速、室外风向、有效降水量及卷膜开度历史数据按时间序列保存在csv格式的文件中,再对数据集进行归一化处理,并按9 ∶1比例将数据集随机划分为训练集和测试集进行训练和测试。
2.4.2 网络结构和参数设置 设置LSTM网络为1层,神经元数目为16,激活函数选取Relu;GRU网络选取2层,神经元数目均为16,激活函数采用Relu;LSTM-GRU时间步长设置为16;Dense神经元个数为8,LSTM-GRU网络结构如图6所示。
2.4.3 建模过程 模型不仅要学习温湿度深层次的时域特征表达,而且要整体把握温湿度变化趋势。输入时序数据首先流入以一对一形式展开的LSTM层,输出为每个时间步记忆状态更新的序列,再流入同样以一对一形式展开的第1层GRU中,输出长度不变且每个时间步记忆状态更新的序列,实现模型准确记忆每个时段内温湿度的目标;同时,为整体把握温湿度变化趋势,将第1层GRU输出序列流入以多对一形式展开的第2层GRU中,输出最后一个时间步的更新记忆状态;为防止网络层堆叠不稳定,再利用全连接神经网络(Dense)层进行调节,最后将全连接层的输出经反归一化后得到下一个预测周期(30 min)的温湿度预测值。
2.4.4 模型评估 为评估模型的预测能力和精确度,本研究使用决定系数()、均方根误差(RMSE)和平均绝对误差(MAE)对预测模型进行分析,值越大, RMSE和MAE越小, 表明预测模型预测结果更加精确,计算公式如下:
(3)
(4)
(5)
为验证去噪处理对预测结果的影响,本研究利用卡尔曼滤波进行数据去噪处理。将原始数据和去噪数据分别代入LSTM-GRU模型中进行训练,结果如表2所示。温湿度预测模型在去噪后提高了3.2%、5.5%,RMSE降低了68.2%、49.0%,较大地提高了整个模型的温湿度预测性能。
表2 去噪前后预测结果对比
为验证训练样本量对预测结果的影响,将数据样本划分为2020年3—4月数据、2020年全部数据、2020年度全部数据和2021年3—4月数据、2020—2021年度全部数据共4个数据集(以下简称A、B、C、D数据集),将每个数据集按照9 ∶1比例随机划分为训练集和测试集,并依次导入模型进行训练和测试,结果如图7所示,其中柱状图对应左轴坐标,点线图对应右轴坐标。由图7可知,从数据集到数据集的温湿度预测指标和仅下降了6.3%、9.9%和6.2%、7.2%,而模型训练时间却分别增加327.99、332.06 s,与和下降程度相比,训练效率降低更为明显。这是由于训练样本量增加虽然可充分挖掘序列间关系特征,但当添加2021年3—4月数据样本后,整个样本中包含了过多相似特征导致序列间冗余性大幅度增加,降低了模型运行效率,模型预测精度提升却不明显。因此,本研究选用数据集为代表进行预测模型训练,有效地提高了运行效率。
为验证温室环境各特征向量间相关性对模型预测精度的影响,分别添加相关性强、中、极弱特征向量开展测试试验。针对空气温度预测,首先选取强相关的室外温度进行训练,再添加中等程度相关的光照度、室外湿度及卷膜开度,最后添加有效降水量、室外平均风速及风向等极弱相关量。通过定量分析模型预测指标,结果(表3)发现,添加极弱相关特征向量后温度预测指标、仅降低了11.1%、12.0%,而模型训练时间却增加64.64 s。针对空气湿度预测,首先选取中等程度相关的光照度、室外温湿度及卷膜开度进行训练,而后添加极弱相关的有效降水量、室外平均风速及风向。通过定量分析模型预测指标,结果如表4所示,添加极弱相关特征向量后湿度预测指标、仅降低了10.8%、9.6%,而模型训练时间却增加53.55 s。
综上所述,由于极弱相关性输入特征向量添加,提高了特征向量间冗余和耦合,模型在捕捉数据间高层次特征的同时,降低了模型的运行效率。因此,本研究选取中等程度相关以上的特征向量进行温湿度模型训练,不仅有效降低了模型运行时间,而且能较好地反映室内温湿度变化趋势。
表3 不同输入特征向量下空气温度预测指标
表4 不同输入特征向量下空气湿度预测指标
为验证不同模型对温湿度的预测效果,分别将BP神经网络、LSTM神经网络、GRU神经网络和LSTM-GRU模型预测结果进行对比分析,结果如图8所示。图8-a、图8-b显示上述各模型在 ±0.5 ℃ 内的温度预测误差占总误差的比例分别为87.8%、91.3%、92.4%和93.9%;在±5%内的湿度预测误差占总误差的比例分别为86.6%、89.7%、91.4%和92.0%,图中实线为零基准线,虚线为误差区间。图8-c、图8-d表示室内温度预测指标的和达到0.431、0.352 ℃,较BP神经网络下降了49.1%、47.6%,较LSTM下降了20.4%、21.2%,较GRU下降了18.0%、18.8%;室内相对湿度预测指标和达到4.794%、3.579%,较BP神经网络下降了20.9%、23.2%,较LSTM下降了15.3%、12.5%,较GRU下降了14.3%、9.9%。结果表明,本研究提出的LSTM-GRU模型具有较高的拟合精度,能够准确得到下一个预测周期(30 min)后的温湿度变化趋势,为温室调控系统提供准确的决策依据。
针对已有温室环境预测模型存在运行时间长、预测精度低等不足,本研究提出了基于LSTM-GRU的日光温室温湿度预测模型。首先通过温室数据采集系统获取室内外历史气候数据及卷膜开度历史数据,再利用线性插值法填充缺失数据,卡尔曼滤波算法去除噪声,数据归一化处理后,将数据输入预测模型中进行训练和测试。结果表明,温湿度预测模型在去噪后,分别降低了68.1%、48.9%;预测模型的最佳输入样本量包含温室环境特征多少及相关性程度制约,样本中存在过多相似特征及相关性弱的特征向量都可能导致模型运行效率降低,预测精度提升却不明显。本研究以2020年度数据代表2020—2021年2年度数据进行预测,温湿度模型仅上升16.9%、20.4%,时间却减少327.99、332.06 s;以中等程度相关以上的特征向量代替全部特征向量预测,温湿度模型仅上升12.5%、13.6%,时间却减少64.64、53.55 s;将LSTM-GRU模型与BP神经网络、LSTM模型、GRU模型进行对比,其温度评价指标、分别下降了49.1%、 20.4%、18.0%和47.6%、21.2%、18.8%,湿度评价指标、分别下降了20.9%、15.3%、14.3%和23.2%、12.5%、9.9%,表明LSTM-GRU模型优于上述3个模型,具有较好的预测能力,可作为温室环境控制系统的决策手段。