基于机器学习算法的奶牛疾病预测模型的研究

2022-07-27 06:47:30李尚汝宋佳美张城瑞孙雨坤张永根
中国畜牧兽医 2022年7期
关键词:产奶量泌乳敏感性

李尚汝,宋佳美,张城瑞,孙雨坤,张永根

(东北农业大学动物科学技术学院,哈尔滨 150030)

目前,牧场中奶牛疾病的检测主要依赖兽医巡视和诊断[1]。然而仅靠牛场的工作人员无法完成高质量的群体化和个性化管理工作,这使机器学习(machine learning,ML)在奶牛精准育种、饲养管理和疾病监测等领域有着广泛的研究和应用前景[2]。大型牧场利用传感器收集各种类型的数据,并配有一体化的信息管理系统,其中一些系统能够处理部分传感器的数据并提供决策支持[3]。如配有智能化设备(如智能项圈、计步器等)的牧场会根据反刍量和活动量的异常预警来辅助诊断,在一定程度上避免了误判、漏判[4]。然而,如果牧场的信息管理系统能够整合ML算法以支持生产决策过程或使其自动化时,来自各种传感器的数据才能得到充分利用[1]。ML算法利用统计技术对大型数据集进行处理并预测奶牛的生产性能和疾病[5-6]。

近年来,有许多学者利用ML算法判断奶牛的异常。Wagner等[7]利用瘤胃内pH传感器监测奶牛瘤胃pH,同时利用具有定位功能的项圈监测奶牛的活动,评估K-近邻回归(K-Nearest Neighbours for Regression,KNNR)、决策树回归(Decision Tree for Regression,DTR)、多层感知器(MultiLayer Perceptron,MLP)和长短期记忆(Long Short-Term Memory,LSTM)预测奶牛瘤胃酸中毒情况,结果表明KNNR表现最佳,真阳性为83%。Mtga等[8]比较了线性回归(Linear Regression,LRN)、随机森林(Random Forests,RF)、梯度提升决策树(Gradient Boosting Decision Tree,GBDT)和人工神经网络(Artificial Neural Network,ANN)预测热应激时奶牛的呼吸频率、皮肤温度和阴道温度的效果,发现RF和ANN的预测效果较好,均方根误差最低分别为9.695次/min、0.334 ℃和0.434 ℃。Xu等[9]利用8种ML算法对奶牛血浆中β-羟丁酸、游离脂肪酸、葡萄糖、胰岛素和胰岛素样生长因子-1的浓度进行聚类,以评价泌乳早期代谢状态,发现RF和支持向量机(Support Vector Machine,SVM)表现最佳,最低错误率为12.4%~22.6%。然而,这些方法存在一定的侵入性,可能会使奶牛产生应激,在牧场中适用性有限。用奶牛生产中的常规数据来预测奶牛的异常表现,如反刍量、胎次、产奶性能等,可以有效避免因人为操作引起的奶牛应激。

奶牛患病后,活动行为、采食行为和社交行为通常会减少[10],这些指标的变化,可辅助员工、技术人员和兽医进行疾病预警、诊断和决策[11]。研究表明,反刍时间可作为疾病早期检测的工具[12-14],反刍和活动可有效监测奶牛乳房炎、消化和代谢状态[15-16]。除了奶牛的行为指标,产奶量也是反映疾病的一个重要因素[17]。目前,奶牛疾病的预测模型多以反刍量、活动量和产奶量作为预测变量[7,18-19],而产奶量在很大程度上受胎次和泌乳天数的影响[20],此外,泌乳天数和胎次也可以反映奶牛的身体代谢和健康状态[9],这表明各个指标并不能孤立地预测奶牛的健康状况。除了反刍量、活动量、产奶量之外,有必要将胎次和泌乳天数纳入疾病预测的变量中。鉴于此,本试验采用6种ML算法,利用奶牛生产中的日活动量、反刍量、产奶量、泌乳天数和胎次5种变量,建立奶牛健康状态的预测模型,探究开发奶牛管理决策支持工具的可能性,评估6种ML算法在奶牛疾病预测中的性能;此外,建立以日活动量、反刍量和产奶量为变量的预测模型,评估胎次和泌乳天数对模型性能的影响。

