基于LSTM 的连栋温室能耗预测模型
2023-06-25张云鹤林森沈剑波陈诚李作麟解同磊
张云鹤,林森,沈剑波,陈诚,李作麟,解同磊
(1. 北京市农林科学院智能装备技术研究中心,北京 100097;2. 农芯科技(北京)有限责任公司,北京 100097)
连栋温室作为一种现代农业生产方式,其高能源消耗、高成本投入和高效率产出的生产模式已经成为世界各国农业发展的重点之一。在环境可控的条件下,通过智能装备、信息技术等手段进行动植物高效生产,可显著提升生产效益,其在实现作物的反季节生产和均衡上市等问题上有着非常重要的意义[1-2]。然而,连栋温室也是一种高能耗的生产设施,降温和加温都需要消耗大量的能源[3-4],一般温室的能耗占温室生产成本的30%~40%[5],在某些极端情况下,温室能耗能占到温室生产成本的50%。高能耗已成为阻碍温室发展的主要因素之一。因此,为了提高温室的能源利用效率,减少温室运行的能源消耗,有必要建立温室能耗预测模型,为温室环境节能设计、能源管理和控制提供理论参考[4]。随着人工智能算法在近代飞速发展并在农业设施领域中得到了广泛应用,温室能耗预测模型的建立从机理模型逐渐向黑箱模型发展[6-8]。国内外在温室能耗预测黑箱模型方面进行了大量的研究。Ferreira 等[9]使用径向基函数神经网络方法构建了温室温度预测模型,该模型将室外空气温度、太阳辐射,以及室内相对湿度作为模型的输入,对水培温室空气温度进行了预测,获得了较好的拟合结果。但试验模型没有与其他传统的模型进行对比分析,试验方法的优越性缺乏说服力。汪小旵等[10]通过BP 神经网络方法对温室小气候构建了模型,模型将室外温湿度、风速、太阳辐射和天窗开度作为输入,输出为室内温湿度以及风速的预测值,并基于江淮地区梅雨季节温室历史数据进行验证。试验表明,该模型预测精度较高,但训练样本只限于梅雨季节,模型在该地区整个时间段的泛化效果还需要进一步研究。何芬等[11]基于遗传算法优化的BP 神经网络构建日光温室湿度预测模型,将温室内温度、温室外温湿度、光照强度和保湿覆盖层状态做为模型输入预测温室湿度。试验表明,该模型适用于华北地区的冬季日光温室,精度高且收敛速度快,可以作为空气湿度预测模型。邹秋滢[12]为对温室室内外温湿度等环境因子进行模拟和预测,使用ANFIS 神经网络方法构建了温室小气候模型。经过温室历史数据验证表明,该模型对温室环境因子的预测精度较高。程曼等[13]使用BP 神经网络对温室室内外环境数据进行了拟合,将室外环境数据和天气状况作为模型输入,室内温度和室内湿度作为输出构建了温室环境模型,并使用预测结果优化了温室的环境控制。Taki 等[14]分别对使用动态模型、线性回归模型和人工神经网络模型构建半日光温室室内温度和能量损失预测模型的过程进行了研究,经过试验和对比分析,发现动态模型和线性回归模型构建方法复杂,且无法准确预测输出参数,而人工神经网络模型简单且预测结果准确,更适用于温室环境和能耗的预测。彭辉等[15]利用自适应模糊神经网络(ANFIS)构建温室环境模型,该模型将温度和湿度差作为输入,把获得的控制输出用于后续的温室环境控制。根据后续控制试验的结果证明,自适应模糊神经网络预测方法具有很高的精确性和鲁棒性。任守纲等[16]和刘鑫[17]基于滚动的反向传播神经网络(R-BP)构建温室小气候预测模型,解决了BP神经网络中长期预测累积误差大的问题。通过历史数据验证,该模型在预测6 h 内室内温度和室内湿度时能明显降低平均误差,可以较准确的预测未来6 h 内温室小气候环境变化。王茂发等[18]提出了一种新的短距空间并行双向RNN 算法用于高光谱农业图像分类,通过组合多个卷积层实现了频谱和空间特征的同时利用,提升了图像的分类效果。
综上所述,能耗预测模型的构建多采用人工神经网络(ANN)方法,但目前构建模型使用的神经网络还停留在简单的浅层神经网络,这些方法构建模型复杂且非线性拟合能力有限。随着深度学习的进步和发展,长短期记忆神经网络(LSTM)等具有更强大拟合能力的深层神经网络算法早已成熟且应用于包括农业在内的众多领域。本文基于LSTM 神经网络构建温室能耗预测模型,通过与循环神经网络(RNN)以及BP 神经网络构建的能耗预测模型进行对比,发现LSTM 神经网络模型对能耗的预测准确性更高,对温室的节能设计和能耗控制有一定的指导意义。
1 材料与方法
1.1 数据来源
试验于2020 年11 月至2021 年6 月在山东省寿光现代农业高新技术试验示范基地智慧农业科技园进行。试验使用传感器采集温室室内外空气温度和湿度(图1),通过网关实时传输并存储在云服务器部署的数据库。室内外环境数据采集时间为每天24 h 不间断,每5 min 上传1 条数据至数据库,设备型号个数温室的耗电量数据每天有17 个时间段记录并上传数据库。
图1 温室传感器
1.2 数据处理
本试验使用Python 的Keras 深度学习框架构建LSTM 深度神经网络模型,将采集的数据输入到模型之前需要进行预处理。
本试验使用Python 的pandas 库和sklearn 库进行数据的读取和预处理。pandas 库和sklearn 库是Python 常用的扩展库,其中pandas 库是强大的数据分析库,其主要有Series 和DataFrame 2 种数据类型,简化对数据集操作;sklearn 是scikit-learn 的缩写,是强大的机器学习库,包含很多机器学习计算方法,通过其对pandas 处理后的数据进行进一步的复杂计算处理。
试验首先通过pandas 库读取excel 数据,将数据存储到二维数据类型DataFrame 中,然后进行数据清洗,因为采集设备和人为因素等各方面问题,有些日期的能耗数据缺失,为保证试验的准确性,对该日期的环境数据进行删除处理。针对环境因子每5 min 采集1 条数据,每天的能耗数据只有17 个的数据格式不匹配的问题,对每天对应能耗数据时间段的温室内外环境数据进行取平均值的处理,这样每条环境数据对应1 个能耗数据,符合模型的数据格式要求。
经过数据清洗和格式化,最后获得2020 年11月至2021 年6 月温室室内外温度、室内湿度和耗电量数据共4 023 条,使用sklearn 库的preprocesssing模块对数据进行归一化处理,即将数据映射至(0,1)范围,得到最终的模型输入数据集合。
1.3 研究方法
1.3.1 长短期记忆神经网络 长短期记忆神经网络(LSTM)由Hochreiter 和Schmidhuber 于1997 年提出,是一种特殊的循环神经网络,其在原始RNN 隐藏层的基础上增加了处理长距离依赖的单元状态,解决了循环神经网络(RNN)存在的梯度消失问题,能够对依赖信息进行长期学习[19]。
为了控制新增加的单元状态,LSTM 使用了3个控制开关,即输入门、输出门、遗忘门。输入门用来控制信息输入,遗忘门用来控制细胞历史状态信息的保留,输出门用来控制信息输出。
假设模型输入为(x1,x2,…,xt),隐藏层输出为(h1,h2,…,ht),则在t 时刻,LSTM 的输入有3 个:当前网络的输入xt、前一时刻的隐藏层单元输出ht-1,以及前一时刻的单元状态ct-1,根据前向计算得出下列公式。
1.3.2 基于LSTM 的能耗预测模型 本试验进行温室能耗预测的完整流程如图2 所示,其步骤主要包括数据获取和预处理、模型构建、模型训练和模型预测。
图2 温室能耗预测流程图
(1)数据的获取和预处理。首先,通过传感器等设备采集温室室内外环境数据和能耗数据,将数据同步至云端服务器,手动将云端数据导入到本地excel 文件中。然后,对采集的数据进行预处理,包括清洗、格式化和归一化,得到最终符合模型输入的数据,并根据留出法按照8:2 的比例划分训练集和测试集。
(2)LSTM 网络能耗预测模型的构建。使用Python 的Keras 深度学习框架构建能耗预测模型。本试验使用Sequential 模型获取model 对象搭建LSTM 网络模型,通过该对象调用add( )方法搭建LSTM 网络模型。该方法逐层按需添加LSTM 网络层、Dropout()遗忘层或Dense()全连接层。然后,调用compile()方法设置损失函数loss、评估方法metrics和优化器optimizer。最后,调用fit()方法设置训练轮数epochs、验证集比例validation_split 和每次梯度更新的样本数batch_size,并输入训练数据开始训练。模型根据预设的损失函数,优化器等进行训练和验证,每一轮训练的结果都保存在history 对象中。
(3)通过Python 的matplotlib 库进行训练数据和测试数据的可视化,通过sklearn 库的metrics 模块计算评价指标,通过图像和评价指标判断模型的训练情况,修改参数后重新训练和测试,直至获得最接近的训练和验证结果,将此时的参数代入模型,将训练集和测试集一起输入模型训练得到最终的模型。
1.3.3 基于BP 神经网络的能耗预测模型 BP 神经网络分析法是机器学习的一种分析方法,是按误差逆传播算法训练的多层前馈网络。BP 神经网络是目前应用最广泛的神经网络模型之一,通常由输入层、隐含层、输出层组成。BP 神经网络实现从输入到输出的映射功能,能以任何精度逼近任意非线性连续函数[20]。
隐含层的传递函数为S 型曲线,设置为tansig函数。输出层的传递函数为线性函数,即purelin函数。
1.4 模型评价指标
本试验采用均方误差MSE 和平均绝对误差MAE 作为预测模型性能的评价指标。MSE 为均方误差函数,MAE 为平均绝对值误差函数。
式中,yi为试验采集的温室数据;为模型的预测数据值。
2 结果与分析
2.1 Python 数据分析结果
在模型中使用MSE 函数作为损失函数计算误差,使用MAE 函数作为评估函数,评估函数的作用类似于损失函数,但是,评估函数计算的值不会用于训练。使用Adam 算法进行优化,因为调用fit()方法训练模型,所以每一轮训练的结果会保存在history对象中,该对象是Python 中的字典数据类型,通过matplotlib 库将history 存储的值可视化如图3 所示。
图3 训练集和验证集损失和评价对比图
由图3 可以看出,随着训练轮数的增加,训练损失和测试损失不断减少,最后趋于平稳,训练的评价值和预测的评价值也在不断减少,最终趋于平稳。训练损失是在训练集上通过MSE 函数计算的损失值。训练评价值是在训练集上通过MAE 函数计算的评价值。因为模型在学习数据集的特征,学习的过程会使损失值和评价值降低。测试损失是在测试集上通过MSE 函数计算的损失值,即模型预测得到的能耗值与测试集真实能耗值的均方误差,测试评价值是在测试集上通过MAE 函数计算的评价值,即模型预测的能耗值和测试集真实能耗值的平均绝对误差。
2.2 能耗预测模型对比分析
为了验证LSTM 网络模型的性能,同时构建BP神经网络模型和RNN 模型对温室能耗数据集进行训练和预测并对比分析。在相同的训练超参数条件和数据集划分情况下,分别调整模型参数,查看模型训练结果和在测试集的泛化结果,经过多次对比试验,保留最好的测试集预测结果下的模型参数。此时模型在训练集的学习结果如图4 所示。BP 神经网络、RNN 神经网络和LSTM 神经网络都能对训练数据集数据的数据范围和趋势进行准确的学习和预测,模型在测试集的泛化结果如图5 所示。模型能在充分学习训练数据集的特征之后,对测试集数据的范围和趋势进行较好的拟合,表明模型同时具有较好的泛化性,但相比较之下,RNN 和LSTM 网络模型的在同等条件下的预测值更接近真实值,而BP网络模型预测值偏差较大。
图4 BP 网络(A)、RNN 网络(B)和LSTM 网络(C)在训练集训练结果
图5 能耗数据与BP 网络、RNN 网络和LSTM 网络预测值对比
表1 给出了将BP、RNN 和LSTM 网络模型参数调整到最优时,模型的评价指标和运行时间。由表1 可知,BP、RNN 和LSTM 网络模型预测值和真实值的均方差分别为0.054、0.040、0.037,平均绝对误差分别为0.142、0.121、0.114。3 个模型的MAE 值都明显高于MSE 值。因为模型按照MSE 损失函数进行优化和训练,所以MSE 值要小于MAE 值。LSTM 网络模型相较于BP 模型均方差损失降低了0.017,平均绝对误差损失降低了0.028,相较于RNN 模型均方差损失降低了0.003,平均绝对误差损失降低了0.007。然而,LSTM 模型的运行时间是3 个模型中最长的。
表1 BP 网络、RNN 网络和LSTM 网络评价指标和运行时间
由试验结果可得,该文所提的模型略优于BP网络模型和RNN 神经网络模型,基于LSTM 的温室能耗模型能更好的提取温室环境数据的高维特征,能更精确的拟合温室环境下的能量消耗,在一定程度上提高了传统网络模型算法的精度。
3 讨论与结论
3.1 讨论
本研究中的数据集规模在Python 数据分析案例中属于小数据集范畴,虽然在该数据集的训练和测试试验下,LSTM 模型的预测结果略优于其他算法,但3 个模型的预测效果均良好。一般来说,训练时间长精度会有所提高。对于LSTM 神经网络时间运行时间较长的问题,可通过设置不同的参数对神经网络进行多次训练,选择运行效率较高的网络结构。
本研究中,LSTM 网络模型运行时间是BP 模型RNN 模型的2.96 倍、1.68 倍,LSTM 模型的训练时间较长。其优越性无法更好的体现,若要进一步研究LSTM 网络的优越性和实用性,需要后续采集更多的数据,进一步进行对比试验。虽然3 种神经网络的运行时间有所不同,但在程序实际运行过程中,在这个场景下,运行时间满足生产使用要求,为了获取更高的预测效果,时间成本可以忽略。
3.2 结论
本研究针对大型连栋温室能耗较高的问题,使用了LSTM 长短时记忆神经网络构建玻璃温室能耗预测模型,并将该模型的预测效果分别与BP 和RNN 神经网络模型进行对比。根据研究结果可得出如下结论。
(1)从精度方面,LSTM 模型的预测精度指标均优于BP 和RNN 网络模型。具体排序为:LSTM 神经网络模型优于RNN 神经网络模型,RNN 神经网络模型优于BP 神经网络模型。
(2)从运行时间上来说,BP 神经网络模型优于RNN 神经网络模型与LSTM 神经网络模型。具体排序为:BP 神经网络模型优于RNN 神经网络模型,RNN 神经网络模型优于LSTM 神经网络模型。
本研究针对北方地区玻璃温室作生产中能耗过大,能源浪费严重的问题,利用BP 神经网络模型、RNN 神经网络模型与LSTM 神经网络模型3 类模型进行比较与分析,在温室能耗的预测、管理和控制等方面提供了精确的耗能预测方法,具有重要的现实意义与价值。