猪只的饮水量是评估其健康状况和生产性能的关键指标,同时也是衡量其食物摄入和转化率的基础
[1]。目前,在规模化养殖场与相关研究中均以平均饮水量作为猪只个体饮水量化指标
[2-3]。然而,在精准调控方面,以平均量作为量化指标无法准确反映个体差异,将导致猪只个体发育不均,直观体现在体重不一。随着精细化养殖的兴起
[4],精准获取猪只个体饮水量变得至关重要,这有助于及时判别猪只是否正常饮水,进而预防或控制猪只的各种疾病发生。另外,通过了解猪只个体的饮水量,还有助于优化饮水管理和饲料配方,进一步提高养殖效益
[5]。
传统测量猪只饮水量的方法主要包括人工监测和量化模型。人工监测是利用高精度流量计对水量进行计量,并结合RFID电子耳标获取猪只的身份信息,从而进一步确定猪只的饮水量
[6],这一方法虽精准,有助于研究验证,但成本高昂,难以在规模化养殖中普及;量化模型则是通过整合影响猪只饮水量的因素,构建预测模型。例如,Dominiak等
[7]基于流量计的数据构建了育肥猪的饮水消耗的空间多元动态线性模型(DLM);Kashiha等
[1]通过记录猪只与饮水器水嘴接触时长,并使用单输入单输出函数来关联半小时饮水量与接触时间,进而构建饮水量变化模型;周康
[8]使用其开发的猪只饮水监测平台通过图像识别方式获取猪只饮水时长,探究了饮水时长与饮水量的相关性,并根据饮水时长与饮水量关系通过回归分析建立了饮水量估计模型。尽管这些模型能反映一段时间内的饮水量变化,但对于快速生长阶段的猪只,其预测精度并不理想。
猪只的个体饮水量受到众多因素的影响
[9-10],因此应构建一个多输入单输出的量化模型。纵览相关研究,可知日龄、体重、饮水次数、水温、饮水时长等因素都是猪只饮水量量化研究的重要数据来源
[11-16],为量化模型的特征输入提供了明确依据。线性回归是一种利用线性函数对自变量和因变量之间的关系进行建模的方法。已有研究构建的单输入单输出模型都是采用的线性回归方法,然而,线性回归易受噪声数据干扰,并且由于其模型只求最小损失,预测结果通常不够准确。机器学习是一种通过算法模型在训练数据上进行学习,有效地建立已有的数据与未知的数据之间的耦合关系的高效数据处理方式
[17]。机器学习能够有效处理猪只饮水特征数据,并通过非线性模型更精确预测猪只个体饮水量。然而,算法模型的选择和超参数设置对预测结果的准确性有重大影响。因此,在应用机器学习时,应对多种模型进行比较,并找到最优超参数,以有效利用机器学习技术。
本研究拟采用线性回归、K最近邻回归、随机森林回归、支持向量回归、极限梯度提升及BP神经网络6种回归预测模型,以育肥期猪只的饮水数据为样本,进行育肥猪个体饮水量量化方法研究,以期为养殖者科学掌握生猪的日常饮水提供有效的量化方法。
1 材料与方法
1.1 数据采集
1.1.1 试验猪场及试验对象选择
本试验于2023年8月在重庆市荣昌区武陶试验基地的三号育肥猪舍进行,挑选体况与生理状态良好,初始日龄为117 d的7头长白育肥猪。每栏配置1个鸭嘴式饮水器,水压为0.1 MPa。
1.1.2 设备安装及数据采集
饮水监测系统由LWGY-DN25涡轮流量计、RFID电子耳标读写器、DS18B20水温探头、DAM-3058F阿尔泰采集卡和工控机构成。猪只进入饮水区域时触发RFID读写器的读写操作并记录其身份信息。猪只体重数据通过人为监测体重秤获取。水温探头与涡轮流量计的电流信号经过阿尔泰采集卡处理,并通过网线与工控机进行数据传输。所采集的电流信号通过程序的单位换算得到水温及瞬时流量数据,并通过采集程序存储到数据表格中,以累加方式记录每天猪只饮水时长、饮水次数和饮水量。本试验数据采集时间为2023-08-03—10-01,此时猪只日龄为117~176 d。每天以7:00—21:00为周期记录1头猪只的1组数据,采集的猪只饮水数据包括日龄、体重、水温、饮水时长、饮水次数和饮水量。试验期60 d共420组数据。
1.2 数据预处理
1.2.1 缺失值处理
本试验缺失值主要源于传感器通信故障,缺失值填充方法为缺失值所在时间点前后相邻两个时间点数据值的平均值
[8]。
1.2.2 标准化处理
将采集的420组数据随机打乱后按照8∶2划分原则划分出336个试验数据作为训练集,84个试验数据作为测试集。为保证结果的可靠性,对猪只饮水行为参数数据进行标准分数(Z-Score)处理,公式如下:
式中:Z为样本标准化后的值;为样本观测值;为总体数据的均值;为总体数据的标准差。
1.3 建模方法
本研究使用线性回归和机器学习技术构建2类回归模型,以量化分析饮水量与饮水行为参数之间的关系。第一类单因素回归模型旨在探讨饮水时长与饮水量的直接联系;第二类多因素回归模型旨在通过综合分析饮水时长、饮水次数、水温、体重和日龄等因素,以全面评估其对饮水量的综合影响。
本研究采用5折交叉验证方法分割子训练集与子验证集,以便选择模型的超参数。确定最佳超参数后,对整个训练集重新训练模型,获取最优模型,并在测试集上评估其性能。网格搜索是一种通过遍历预定义的多维参数空间内所有可能的参数组合来确定最佳参数的穷举式超参数优化方法。该过程涉及为每个待优化的超参数设定一系列候选值,形成参数网格;对网格中每一组参数进行模型训练,并采用交叉验证等方法评估其性能;选取使评估指标达到最优的参数组合。对于研究中所涉及的5种机器学习模型,基于交叉验证设置最佳超参数,并通过网格搜索在训练集上测试不同的参数组合,以寻找最佳超参数,从而训练并得到性能最优的模型。
1.3.1 传统线性回归
线性回归(Linear regression,LR)利用已知数据,通过最小二乘法等数学方法构建线性模型,以描述变量之间的平均变化关系。本研究利用Python的scikit-learn库构建了2种线性回归模型:一种是关于饮水时长与饮水量的单因素线性回归模型;另一种是包含饮水次数、饮水时长、水温、日龄及体重的猪只饮水行为参数与饮水量的多因素线性回归模型。
1.3.2 机器学习算法
1) 随机森林回归(Random forest regression,RFR)利用多个决策树的集成方法来提高预测的准确性并减少模型的过拟合。树的最大深度用于控制模型复杂度和防止过学习;最大特征数的设置有助于在每个决策点引入随机性,增强模型的泛化能力;而叶节点的最小样本数和内部节点分割的最小样本数有助于防止树过于复杂,避免学习到数据中的噪声
[18]。该方法通过训练多棵树,并在预测时平均各树的结果或采取多数投票原则,有效地减少了单一树模型的方差,从而提升模型的稳定性和准确性。
2) K最近邻(K-nearest neighbors,KNN)根据最近邻居的已知输出来预测新实例的输出,故选择适当的邻居数量对于平衡模型的偏差和方差非常关键;距离度量的选择影响着样本相似度的计算,从而直接影响预测的准确性。加权方法使得距离更近的邻居对预测结果有更大的影响,可提高模型在局部数据点的预测精度
[19-20]。该方法不涉及显式的学习过程,而是通过直接比较测试样本与训练样本的距离来进行预测,使得该模型在小规模数据集上表现出较高的灵活性和效率。
3) 支持向量回归(Support vector regression,SVR)基于支持向量机的原理,旨在高维空间中找到一个超平面,使得大多数数据点的预测误差都在一个预定阈值内,并尽可能扩大超平面的边缘。核函数的使用允许在高维空间进行非线性映射,而正则化参数
C控制了误差的容忍度,是过拟合与欠拟合之间的权衡
[21]。这些参数的选择直接关系到模型的泛化能力和在多维特征空间中处理复杂数据的能力。
4)极限梯度提升(Extreme gradient boosting,XGBoost)基于树的高效梯度增强框架,通过增量地添加决策树模型并优化一个可微分的损失函数来增强预测精度。该方法中学习率参数控制每一步模型调整的步幅,而决策树的数量直接决定模型的复杂性。XGBoost通过列采样和样本采样引入随机因素,有效减少计算负担并防止过拟合,同时通过正则化技术控制模型复杂度,保证模型在处理大规模数据集时的泛化能力
[22]。
5)BP神经网络(Back propagation neural network,BP)采用多层前馈架构,通过反向传播算法优化网络中的权重,以最小化输出层的预测误差。激活函数的选择是实现有效非线性建模的关键要素。网络结构中,隐藏层的大小是确定模型能够识别并处理数据中复杂模式的重要参数。同时通过正则化在损失函数中加入惩罚项来限制权重的增长,可降低过拟合风险和控制模型的复杂度。精确设定学习率对于确保权重更新过程的稳定性和效率至关重要
[23-24]。通过调整关键参数,可让BP神经网络适应复杂的非线性建模环境。
1.4 评价指标
为比较不同预测模型的性能,本研究采用决定系数(Determination coefficient,R2)、平均绝对误差(Mean absolute error,MAE)、均方误差(Mean squared error,MSE)和解释方差分(Explained variance score,EVS)4个指标衡量各模型的预测结果。
2 结果与分析
2.1 单因素回归模型结果分析
本试验通过网格搜索确定了不同的回归模型中超参数变量的最佳取值:KNN模型采用曼哈顿距离、3个最近邻以及基于距离的加权方式;RFR模型设置树的最大深度为6、自动选择特征数量、叶子节点最小样本数为1、内部节点分割最小样本数为6以及总共使用300棵树;SVR模型的正则化参数C为100、Gamma值为0.01以及应用径向基核函数;XGBoost模型的列采样比例为1.0、学习率为0.01、最大树深度为3、使用500棵树以及样本采样比例为0.7;BP模型使用ReLU激活函数、L2正则化系数为0.1、隐藏层大小为100、采用常数学习率并设置初始学习率为0.05。
本研究首先采用饮水时长为单特征输入,通过6种回归模型对饮水量进行单因素预测,预测结果见
图1。6种单因素回归模型评价指标见
表1。
LR模型散点图中数据点大体沿着1∶1理想预测线密集分布,在中等饮水量范围内,预测精度较高。在极低和极高饮水量的区间,数据点显示出一定程度的偏离,表示线性回归模型无法完全捕捉到数据在这些区间内的复杂性;KNN模型在低到中等饮水量区域,数据点紧邻1∶1理想预测线,但在高饮水量区域,数据点偏离了真实值;RFR模型散点图中的数据点相对于1∶1理想预测线有较广的散布,尤其是在预测高饮水量时。这表明该模型在处理极值数据时预测准确性下降;SVR模型散点图中数据点在中等饮水量范围内接近1∶1理想预测线,但SVR模型对不同饮水量水平不具备良好的泛化能力;XGBoost模型散点图中从低到高的饮水量区间,预测值与真实值的分散度逐渐增加,显示出较低的预测精度;BP模型散点图中,数据点贴近1∶1理想预测线,尤其是在中低饮水量范围内,显示出预测一致性,但在最高饮水量区间有少量的分散现象。
综上,6种单因素回归预测模型在全数据范围内表现出适度的预测能力,其中LR模型的预测效果相对较优。然而,所有单因素回归预测模型均在极值处理上显示出一定的局限性。
2.2 多因素回归模型结果分析
本研究分析了猪只个体饮水量与包括饮水次数、饮水时长、水温、日龄及体重在内的饮水行为参数之间的线性相关性,各个特征之间的皮尔逊相关系数见
图2。结果显示,猪只个体饮水量与日龄、体重和饮水时长之间呈极强相关性,而与水温和饮水次数的相关性则极低。
为了进一步提高预测精度,以涵盖饮水次数、饮水时长、水温、日龄及体重在内的猪只饮水行为参数作为特征输入进行多因素回归预测,预测结果见图
3,6种多因素回归模型评价指标结果见
表2。
LR模型散点图中的数据点沿着1∶1理想预测线分布相对密集,但在最低和最高饮水量区间出现偏离,表明线性回归模型未能充分捕捉到这些区域内的数据变异性;KNN模型的数据点在各个饮水量级别上均与1∶1理想预测线接近。在中等饮水量范围内数据点密集程度和准确性非常高。但在其他区间的预测上存在轻微的离散性;RFR模型在散点图中显示出非常高的数据点聚集度,特别是在中等饮水量区间,尽管在最低和最高饮水量区间的数据点也有所偏离,但整体上模型表现出了优秀的拟合效果;SVR模型散点图展示了一个紧凑的数据点分布,在数据的极端区间存在轻微的偏离,但整体表现出较高的准确性和稳定性;XGBoost模型散点图中,数据点紧贴1∶1理想预测线分布,在中等饮水量区间几乎没有偏离,显示出极高的预测精度。在数据的低端和高端,模型保持了较好的预测能力,能够很好地适应数据集的复杂性;BP模型散点图展示了非常接近1∶1理想预测线的数据点分布,在整个饮水量范围内都维持了高水平的预测一致性。虽然在极端值区域有些许分散现象,但整体拟合效果表明BP模型在多因素预测中具有高度的准确性和适应性。
综上,6种多因素回归预测模型的预测值与真实值基本相符,表现出良好的预测能力,其中BP模型的预测值与真实值的一致性最高。
3 讨论与结论
为提高猪只个体饮水量预测精度并解决特征输入单一的问题,本研究以包括饮水次数、饮水时长、水温、日龄及体重在内的猪只饮水行为参数为特征输入,分别构建基于线性回归、K最近邻回归、随机森林回归、支持向量回归、极限梯度提升及BP神经网络的单因素与多因素回归预测模型。相关性分析结果显示日龄、体重和饮水时长与饮水量之间具有高度相关性,这与Kashiha等
[1]的研究结果相吻合。进一步的量化分析表明,当使用饮水时长作为唯一特征输入时,线性回归是拟合效果最好的模型,相关研究也得到相似结论
[8]。然而,整体上单因素回归模型预测值与真实值存在一定程度上的偏离,其
R2均小于0.900 0,表明以饮水时长为单特征输入的量化方法在预测个体饮水量上准确度有限。对比已有研究中只采用饮水时长作为特征输入的回归模型,本研究采用多特征输入的线性回归模型预测效果要更优,且与单因素回归模型预测结果相比,在决定系数、平均绝对误差、均方误差以及解释方差分4个评价指标上分别提高了12.03%、38.51%、54.63%和11.86%。结果表明多特征输入的回归模型较于单特征输入的回归模型考虑了更多的影响因素,显著提高了饮水量预测的准确性。此外,本研究在线性回归模型基础上增加了5种机器学习回归模型,直观对比模型量化结果与实测数据图形可知,机器学习回归模型预测值与真实值变化趋势整体相近,其
R2>0.900 0且4个评价指标均优于传统线性回归模型,说明机器学习模型能更加充分地学习到猪只饮水行为参数与饮水量之间的非线性变化规律。其中,BP神经网络模型的回归预测效果是最好的,优于其他4种机器学习回归模型,且与传统线性回归模型预测效果对比,4个指标分别提高了3.83%、22.70%、43.01%、3.70%,故以BP神经网络为核心的量化方法可以用于育肥猪个体饮水量非线性拟合研究。
本研究初步探索了猪只个体饮水量与饮水行为参数之间的量化关系,但由于样本数量有限,回归预测模型的广泛适用性还有待验证。为进一步提升预测精度,未来研究可考虑使用多种算法优化BP神经网络模型,并计划整合猪只日常饮水时的环境数据,建立一个综合评估猪只每日饮水情况的体系。这将有助于实时监控并分析猪只的健康状况,从而实现更精准的养殖管理。
综上,可得到以下结论:
1)从单因素回归模型的预测结果看,线性回归模型能充分揭示饮水时长与饮水量之间的线性关系,同机器学习回归模型预测结果比较,预测效果更优,但其模拟精度有限。
2)从多因素回归模型的预测结果看,建立回归预测模型时纳入更多影响因素可显著提升饮水量的预测精度,且机器学习回归模型能更有效地捕捉饮水行为参数与饮水量之间的非线性关系,相较于传统回归方法,机器学习方法的建模效果更优,可显著提升模型适应度和模拟精度。
3)BP神经网络在模拟精度方面表现出明显优势,更适用于育肥猪个体饮水量量化研究,同时为养猪生产中及时获取猪只个体饮水量提供了一种基于机器学习方法构建预测模型的低成本且高效的方式。
重庆市技术创新与应用发展专项重点项目(cstc2021jscxdxwtBX0006)