1 材料与方法

1.1 数据采集

试验数据来源于黑龙江省黑河市金澳牧场所有处于泌乳期的奶牛。泌乳奶牛饲喂全混合饲粮(TMR),分区饲养(新产区、低产区、高产区和病区),不同产区饲喂的TMR不同,其中新产区和病区饲喂同一种TMR。TMR中粗饲料主要由玉米青贮、燕麦、紫花苜蓿、全棉籽和啤酒糟组成,精饲料由预混料、麸皮、喷浆玉米皮、菜籽粕和玉米蛋白等组成。TMR营养水平见表1。

表1 泌乳牛TMR营养水平

收集2020年12月至2021年11月所有泌乳奶牛的数据,总计944头牛,共105 168条数据,其中疾病记录3 268条。将数据分为训练集和外部验证集,比例为2∶1。每条数据包含胎次、泌乳天数、日反刍量、日活动量、产奶量和6类疾病情况。其中,胎次、泌乳天数由信息管理人员登记在信息管理系统中;日反刍量、日活动量由智能项圈和计步器(安乐福(中国)科技智能有限公司)实时监测并上传至信息管理系统;产奶量由奶厅管理人员将奶厅的数据上传至信息管理系统中。所有的疾病均由2名有经验的兽医诊治,每天进行巡视和诊断,6类疾病分别为乳房疾病(乳房炎、隐性乳房炎),蹄病(蹄叶炎、关节囊肿、溃疡等),生殖系统疾病(子宫炎、胎衣不下、阴道炎等),消化系统疾病(前胃迟缓、瘤胃积食、瓣胃秘结等),营养与代谢疾病(酮病、产后瘫痪等),过敏与应激(高烧、冷热应激等)。以上数据每日上传1次,连续收集365 d。

1.2 模型建立与评估

1.2.1 模型算法 ANN包含输入层、隐藏层和输出层(图1),隐藏层包含若干神经元,各神经元之间用带可变权重的有向弧连接,网络通过对已知信息的反复学习训练,通过逐步调整、改变神经元连接权重,达到处理信息、模拟输入输出之间关系的目的。

x,输入变量;h,隐藏层神经元;o,输出变量;W,权重

DT用树的结构来构建分类模型(图2),每个节点代表1个属性,根据这个属性的划分,进入这个节点的子节点,直至叶子节点,每个叶子节点都代表着一定的类别,从而达到分类的目的。C5.0和CHAID算法是DT里主要用于分类的算法。对于连续性自变量来说,C5.0每个节点分为两支,CHAID可分为多支。

A是B和C的父节点

RF是包含多个DT的分类器,其输出的类别是由个别树输出的类别的众数而定的。由于利用了集成的方法,相较于DT更能避免过拟合现象。

LR是一种广义线性模型,主要用于解决分类问题,多用于二分类,也可用于多分类。线性回归y=f(x)=wTx的取值并不在区间(0,1)内,LR使用一个函数来归一化y值,使y的取值在区间(0,1)内,目的是利用样本数据训练得到参数ω的值。该函数表达式如下:

BN也被称为信念网络(Belif Networks)或者因果网络(Causal Networks),是描述数据变量之间依赖关系的一种推理模型。BN的网络结构是一个有向无环图,其中每个结点代表一个属性或者数据变量,结点间的弧代表属性间的概率依赖关系(图3)。一条弧由属性A指向属性B,说明属性A的取值可以对属性B的取值产生影响,由于是有向无环图,A、B间不会出现有向回路。

图3 BN网络结构[23]

1.2.2 数据平衡 由于疾病记录远少于健康记录,而ML的分类器算法习惯于偏向多数类,会导致模型不准确,因此首先对训练集的数据样本进行平衡。疾病记录进行过采样,平衡因子=5;健康记录进行欠采样,平衡因子=0.5。

