APP下载

基于时间序列和多元模型的集约化猪舍温度预测

2021-05-18曾志雄罗毅智余乔东吕恩利夏晶晶

华南农业大学学报 2021年3期
关键词:猪舍母猪节点

曾志雄,罗毅智,余乔东,蔡 任,吕恩利,夏晶晶,2

(1 华南农业大学 工程学院,广东 广州 510642; 2 广东机电职业技术学院,广东 广州 510515)

集约化猪舍是一个复杂的小气候环境,受内、外部环境的影响,猪舍内部温度具有波动、滞后、强干扰、多耦合等特征。而温度是养猪生产过程中的重要影响因素[1]。猪舍内部环境过热、过冷、潮湿等不良环境条件,可导致猪体不适、生产能力下降、成活率降低,甚至诱发感冒、腹泻或呼吸道疾病等[2]。据美国国家研究委员会 (National research council,NRC)报道,在一定范围内,气温每升高1 ℃,猪采食量减少 40 g;在持续高温 (28~35 ℃)环境下,生猪日采食量较常温下降14%,日增质量下降21%,料重比增加0.23。为降低能耗、减少饲料消耗、优化猪舍环境,前人研究了生猪养殖环境下相对湿度、二氧化碳浓度、氧气浓度、氨气浓度、硫化氢浓度等环境因子对温度预测的影响[3-4],进而精准预测猪舍温度,并提出环境调控与预警方案[5-6],提高了生猪养殖存活率,对我国养猪产业具有重要的实际意义。

目前,国内外学者主要从理化统计模型和算法分析2个方面对养殖场温度预测进行相关研究[7-14]。Norton等[15]和Andonov等[16]探索了自然通风下畜舍温度的变化规律,但受限于应用场景,模型稳定性尚不明确,预测精度还不能满足应用。随着计算机性能的发展,算法分析展现其稳定性和预测精度高的特点。杨柳[17]提出基于历史温湿度序列进行多尺度分析,得到温湿度的变化规律曲线,并通过支持向量机回归预测出下一时刻猪舍内温湿度值,该算法发挥了支持向量机对线性数据的拟合特性,但是对温度的预测精度及准确性较低。前人基于模糊方法技术,利用组态软件研究了猪舍内环境因子的相互影响规律[18-21],但模型并未对环境因素进行针对性调控[22]。陈昕等[23]基于神经网络和二次聚类,进一步对温室温度进行二次预测,相比于未聚类的BP神经算法,提高了温度预测的准确度。杨亮等[24]和Rodriguez等[25]提出基于EMD-LSTM的猪舍氨气浓度预测模型,将氨气进行尺度分解,能够较好地拟合猪舍内环境参数与氨气浓度之间的关系。

本文采用时间序列模型[20],预测未来10 min的温度数据;基于多元模型,研究环境因素中的各个特征对温度的影响程度,同时添加BP神经网络模型[26]、循环神经网络[27]等,开展对比研究。结合猪舍多点多源环境监测系统,建立基于时间序列和多元模型的猪舍温度预测模型,为猪舍环境的精细调控提供参考。

1 研究方法

1.1 门控循环单元网络算法

门控循环单元网络 (Gated recurrent unit,GRU)内部结构如图1a所示。GRU是一种在长短期神经网络 (Long short-term memory,LSTM)基础上进行改进的循环神经网络(Recurrent neural network,RNN) 算法[28-29],图 1b为随时间展开的 RNN单元,该算法能够克服传统RNN算法梯度消失的问题。与LSTM相比,减少了训练所需的参数、降低模型复杂度、提升训练效率。

图 1 循环神经网络结构图Fig.1 Cyclic neural network structure diagram

GRU算法具体公式如下:

式中,Ur和Wr分别是各个门的隐藏状态权重和输入变量权重,⊙是Hadamard积,h(t)表示t时刻的隐藏状态,(t)为重置后的数据,x(t)为t时刻的输入,y(t)是t时刻的输出,同时也作为t+1时刻的输入。

1.2 极端梯度提升

极端梯度决策树 (Extreme gradient boosting,XGBoost)是梯度提升 (Gradient boosting)的一种高效系统实现,其对梯度提升决策树(Gradient boosting decision tree,GBDT)进行了优化改进,能够并行计算、近似建树和对稀疏数据进行有效处理,对 CPU 和内存的使用进行了优化,使其在机器学习领域展现了很好的效果[30]。其目标函数为

1.3 基于时间序列和多元模型的集约化猪舍温度预测模型

