【基于机器学习的蛋鸡产蛋率预测模型分析案例8000字】_第1页
【基于机器学习的蛋鸡产蛋率预测模型分析案例8000字】_第2页
【基于机器学习的蛋鸡产蛋率预测模型分析案例8000字】_第3页
【基于机器学习的蛋鸡产蛋率预测模型分析案例8000字】_第4页
【基于机器学习的蛋鸡产蛋率预测模型分析案例8000字】_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于机器学习的蛋鸡产蛋率预测模型分析案例目录TOC\o"1-3"\h\u1203基于机器学习的蛋鸡产蛋率预测模型分析案例 121421.1引言 1281461.2数据准备 2266031.3基于随机森林的特征重要度分析 3175591.4基于BP神经网络的蛋鸡产蛋率预测模型研究 5119641.4.1BP神经网络的结构设计 540951.4.2预测实验结果 7277941.5基于支持向量回归的蛋鸡产蛋率预测模型 8305791.5.1支持向量回归 9204661.5.2支持向量机蛋鸡产蛋率预测模型 1026221.5.3支持向量机核函数选择与优化 10170051.5.4预测实验结果 1134181.5.5实验模型对比验证 131.1引言随着科技以及制造业的快速发展,我国的蛋鸡养殖设备也不断健全,并且养殖规模也是向标准化看齐。和一些发达国家比较,中国的蛋鸡养殖还存在信息化程度低等问题,许多养殖企业还是主要依靠人工养殖为主。对于蛋鸡的养殖企业来说,鸡蛋产量是他们最为重视的。而蛋鸡产蛋率预测模型的研究的意义就在于它可以帮助企业实现精准供蛋,还能帮助企业查看养殖人员对蛋鸡的饲养水平。所以建立预测模型并实现对产蛋率预测对蛋鸡养殖企业能够很好的提供参考。蛋鸡产蛋率受很多因素影响而且还不是呈线性变化,利用以往的方式建立的模型,其预测效果较差。近些年,已经有很多的学者开始研究家禽领域,对蛋鸡产蛋率预测方面的研究也有了一定的成果。但是还存在一些缺陷,因为蛋鸡产蛋率是受多种影响因素因素如蛋鸡自身因素、环境因素以及人工因素,所以想要用特定的关系表达式来描述是很难的一件事。蛋鸡产蛋率预测是呈非线性变化的,所以在建立预测模型时也要采取非线性的方法来解决,这样做可以很好的提高模型的预测精度。机器学习在处理非线性问题方面已经有很多的应用。建立了两种蛋鸡产蛋率预测模型,使用支持向量回归的蛋鸡产蛋率预测模型以及使用BP神经网络的蛋鸡产蛋率预测模型。1.2数据准备蛋鸡产蛋率预测模型所需数据是在烟台某公司采集,采集数据主要是鸡舍环境数据(温度、二氧化碳浓度、湿度)以及蛋鸡饲养生产数据(蛋鸡日龄、日喂料、蛋重、蛋鸡产蛋率)。环控数据主要是通过小科爱牧平台得到,养殖信息通过每天的报表得到。采集数据主要是两个鸡舍的爱拨益加蛋鸡,主要是从蛋鸡开始产蛋一直到蛋鸡淘汰共283天的数据,采集的时间为2020年5月1日到2021年2月7日。第一个鸡舍蛋鸡有8835只,第二个鸡舍蛋鸡有8856只。在蛋鸡的养殖过程中一部分蛋鸡会因为死亡或其它因素被饲养员淘汰。这些都是普遍存在的现象且不可避免的。蛋鸡产蛋率预测模型使用蛋鸡的产蛋率作为系统输出,这样做主要是避免因为蛋鸡数量的变化而影响数据的准确性。蛋鸡产蛋率计算方式就是用鸡舍内所有蛋鸡一天内产的鸡蛋除以鸡舍内所有蛋鸡的总数。通过查阅相关的文献以及与企业中场长的交流最终确定了七种主要影响蛋鸡产蛋率的因素。实验所采集的七种蛋鸡产蛋率影响因素:(1)蛋鸡的喂料量,就是用每天总的喂料量除以鸡舍内总的蛋鸡数,饲料的品种也会对蛋鸡的产蛋率造成影响,但是企业中蛋鸡喂养的饲料都有固定的搭配,所以没有进一步研究饲料品种对蛋鸡产蛋率的影响。(2)蛋鸡蛋重,对鸡进行称重非常麻烦,所以养殖场对于蛋鸡体重一周采集一次,故采用蛋鸡的日平均蛋重,鸡蛋的重量也能间接反映鸡的体重,故适用蛋重作为一种因素。(3)温度,即鸡舍内的日平均温度,鸡舍中共六个温度传感器分两列,一列三个分布,温度每隔一分钟刷新一次。(4)湿度,即鸡舍内的平均湿度。(5)二氧化碳浓度,即鸡舍内的日平均二氧化碳浓度。(6)日龄,即蛋鸡的日年龄。(7)光照,即鸡舍中每天的光照时间。在整理数据时会出现数据缺失的现象,故采用Lagrange插值法处理缺失的数据,将模型所需数据整理好。部分采集数据如表3-1所示。表3-SEQ表3-\*ARABIC1部分数据表日龄(天)温度(℃)湿度(%)CO喂料(g)蛋重(g)光照(h)产蛋率(%)15825.0516.38166.0911540122.0418024.1745.19144.3114651.301266.9719026.0210.97137.4415652.401280.9820026.2127.73138.9415355.601284.3621022.1861.06140.3615655.701485.7422026.4337.59139.9115658.601485.7024026.0654.1271.67156.559.301484.9226026.3447.9780.9415755.601484.3628021.4252.3960.5155.562.71481.2530022.8751.5939.3915561.11479.2832022.0746.7338.93154641478.6534019.4536.7838.03154.266.61471.9036021.955439.8915366.31470.3238018.3962.0239.6515467.901466.7440020.4764.5840.2715367.901461.6342019.9151.0639.05150.569.51459.1344018.1549.7739.09150.569.61459.591.3基于随机森林的特征重要度分析在采集完数据后需要对数据进行处理,使用随机森林算法对影响产蛋率的因素进行重要性评价,从温度、湿度、二氧化碳浓度、日龄、蛋重、喂料、光照等影响因素对产蛋率的影响程度进行重要性评价。随机森林对于特征变量重要性的评判常用到的有两种方式[50],一种是利用Gini不纯度来进行排序而另一种是利用袋外误差(OOB误差),通过分析选取了第一种Gini不纯度进行排序,并对已经整理好的特征因素进行特征重要性评价。其中为了方便用VIM来替换变量重要性的值,用GI来代替Gini指数,首先假设m个特征:X1,X2,…,Xm,然后得出各特征Xj的GI评分Gini指数的计算公式如公式(3-1)所示。GI公式(3-1)中,K即为K种类别,pmk即k中m占的比重。也可以简单地理解为从节点m中任意选取两个样本,然后这两类别的标记是不同的概率。节点m中XVIM其中,公式(3-2)中的GIl和GI当Xj在决策树里出来的节点是集合M里的,那XVIM假设RF中共有n颗树,那么为了更加清晰的得出各影响因素的重要性,把得出来评分进行归一化处理,从而得出各影响因素所占比重。通过随机森林重要性评价得出本次研究蛋鸡日龄对于产蛋率的重要性所占比重最大占全部的0.27、往后各影响因素比重依次为温度、饲料、湿度、蛋重、CO2浓度、光照。其中占比最小的是光照,所占比重为0.015,由于在其对产蛋率的影响较小所以在后续模型研究中排除这一影响因素。通过随机森林对各影响因素进行的特征重要性评价可以看到日龄影响最大,其次是温度、饲料、湿度,所以在养殖过程中一定注意蛋鸡的日龄,控制好鸡舍内的温度、湿度以及在蛋鸡喂料过程中每只蛋鸡的喂料量控制,从而提高蛋鸡的产蛋率,提高企业的效益。通过随机森林对各影响因素做出重要性分析,各影响因素对于产蛋率的重要性评价如图3-1所示。图3-SEQ图3-\*ARABIC1重要性评价随机森林对各个因素进行特征重要性评价后的部分数据如表3-2所示。表3-SEQ表3-\*ARABIC2产蛋率及其影响因素的数据(部分)日龄(天)温度(℃)湿度(%)CO喂料(g)蛋重(g)产蛋率(%)15825.0516.38166.09115402.0418024.1745.19144.3114651.3066.9719026.0210.97137.4415652.4080.9820026.2127.73138.9415355.6084.3621022.1861.06140.3615655.7085.7422026.4337.59139.9115658.6085.7024026.0654.1271.67156.559.3084.9229022.7561.4839.8615562.882.1434019.4536.7838.03154.266.671.9039017.8861.8139.7815567.966.6744018.1549.7739.09150.569.659.59其中喂料代表的是每只鸡的喂料。其中CO2浓度均在健康养殖的范围内,产生变化的原因是因为在养殖过程中鸡舍内的风机以及侧窗会根据鸡舍内环境状况做出相应的变化,因而1.4基于BP神经网络的蛋鸡产蛋率预测模型研究蛋鸡产蛋率能够帮助企业更好的分析蛋鸡的生产状况,并为鸡蛋的供应提供参考。养殖人员还能够根据蛋鸡的产蛋率分析蛋鸡的喂养情况做出及时的调整。前面已经利用随机森林对影响蛋鸡产蛋率的影响因素进行了特征重要度评价,其中鸡舍温度、二氧化碳浓度、蛋重、湿度、日喂料、日龄等因素对于蛋鸡产蛋率都有很大的影响。蛋鸡产蛋率受多种因素影响并且是非线性的。BP神经网络有很好的非线性映射能力,本小节就是利用BP神经网络实现对蛋鸡产蛋率的预测。1.4.1BP神经网络的结构设计BP神经网络主要有输入层、隐藏层以及输出层组成[51]。其中隐藏层的数目会影响模型预测精度。当隐含层的数目变多时,往往是可以提升网络的预测准确性,减小预测的误差,隐含层数目特别多的话,网络训练难度也会随之增加变得更复杂,训练等待时间也会变长。BP神经网络结构一般不会太多,大多数都会是三层也有的是四层,隐含层数为一到两个。现在也已经有理论可以证明,如果隐含层节点数特别多,即使BP神经网络的隐含层只有一个,这也是可以实现对任何非线性函数的任意精度逼近[52]。故虽然没有具体完善的理论方法来说明隐含层数量的选择,但是以往建立的三层神经网络都是选择只有一个隐含层,并在隐含层里的节点数也是很少,根据自己实验想到预测效果逐渐增加隐藏层中节点的数目,如果仅仅依靠增加节点数不能够解决问题,可以考虑增加隐藏层的层数来解决。综上所述,从网络的实际应用以及其训练效率方面衡量,本研究的BP神经网络最终选择一个隐藏层来进行模型的训练与预测。(1)输入输出节点设置输入层中的节点个数与模型训练时间是息息相关的。当节点数目过多时训练的时间也会随之变长,这是由于节点的增加会使神经网络计算量增大。所以在进行建模训练时,首先要考虑输入量的数目,把一些不必要的输入进行舍弃,从而提高模型训练的效率。前面通过随机森林算法已经对影响蛋鸡产蛋率因素进行了特征重要性分析,最终选取了温度、蛋重、二氧化碳浓度、日龄、湿度以及日喂料等六种因素作为模型输入。输出则是选择蛋鸡的产蛋率。(2)隐含层节点数设置隐含层节点设置对于模型的预测准确性至关重要。对于隐含层节点数目的设置也没有明确的规定,所以节点的选取也有一定的难度。如果节点数设置的过多时,会使网络更加复杂增加计算量,那么训练消耗的时间也会增多,最终不仅消耗大量时间而且还达不到好的预测结果;当节点设置较少时虽然训练时间会加快但是建立模型的适用性会降低误差也可能会增大。故节点的选取不能过多也不能过少,经过查阅文献资料以及他人研究得出一个经常使用的节点选择公式。常用的节点选择公式如下:m=式中,我们要设置的隐藏层节点个数就是m,输入层节点数就是公式3-5中的i,输出层节点数即为上式中的j,c则是个常数,并且它的可以是1到10的任意整数。通过公式(3-5)我们可以得出要设置隐含层节点数目的范围,按照有小大的顺序逐渐增加加点个数,经过反复的试验最终模型选择的节点数目为8。(3)传递函数的选取BP神网络比较常用的几个传递函数有logsig、Purelin以及tansig。三种函数的输入输出范围如图3-2所示。图3-SEQ图3-\*ARABIC2常见传递函数图这三种传递函数的表达式分别如公式(3-6)、公式(3-7)和公式(3-8)所示。logtansigpurelin首先对传递函数的进行排列组合然后对各个组合进行试验,BP神经网络蛋鸡产蛋率预测模型的隐含层选择logsig函数,而输出层选择Purelin函数。(4)蛋鸡产蛋率预测模型的建立使用BP神经网络建立蛋鸡产蛋率预测模型的流程主要包括:(a)导入数据;(b)对数据进行归一化处理;(c)设置迭代次数、学习效率以及训练禁止条件;(d)训练模型;(e)将训练好的模型保存;(f)导入测试数据;(g)得出产蛋率预测值。1.4.2预测实验结果通过BP神经网络对蛋鸡产蛋率进行预测,预测结果以及实际的产蛋率如表3-3所示。表3-SEQ表3-\*ARABIC3蛋鸡产蛋率实际值与预测值日龄(天)温度(℃)湿度(%)CO喂料(g)蛋重(g)实际产蛋率(%)预测产蛋率(%)25626.5654.541.4315661.582.3381.4732519.9341.3738.57151.55475.0474.7631721.3950.4339.25154.36478.5876.4139117.8762.4340.2715567.966.8168.1426721.3656.38141.2815661.581.7781.8416621.0524.87180.18118475.616.9743918.4746.1338.9150.569.647.7850.2233519.5041.5337.75152.266.675.4974.4342117.3354.4939.51150.569.660.1558.9034019.4536.7838.03152.266.671.971.6034819.814.6338.77151.566.672.4571.34通过BP神经网络对蛋鸡产蛋率预测结果如图3-3所示。图3-SEQ图3-\*ARABIC3BP神经网络预测结果图3-3中红色曲线表示的实际的产蛋率,绿色曲线则表示的预测的产蛋率。由图中两种曲线我们可以看到使用该模型的效果较好,预测的曲线走势与实际产蛋率走势基本一致,也符合实际的生产状况。这也表明该模型能够很好的实现对蛋鸡的产蛋率预测。其中BP神经网络建立的蛋鸡产达率预测模型决定系数为0.991,均方差为0.00028,平均绝对误差为0.0116。1.5基于支持向量回归的蛋鸡产蛋率预测模型近些年,随着对蛋鸡产蛋率预测方面的研究也不断深入,发现并证实影响蛋鸡产蛋率的因素有很多,如自然环境因素、外界人为因素以及蛋鸡自身一些因素等等。本研究就选取多种影响蛋鸡产蛋率数据(温度、二氧化碳浓度、日龄、湿度、日喂料、蛋重),使用支持向量机建立蛋鸡产蛋率预测模型实现对蛋鸡产蛋率的预测。1.5.1支持向量回归支持向量机是一种建立在统计学习知识提出的一种机器学习方法,它是通过训练样本在建立模型中的复杂度以及学习能力中找到一个最优的点,从而得到最优的推广能力[53]。对于蛋鸡产蛋率的预测属于一个非线性回归问题,所以使用支持向量回归来解决这一问题。其使用的原理如下:通过实验分析得出蛋鸡产蛋率是呈非线性,故要利用非线性的回归函数来解决其公式如下:f公式(3-9)中的ω代表了高维空间中的维数,b为任意实数。为了能够得b和ω的值还需要引进松弛变量ε,并可以将公式(3-9)变为下面的优化问题:min=其约束条件为:&y−ω·ϕ公式(3-11)中,ε表示函数和输出之间的误差要求,公式(3-10)中的C则是惩罚系数。为了更好解决问题我们要把上面问题还要进行转换一下,使用拉格朗日乘子把问题变成对偶问题:max−(3−12)则公式(3-9)中的非线性回归函数可变换成:f公式(3-14)中,Kxi,线性核函数:多项式核函数:高斯核函数:Sigmoid核函数:1.5.2支持向量机蛋鸡产蛋率预测模型想要使用SVM对蛋鸡产蛋率进行预测,核心就是建立合适的预测模型,模型确立前还需要对蛋鸡产蛋率和相关影响因素等数据进行处理,最后再根据建立好的模型,预测未来蛋鸡产蛋率。假设{yi}是蛋鸡产蛋率的以往数据,i=1,2,…,n,蛋鸡第i天产蛋率即yi,Xi=Xi1建立的产蛋率预测模型映射关系如下式:y建立训练样本D={(xi,yi1.5.3支持向量机核函数选择与优化核函数类型的选择是SVM预测模型的核心关系着模型的好坏,模型泛化能力的强弱也与核函数息息相关[55-56]。高斯核函数被广泛使用,是因为在模型参数调优时需要调节的参数非常的少而且它的性能也是非常稳定。研究过程中支持向量机模型的核函数经过分析最终选择了多项式核函数以及高斯核函数,并且对这两种模型进行建模对比。确定完所需要的核函数后,为了提高预测精度,就要进一步的通过调节参数实现参数的优化。多项式核函数以及高斯核函数主要是通过调节惩罚因子C以及gamma参数g这两个控制变量来调高模型精度,为了优化上述核函数参数,蛋鸡产蛋率预测模型的参数优化主要利用了网格搜索法。网格搜索法一般是选择若干参数值,利用通过排列组合的方式对所有的参数都运行一遍,为了评判哪组参数效果更好就需要制定一个通用的评判标准,比如分类模型一般是将分类精度作为评判标准,而预测拟合模型则是选择均方误差或决定系数来作为评判好坏的标准,当所有的参数组合都运行完成后,再根据前面的评判标准对各组参数组合进行对比,找出最好的参数组合。利用网格搜索法进行找寻最好参数组合,需要调节的参数主要是上面提到调节惩罚因子C以及gamma参数g,假设我们这两种参数分别有M和N个变量,则存在M×N个参数组合,然后把每个组合都代入SVM中训练,最后通过评判变准得出最好的参数组合。SVM网络需要反复多次的进行试验验证,因为次数少的话会有偶然事件的发生,其结果也缺乏可靠性以及严谨性。所以要多次的反复进行试验验证,然后把性能最稳定、平均结果对应最好的参数组合选出来。查找的多项式核函数和高斯核函数的结果如下表3-4所示。表3-SEQ表3-\*ARABIC4核函数参数寻优核函数参数SVM高斯核函数SVM多项式核函数惩罚因子(C)0.51gamma参数(g)841.5.4预测实验结果通过两种核函数均使用第一个鸡舍中的蛋鸡数据,并将这部分数据按照8:2的比例将数据划分为训练集与测试集,建模后两种核函数预测出的产蛋率如表3-5所示。其中预测产蛋率1指的是使用多项式核函数的预测模型得出的蛋鸡产蛋率的值,预测产蛋率2指的是使用高斯核函数得出的蛋鸡产蛋率的值。表中可以看出使用高斯核函数预测出来的产蛋率更加贴近实际产蛋率。表3-SEQ表3-\*ARABIC5高斯核函数与多项式核函数产蛋率预测值(部分)日龄(天)温度(℃)湿度(%)CO喂料(g)蛋重(g)实际产蛋率(%)预测产蛋率1(%)预测产蛋率2(%)19824.8535.59139.5615155.282.6277.7580.5132022.0746.7338.931546478.6575.9578.7322428.1030.79140.2815658.686.3787.8286.0231820.7746.8738.101546478.3975.6578.3525826.6139.6339.9815661.582.8686.4281.0429921.1845.2938.9015561.180.2579.9581.2141518.3849.0939.06151.269.661.7862.2460.9828922.6061.9440.2215562.882.0979.2681.8042917.2761.0339.78150.569.658.2358.5658.8423124.1058.21140.14155.35984.6182.6185.9321826.0132.89139.0015658.285.1487.3986.28蛋鸡产蛋率预测模型以及数据的处理都是基于Anaconda3环境编程实现两种核函数多项式核函数以及高斯核函数预测结果如图3-4、图3-5所示。图3-SEQ图3-\*ARABIC4多项式核函数预测结果图3-SEQ图3-\*ARABIC5高斯核函数预测结果图图3-4、图3-5中红色曲线是蛋鸡产蛋率的实际值,蓝色曲线是蛋鸡产蛋率的预测值。通过两图我们可以清楚的看出,使用高斯核函数的蛋鸡产蛋率预测模型的预测结果与实际值的更为贴近,而使用多项式核函数起伏较大,所以使用高斯核函数的蛋鸡产蛋率预测模型在蛋鸡产蛋率预测更好。其中使用高斯核函数的支持向量回归模型的决定系数为0.992,r为0.996,均方差为0.00024,平均绝对误差为0.0125,使用多项式核函数的支持向量回归模型的决定系数为0.951,r为0.975,均方差为0.00225,平均绝对误差为0.0355。李飞使用SVM模型评价指标r为0.992,MSE为0.001。研究通过查阅相关文献以及企业有关养殖专家通过二氧化碳浓度、湿度等也会影响产蛋率且各影响因素对于产蛋率的影响也是不同的,通过增加影响

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论