1.2.3 模型训练与验证 将平衡后的训练集数据用于模型训练。训练数据集被随机分为训练集(90%)和测试集(10%),采用10-折交叉法进行内部验证,以调节参数优化模型性能。每组模型重复训练2次:①将日产奶量、反刍量、活动量作为连续输入变量,胎次和泌乳天数作为分类输入变量,疾病情况作为分类目标变量,用于模型性能和预测变量重要性的研究;②将日产奶量、反刍量、活动量作为连续输入变量,疾病情况作为分类目标变量,用于胎次和泌乳天数对模型精度影响的研究。输出混淆矩阵和预测变量的权重。将训练后的模型采用外部验证集数据进行验证,输出混淆矩阵。所有ML模型训练和验证采用IBM SPSS Modeler 18.0进行,模型训练参数见表2、3。

表2 ANN、DT CHAID、RF参数集

表3 DT C5.0、LR、BN参数集

1.2.4 结果分析 对混淆矩阵分别进行敏感性和特异性计算,评估模型性能,对输入变量的权重进行排序并评估其重要性。其中:

敏感性(%)=真阳性数/(真阳性数+假阴性数)×100%

特异性(%)=真阴性数/(真阴性数+假阳性数)×100%

2 结 果

2.1 模型性能

由表4可知,DT C5.0的敏感性均>85%,总体敏感度最佳,为95.5%。RF对于各项疾病识别的正确率均>50%,除乳房疾病外,其余疾病的识别正确率较一致,总体敏感度为56.8%。对于ANN,乳房疾病、蹄病、生殖系统和消化系统疾病以及健康牛的敏感性均在50%以上,而营养与代谢疾病和过敏与应激识别错误率为100%,这与DT CHAID算法得到的结果趋势一致,但DT CHAID对于蹄病和消化系统疾病的敏感性仅为20%左右。对于BN,除健康牛和乳房疾病外,其余疾病的敏感性不足45%;而对于LR,所有疾病的敏感性均不足40%,总体敏感度不足30%。

表4 6种模型的敏感性

由表5可知,DT C5.0算法对于识别健康牛和患病牛的特异性均>90%,RF特异性均>80%。ANN、DT CHAID和BN的总特异性虽然超过90%,但对于健康牛的特异性均在70%左右。LR对健康牛的特异性仅为52%,未被识别为健康牛的特异性较高,均在80%以上。

表5 6种模型的特异性

2.2 模型验证

由外部验证得到的敏感性(表6)可知,除RF外,其余5种模型对健康牛预测的敏感性均超过70%。ANN、DT C5.0和CHAID对于生殖系统疾病的敏感性均超过60%,除LR外,其余5种模型对于乳房疾病的敏感性均超过50%,DT C5.0对营养与代谢疾病的敏感性超过50%。同时,DT C5.0的总体敏感度表现最佳,为56.8%,其余模型均在30%左右。而对于营养与代谢疾病和过敏与应激,模型的整体预测精度较差。

表6 6种模型外部验证的敏感性

由外部验证得到的特异性(表7)可知,RF和ANN的特异性均在80%以上,且RF的总体特异度最佳,为95.1%。DT C5.0、CHAID和BN对于识别健康牛的特异性均为70%左右,LR为60%。对于6种疾病,6种模型的特异性均超过80%。

表7 6种模型外部验证的特异性

2.3 预测变量

由图4可知,对于不同算法,不同变量的重要性不一致。产奶量和泌乳天数为最重要的预测变量,其中,产奶量为RF、ANN和LR的第一重要变量,在其他3个模型中为第二或第三重要变量,而泌乳天数为DT C5.0、CHAID和BN的第一重要变量,在其他3个模型中为第二重要变量。在DT C5.0、CHAID和BN 3种模型中,胎次的重要性仅次于泌乳天数和产奶量,日反刍量和活动量重要性稍弱。将胎次和泌乳天数添加至预测变量前后得到的模型敏感性变化结果见图5。由图5可知,ANN、BN和LR对于健康牛的敏感性下降,对于6类疾病,仅有RF对于消化系统疾病的敏感性有所下降,其余模型对疾病敏感性均上升或不变。