猪舍温度数据序列受猪舍内其他环境因子影响,例如相对湿度、空间位置、氧气浓度、二氧化碳浓度等。本研究在同一时刻,探讨环境因子缺失对猪舍温度数据预测的影响,构建基于时间序列与多元模型的猪舍温度预测模型(图2)。

图 2 基于时间序列和温度序列的猪舍温度预测流程图Fig.2 A flow chart of temperature prediction of piggery based on time series and temperature series

具体步骤如下:

1)数据采集与处理。利用无线多点多源远程监测系统[31],采集母猪分娩舍内温度、氧气浓度、二氧化碳浓度、相对湿度等参数,然后对系统采集的数据进行预处理,去除错误值,最后归一化,并对数据进行预处理分析。

2)基于GRU时间序列猪舍温度预测模型的可靠性检测。采用GRU算法,构建基于温度的时间序列预测模型,模型的输入参数是分娩母猪舍二氧化碳浓度、相对湿度和氧气浓度,模型的输出参数是分娩母猪舍未来10 min的舍内温度值。首先,初始化GRU预测模型参数;随后,不断优化调整预测模型参数,提高分娩舍内温度预测的准确度。

3)基于单变量缺失的模型评估检测。删减单个环境因子,构建缺失单个变量的模型,采用步骤2)的方法预测分娩舍内温度,定义评价单变量缺失模型的评价指标,根据评价指标,得到各个环境因子的重要程度。首先,基于GRU温度预测模型,将模型的输入参数删减某一个环境因子,模型的输出参数是分娩舍未来10 min的舍内温度预测值;其次,根据评价指标,计算该环境因子对猪舍温度预测模型的影响程度;最后,根据统计结果,分析各个环境因子的重要程度。

1.4 集约化猪舍温度预测试验

1.4.1 数据采集 以广东省云浮市某集约化种猪场的母猪分娩舍作为研究对象,该猪舍长度1 990 cm、宽度1 100 cm,屋顶采用平顶式设计,地板类型为半漏缝式地板,通风方式为机械通风。利用无线多点多源远程监测系统进行数据采集[32],采集频率为每10 min采集1次。该场区猪舍配备降温湿帘、屋顶小窗及侧墙负压风机等环控设施。试验开始前,提前进入猪舍内进行勘察踩点,详细记录猪舍的猪只类型和数量、建筑尺寸、通风方式、环控原理等。绘制猪舍平面布局图并进行监测区域划分,为节点设备的合理布置提供参考。试验时间为2018年7月15—17日,除去设备布置、清理节点、电池充电等耗时,总有效测试时长约72 h。选取舍内41台无线监测节点(下文统称“节点”)采集到的16 981条有效环境信息数据作为原始试验数据,包括温度、相对湿度、二氧化碳浓度、氧气浓度、数据包上传时间、节点号等各类试验环境信息。试验完成后,下载试验数据并分类编排整理,对原始数据进行预处理,剔除异常数据包,进行统计学分析并绘图。

1.4.2 节点工作原理 图3为无线多点多源远程监测系统工作原理的拓扑结构,舍内各个节点测得的环境数据经DTU上传至服务器,工作人员可登录网站或者移动端查看。

图 3 监测系统工作原理Fig.3 The operating principle of monitoring system

1.4.3 节点布置方法为避免产后母猪的应激反应对哺乳仔猪造成影响,在猪场管理人员的许可下进行了产前分娩舍的试验测试。试验分娩舍内存有妊娠期107 d(产前7 d)的待产母猪共30头。建筑外墙一侧设置有降温湿帘,舍内通风采用屋顶小窗进风,侧墙负压风机排风方式。屋顶小窗为横向排列,每排5个小窗共2排。侧墙负压风机为纵向排列,风机包括1台变频风机(80 cm)和3台恒速风机 (100 cm)。试验猪舍长度 1 990 cm、宽度 1 100 cm、高度260 cm,过道宽度104 cm;每个哺乳母猪栏单格长度 240 cm、宽度 182 cm,总计 30 格。单格内限位栏宽度70 cm,仅容纳1头哺乳母猪。猪舍地面下方为水泡粪地沟,沟内设有地沟风机进行排风。

试验分娩舍内部空间适中,待产母猪的限位栏间隔较宽,3排栏体单格均为纵向排列。母猪头对头、尾对尾分布,待产母猪腹部一侧留有仔猪活动空间。根据实地勘察结果,结合猪只分布及舍内通风特点,选取部分限位栏单格内的母猪及仔猪猪头区域作为节点设备的主要监测点,并选取舍内出风口区域及舍外区域作为试验对照组。