图4 6种模型预测变量的重要性

1,未患病;2,乳房疾病;3,蹄病;4,生殖系统疾病;5,消化系统疾病;6,营养与代谢疾病;7,过敏与应激

3 讨 论

在本研究中,产奶量和泌乳天数被证明为最重要的预测变量,泌乳天数和胎次可有效提高模型的性能和预测精度。本试验模型训练后的最佳性能表现为总体敏感性>80%,特异性>90%。与本研究类似,Wagner等[7]采集奶牛的行为信息,利用ML预测奶牛瘤胃酸中毒情况,表现最优的模型敏感性为83%。Kamphuis等[24]用体重、行为数据和产奶性能建立ML模型预测奶牛跛行,将模型特异性固定在80%时,组合模型的总体敏感性为50%。在实际生产中,许多疾病的症状通常受到多种因素的影响,ML因其强大的泛化能力和集成各种数据的灵活性具有很大的优势[18],进一步探索和完善可能会实现在个体水平上的精准监测。

3.1 模型性能

对6种模型性能的总体表现进行分析发现,对于健康牛和患有乳房疾病的牛的敏感性相对较高,特异性相对较低,这可能是因为牧场中健康牛的数量远多于患病牛,且患有乳房疾病的奶牛数量多于患其他疾病的数量。数据量大的类别使得模型学习该特征的能力更强[7],因此敏感性较高,同时由于该类别被识别为错误的数量也多于其他类别,因此特异性相对较低,然而这更能反映模型的真实水平。对于数据量少的类别(比如营养与代谢疾病、过敏与应激),即使被分类错误,其数量上相对占少数,因此特异性会“虚高”,导致模型不稳定。此外,在本试验和实际生产中,健康牛的数据量远多于患病牛,会导致数据不平衡的问题。尽管有些类型的数据样本稀缺,但在某些情况下,这些数据更重要,如罕见疾病的诊断、灾难预测等[25-27]。因此,本试验对不平衡的数据进行了适当的处理,即欠采样和过采样,以提高ML预测数据量较少的样本的准确率,同时又不影响它们预测数据量多的样本的精度。在实际应用中,对数据量少的样本进行正确分类往往比对数据量多的样本正确分类更重要。

本试验中,DT C5.0算法在训练和验证时表现出了很高的敏感性和特异性,CHAID算法则表现稍差。C5.0采用的是信息增益的方法对树进行划分,强调小样本上的重复测试比较,CHAID采用的是卡方的方法,1次对1个变量切分出多个统计显著的分支,这样会更快地生长出预测能力高的树枝,但随着树不断分支,子节点的支持度迅速降低,使其更快地逼近一棵臃肿而不稳定的树[28]。在查看树的分支情况时会发现,C5.0的树深度为27,而CHAID树深度仅为4。Kurt等[28]利用DT算法预测乳腺癌,发现C5.0系列的算法敏感性和特异性均优于CHAID,与本研究的结果一致。基于DT算法的模型常用于疾病监测中,如Kamphuis等[29]收集9个不同牧场的挤奶机器人的数据,建立并验证临床乳房炎预测模型,将特异性保持在与牧场当前使用的模型相当的水平时,DT模型能够将假阳性警报的数量减少50%以上。DT往往在类别不均衡数据上表现良好,它使用基于类变量的划分规则去创建分类树,因此可以强制地将不同类别的样本分开。

ANN在分类、聚类、模式识别和预测等领域已成为一种常用且有效的模型[30]。在本试验中,ANN对于不同疾病的分类效果表现不一,这可能与疾病信息的数量有关,营养与代谢疾病、过敏与应激疾病数据较少,导致模型拟合性弱,但其对于其他疾病的敏感性均>50%,对所有疾病的特异性均>90%。现有研究表明,ANN在奶牛疾病预测方面表现出较好的预测性能,如Ehret等[18]利用基因组、代谢信息和牛奶成分,通过ANN预测亚临床酮病(β-羟丁酸含量),结果表明,β-羟丁酸含量的观测值和预测目标值之间的平均相关性最高可达0.643。此外,Li等[31]以饲料的营养成分、干物质采食量和体重为输入变量,利用ANN预测瘤胃pH、瘤胃氨氮和挥发性脂肪酸的浓度,与传统方法相比,ANN提高了瘤胃代谢相关预测的精度。Slob等[1]指出,对于畜牧领域的研究,学者更倾向于DT和ANN算法。但基于DT的算法比基于ANN的算法更受欢迎,可能是因为ANN是一种黑盒方法,内部决策规则不清楚,而DT算法的“if-else”决策规则可以帮助使用者理解决策过程。

除最常用的DT和ANN算法外,本试验还选取了LR、BN和RF,因为它们各自代表了一批相似的方法[32]。在本试验中,LR对于6类疾病的敏感性均不足40%,对健康牛的特异性仅为52%,这说明约有一半的患病牛被识别为健康牛,性能表现较差。这与很多研究相反,回归在其他研究中的表现优于BN、SVM和RF,这些研究多为预测与个体遗传有关的产犊或受孕性状,且没有在个体水平上得到很好的预测结果,无法在实践中使用[6,33]。这可能是因为LR在本质上是一种线性分类模型,处理非线性数据时往往表现较差,而在个体水平预测时,个体信息之间可能很难满足线性关系。在其他研究中,RF和BN在预测奶牛热应激和存活率方面均优于LR[32,34],这与本试验的结论一致。RF是一种基于DT算法的模型,通过集成学习的思想将多棵树集成,基本单元为DT[35],相较于DT的单个树算法,RF能有效防止过拟合,因此在本试验中,虽然RF模型性能表现不及DT,但该模型相对更稳定。与本试验类似,Shahinfar等[36]利用ML预估具有高受孕率的奶牛发现,RF优于贝叶斯方法,其准确度可达0.80,这可能是因为BN的前提假设是分布独立,然而现实中的预测变量受其他变量和环境的影响,很难完全独立,如研究表明胎次和泌乳阶段对产奶量有显著影响[37-39],每公斤干物质的反刍时间与产奶量呈负相关关系[40]。影响模型性能的因素很多,不同的ML模型受自身算法和外部因素的限制,在不同场景下表现出的性能不一。

3.2 疾病预警

奶牛生产过程中产生的数据已被用于许多基于ML算法的疾病预警的研究中,如用血浆胰岛素样生长因子-1、葡萄糖、胰岛素、游离脂肪酸、β-羟丁酸的浓度来评估奶牛泌乳早期的代谢状态[9],用牛奶代谢物浓度和牛奶成分预测酮病发生情况[32],用瘤胃pH和活动情况来预测瘤胃酸中毒[7]等。然而,这些方法在目前的生产中并没有得到充分的应用,除部分数据的获取存在局限性外,其中一个原因可能是缺乏多参数数据集[41]。Kamphuis等[24]收集奶牛不同传感器中的常规信息,如体重、活动量、产奶性能等,利用LR预测奶牛跛行,结果表明多变量(来自多个传感器的数据)模型始终优于单变量(来自单个传感器的数据)模型。Stangaferro等[15-16,42]利用反刍和活动的信息建立基于健康指数评分(HIS)的自动健康监测系统,以预测奶牛疾病情况,该系统对于皱胃移位、酮病、消化疾病、乳房炎和子宫炎的预警总敏感性为59.0%,总特异性为97.6%。这与本试验中RF得到的结果相似,与DT C5.0算法得到的特异性相似,但敏感性相差较大。这可能是因为本试验在此基础上还增加了其他的预测变量。