将节点设备进行合理布置划分,以研究试验分娩舍内各环境因素的分布特性。为此,将舍内监测区域详细划分为母猪呼吸区域高度平面(0.70 m)、仔猪呼吸区域高度平面(0.35 m)、出风口区域高度平面 (0.70 m)及舍外区域,分别挂设 15、9、3和2台从节点设备,设置每10 min采集1次数据。主节点置于入口信号较好区域,确认主、从节点位置编号并开启电源进行72 h不间断监测。试验过程中通过后台定时查看各节点设备数据上传记录。试验分娩舍平面结构图及监测区域主、从节点分布如图4所示。

图 4 试验分娩舍侧、俯视图及各区域节点分布Fig.4 Side and top views of test farrowing pig house and node distribution in each region

1.4.4 数据预处理 参照文献 [33]对系统采集到的数据进行预处理,分为3个步骤:

1)异常数据处理。本次采集到的数据中,数据异常情况主要为缺失值和错误值2种。因间歇断电造成的数据异常、少数数据丢失,即为缺失值;本试验中数据的错误值主要是指温度或者相对湿度值,小于或等于0的数据,由试验条件可知显然这是不合理的数据。对这2类异常数据使用拉格朗日插值法,以异常点两侧的正常数据取平均值填充,计算公式如下:

式中,Error为异常值,Value为正常值,Xn和分别为异常数据值及替代值,n表示样本所在的时刻序列号。

2)按节点划分数据集进行时间序列化处理。由于时间序列的试验需要在同一观测节点,因此按节点将数据分成了41组,并根据时间形成序列。根据程序设定,按照时间序以2∶1的比例划分为训练集和预测集。

3)归一化处理。由于数据中各种变量的量纲不同,为提高预测的准确性,本文对数据进行归一化处理,计算公式如下:

式中,X∗为归一化后的数值,Xn为观测值,Xmax和Xmin分别表示最大值和最小值。

1.4.5 结果评价指标为了判断时间序列是否具有预测价值,基于统计学方法对时间序列进行平稳性检验和白噪声检验,指标为单位根检验P值,当平稳性检验的P小于0.05时,该序列是平稳序列,反之为非平稳序列;当白噪声检验的P小于0.05时,该序列是非白噪声序列,反之为白噪声序列。从而判断该组时间序列是否具有预测价值。

为了比较不同预测方法的预测结果,采用3种误差指标:平均绝对误差 (Mean absolute error,MAE)、平均绝对百分比误差 (Mean absolute percent error, MAPE)和均方根误差 (Root mean square error, RMSE)来衡量各模型的预测结果,指标数值越小,预测方法的精度越高,说明预测效果越好[34]。三者的表达式如下:

式中,Observedt和 Predictedt分别表示第t个观测值和预测值,n表示样本规模。

选取最优多元模型,采用单变量缺失预测温度。分别使用XGBoost、反向传播神经网络(Back propagation neural network,BPNN)[35]和线性回归(Linear regression,LR)[36]建立多元模型,构建缺失单个变量的模型(以下称为“缺失变量预测模型”),该模型误差越大,说明对应的缺失变量对预测结果的误差越大,定义某一自变量对预测结果的贡献度得分为Scorei, Sc orei越高,对应的缺失变量对预测结果越重要。计算公式如下:

式中,MAPEi指的是第i个缺失变量的MAPE。

1.4.6 对比模型为了评估GRU模型和XGBoost模型的效果,基于时间序列模型,添加RNN模型[37]进行对比;基于多元模型,添加BPNN和LR模型进行对比。

2 结果与分析

2.1 基于GRU时间序列的猪舍温度预测模型可靠性测试结果

针对猪舍温度时间序列数据特点,采取基于GRU检验温度时间序列,验证其是否具有预测价值。首先,基于统计学方法对时间序列进行平稳性检验和白噪声检验[38];然后,采用基于GRU神经网络算法对模型进行训练和测试,预测未来10 min分娩舍温度的数值;最后,添加RNN模型,选取最优模型。

对分娩舍温度时间序列数据集进行统计,得出其原始序列平稳性检验、一阶差分序列平稳性值和一阶差分序列白噪声检验的P值分别为0.13、2.07×10−15和 2.77×10−49。可见,温度的一阶差分序列为平稳非白噪声序列,该时间序列的一阶差分序列有较强的短期相关性,可对其进行时间序列建模。使用GRU和RNN预测模型进行对比分析,得到对应模型的MAE、MAPE和RMSE 3个指标,结果见图5。图5a、5b和5c的结果表明,相对于RNN模型,GRU模型的RMSE、MAE和MAPE均较小;图5d可以看出,相比于RNN模型,GRU模型的数据预测值曲线与观测值曲线更加接近。