通过对预测变量重要性的分析发现,产奶量在本试验的RF、ANN和LR 3个模型中为最重要的预测变量,在其他3个模型中也表现出了较高的重要性。疾病对产奶量有很大的影响,Carvalho等[43]研究表明,产后至少患1种疾病(子宫炎、乳房炎、蹄病、消化系统疾病和呼吸系统疾病)的奶牛,产奶量降低约4%,即使是具有相似的产奶基因潜力,患病牛的产奶量也远低于健康牛。此外,Khansefid等[44]建立了奶牛蹄病预测的多变量模型,指出产奶量可以提高模型的精度。对于反刍量和活动量,在本试验模型中的重要性稍弱,但仍为提高预测的精度做了一定贡献。反刍和活动可有效监测奶牛乳房炎、消化和代谢状态[15-16],Liboreiro等[45]研究发现,患子宫炎的奶牛反刍量每天减少30 min,活动量每天减少37 min;患亚临床酮病的奶牛活动量每天减少35 min。同样,Soriani等[46]也报道称,产后没有健康问题或只有轻微健康问题的奶牛在泌乳头10 d的平均反刍时间(≥520 min/d)更长。

本试验在模型常用的产奶量、反刍量和活动量的基础上,添加了胎次和泌乳天数的信息,以预测奶牛的健康状况。其中泌乳天数为DT C5.0、CHAID和BN 3个模型最重要的预测变量,为其余3个模型第二重要的预测变量,胎次在性能表现最佳的DT C5.0模型中,重要性仅次于泌乳天数和产奶量。疾病被证明与胎次和泌乳天数有关,Ribeiro等[47]总结了多项研究发现,约1/3的奶牛在泌乳前3周内至少患1种临床疾病(子宫炎、乳房炎、消化系统疾病、呼吸系统疾病或蹄病),Leblanc[48]发现约有75%的奶牛疾病发生在产后1个月内,Sogstad等[49]发现胎次≥3时,罹患蹄病的风险显著提高,且多胎奶牛更容易发生酮病和低血钙症[50-51]。本试验中,将胎次和泌乳天数添加至预测变量后,模型的敏感性显著提高,除了ANN、BN和LR 3种模型对健康牛的预测精度稍有下降外,只有RF对1类疾病的预测精度显示为下降,这说明将胎次和泌乳天数纳入预测变量中,可以提高模型的预测精度。与本试验类似,Xu等[9]在利用ML算法预测奶牛泌乳早期代谢状态时,将胎次作为其中1种预测变量,输出模型的最低错误率仅为12.4%~22.6%。在目前的奶牛生产中,各类传感器可以持续收集奶牛信息和行为数据,未来可以将多个传感器和系统中的数据充分利用,以提高模型对异常指标的敏感性。

4 结 论

ML算法对奶牛的健康状态可以进行有效分类,在预测疾病方面表现出了潜力。模型受各自算法的限制,在不同场景和条件下表现不一,本试验中DT C5.0算法预测性能最佳,与同类研究相比,总体敏感性和特异性均表现出了优势。在常用的预测变量(日产奶量、反刍量和活动量)基础上,纳入胎次和泌乳天数可提高模型预测精度,其中泌乳天数和产奶量为相对重要的预测变量。

猜你喜欢
产奶量泌乳敏感性
提高母猪产奶量的方法
母猪泌乳量不足的危害及提高措施
不来月经加上泌乳,说不定是脑子长瘤了
荷斯坦牛各胎次产奶量规律研究及相关性分析
中国奶牛(2019年12期)2020-01-08 07:15:38
不来月经加上泌乳,说不定是脑子长瘤了
不同泌乳阶段驼乳理化指标和体细胞数的测定分析
钇对Mg-Zn-Y-Zr合金热裂敏感性影响
瘤胃可降解缬氨酸对泌乳后期奶牛产奶量的影响
饲料博览(2016年3期)2016-04-05 16:07:52
AH70DB钢焊接热影响区组织及其冷裂敏感性
焊接(2016年1期)2016-02-27 12:55:37
如何培养和提高新闻敏感性
新闻传播(2015年8期)2015-07-18 11:08:24