图 5 GRU和RNN时间序列模型温度预测结果对比Fig.5 Comparison of temperature prediction results of GRU and RNN time series models

基于上述试验结果,对每个模型的3项指标进行计算,得到全部节点的指标平均值,结果见表1。由表1可见,对于不同的误差指标(RMSE、MAE和MAPE),GRU模型取得的值都比RNN模型的要小。表明在时间序列预测试验中,GRU模型的性能优于RNN模型。所以,选取GRU模型,进行基于单变量缺失模型的评估检测。

表 1 温度预测试验中GRU和RNN时间序列模型的指标1)Table 1 Indexes of GRU and RNN time series models in temperature prediction test

2.2 基于单变量缺失模型评估检测结果

为研究环境因子缺失对猪舍温度预测的影响,采用单变量缺失的多元模型和GRU预测模型,得到温度预测的结果,进而得到该环境因子对猪舍温度预测的贡献度。首先,选取经过预处理的数据集,在不区分节点的情况下,按照2∶1的比例随机划分为训练集和测试集;然后,选取BPNN和LR等回归模型,进行对比分析,模型的输出是温度序列,模型的输入是剩余的环境因子。测试集验证结果(表2)表明,XGBoost和BPNN模型的3项指标均优于LR模型。XGBoost模型的MAPE和MAE最低,XGBoost模型的RMSE(1.21 ℃)略高于BPNN模型(0.89 ℃),这可能是因为RMSE对于个别离群点的敏感性以及较小的数据量对预测结果造成了影响。

表 2 温度预测试验中多元模型的指标1)Table 2 Indexes of multivariate model in temperature prediction test

由表2可知,XGBoost和BPNN模型相比LR模型较为可靠,为了避免单个模型的预测结果的偶然性,选择这两者同时用于构建缺失变量预测模型,结果如表3所示。由表3可知,根据XGBoost和BPNN模型的预测结果,变量重要程度(Score)排名得出了相同的结果,2个模型的Score排序由高到低均为节点编号(即空间位置)>相对湿度>二氧化碳浓度>氧气浓度。XGBoost和BPBN的模型得到的结果基本一致,保证了该方法和排名结果的可靠性。

表 3 温度预测试验中变量缺失的XGBoost和BPNN多元模型的Score值Table 3 Score values of XGBoost and BPNN multivariate models with missing variables in temperature prediction test

3 结论

针对母猪分娩舍的温度预测问题,提出了基于时间序列模型的纵向预测融合多元模型的横向预测方法。1)基于时间序列模型,对猪舍温度序列进行纵向预测,试验结果表明GRU模型优于RNN模型,MAPE分别为2.50和.031,在分娩舍的实际环境参数调控管理中属于可接受的误差范围,在时间维度上对分娩舍温度的变化起到了预警作用。2)基于多元模型,对猪舍温度序列进行横向预测,本文从环境因素之间相互影响这一事实出发研究其他因素对温度的影响,提出一种基于XGBoost模型的猪舍温度预测方法,并与BPNN和LR模型的效果进行对比。结果表明,XGBoost和BPNN模型优于LR模型,但在不同的评价指标上,XGBoost和BPNN模型性能各有优劣。从RMSE来看,BPNN模型的误差小于XGBoost模型;但从MAE和MAPE来看,XGBoost模型的误差小于BPNN模型。从RMSE、MAE和MAPE的公式来看,RMSE受离群点的影响较大,本文的数据集也存在着部分的噪点且采集的数据不够多等问题,这些因素对预测结果造成了影响。总体来看,XGBoost模型有较大的应用潜力。3)在探究某一自变量对预测结果贡献度的试验中,确定了各种环境参数对温度的影响程度。其中,节点对试验结果影响最大,即空间位置对温度影响最大,建议在猪舍温度的调控中,可以在不同的空间位置采用不同措施,精细化调控养殖环境。

本研究试验数据在时间和空间的数量不足,今后应采用有线数据采集系统补充全年度全过程的数据,同时研究季节性变化对于分娩母猪猪舍温度变化的影响,并根据机器学习预测模型,补充温度调控的试验。

猜你喜欢

猪舍母猪节点
能繁母猪存栏半年减少235万头
江苏楼房猪舍臭气处理模式
夏季环境湿度对生猪会产生怎样的影响
基于图连通支配集的子图匹配优化算法
膳食纤维对母猪肠道的作用
后非瘟时代生产母猪饲养关键点详解
后备母猪的选择和培育
阳光猪舍的夏季管理
结合概率路由的机会网络自私节点检测算法
面向复杂网络的节点相似性度量*