您的当前位置:首页正文

探究鲈鱼的高质量估计的方法及应用

来源:化拓教育网


探究鱼的质量估计的方法及应用

摘 要

此研究课题旨在探究按照测量鱼的长度估计鱼的质量的方法,在已知8组鱼的身长、质量、胸围数据的情况下,我们应用机理分析的基本数学建模方法建立了三类合理模型,并应用最小二乘拟合法进行模型参数估计,最后用误差分析法对估计的准确程度进行检验,进而对三类模型的精确度进行评价校正并选出鱼的身长和胸围对其质量影响描绘最准确的模型二的加权系数法模型作为最终推荐模型。

以下是我们建立的描绘鱼的身长与胸围对其质量的影响的三类模型:

模型一:分别研究身长和胸围对质量的影响。在此我们建立了三种身长对质量以及胸围对质量影响的关系分别为一次函数、二次函数和三次函数,如上述方法分别对模型进行参数估计,误差分析,估计准确度检验。将三种函数的误差进行比较再寻找出对质量影响描绘最准确的函数;

模型二:研究身长和胸围共同对质量的影响。在此我们采用了两种方法研究二者对质量产生的共同影响:其一,利用加权系数法在模型一已得函数中加权重衍生出一种新函数关系;其二,建立质量=f(身长,胸围)模型,数形结合建立三维空间基本曲线进行描绘。分别进行参数估计,误差分析,准确度评价;

模型三:根据几何的相关知识,将鲈鱼化为两个圆锥体底部对接的几何体,建立体积对质量影响的模型,进行参数估计,误差分析,准确度评价。

关键词:最小二乘法 加权平均法 方差 准确率对比测评

长 度 胸 围

一、分别作用 估 计生物学进化论 应 鱼流体力学 用二、共同作用 的检验,比较, 价质评价,校正 值 量 三、体积作用

问题重述

垂钓俱乐部鼓励垂钓者放生,奖励是按照鱼的质量分配的,由于要保持鲈鱼的生命活性同时保证测量准确公平,直接称重显然不合理不可行,于是只提供了一把软尺用于测量,题中要求应用机理分析建立模型,用给出的8组数据确定参数,设计较为准确合理的方法来用长度估计鱼的质量。

1. 问题分析

本课题旨在根据几组已知身长、质量、胸围数据以及生物学原理设计按照测量的长度估计鱼的质量的方法,但是在垂钓者眼里鱼是有肥瘦之分,即使长度相同,也不能同等看待,为公平起见,我们必须将胸围这一影响因素加入讨论中。根据生物学原理,在一定围,质量一定与身长或胸围成正相关关系,我们不妨假设这种关系为一次函数、二次函数或三次函数关系,有已知数据我们可以由最小二乘法进行参数估计。进一步分析身长和胸围共同对质量的影响可以考虑两种方法,一种是将身长和胸围对质量的影响关系用加权系数法表现出,还可假设一种二元函数求参数进行估计。考虑到身长和胸围对质量的影响皆是影响到了鱼的体积,可进一步分析鱼的体积对质量的影响。

2. 模型假设与符号说明

3.1 模型假设

1) 池塘里的鱼体型都是鲈鱼,每条鱼被钓上的几率是相等的; 2) 鱼的胸围指鱼身的最大周长; 3) 鱼肉的质量均匀,密度相等; 4) 不区别鱼的雌雄且鱼的肥瘦均匀;

5) 鱼的横截面相似且为圆,体型近似为两个圆锥体底部对接。 3.2 符号说明

符号

说明 鱼的身长 鱼的胸围 鱼的质量 鱼的体积

鱼的最大周长所对应半径

单位

x1 x2 y V R

cm cm g cm3 cm 同时将题中所给的统计数据由左向右依次标号,鱼的身长依次为:x11,x12…x18,鱼的质量依次为:y1,y2…y8,鱼的胸围依次为:x21,x22…x28。

3. 模型建立

模型一 机理分析法分别探究身长和胸围对鱼质量的影响 4.1.1 一次函数模型

假设鱼质量和身长以及鱼质量和胸围的关系都为一次函数关系,具体记为:

y=a1x1+b1 y=a2x2+b2 其中:a1,b1,a2,b2都是参数。

参数可以用题中所给的统计数据应用最小二乘法拟合得到,具体操作如下: 求a1,b1,a2,b2使目标函数满足条件,目标函数为:

min∑[y(xk)-yk]2 (n=1,2…8)

其中y(xk)是鱼质量的估计值。

通过matlab对模型的参数进行参数估计,求解模型得:

a1=65.3 b1=-1637.3 a2=92 b2=-1497.5 程序详见附表1。

身长与质量的关系——一次函数1400130012001100100090080070060050040030323436384042444640020222426283032800100014001600胸围与质量的关系——一次函数1200600

4.1.2 二次函数模型

假设鱼质量和身长以及鱼质量和胸围的关系都为二次函数关系,具体记为:

y=a1x12+b1x2+c1 y=a2x22+b2x2+c2 其中:a1,b1,c1,a2,b2,c2都是参数。 参数估计方法同一次函数模型。

通过matlab对模型的参数进行参数估计,可得:

a1=1.6247 b1=-59.3124

c1=709.7392 a2=1.3 b2=157.9 c2=-2344.8 程序详见附表2。

身长与质量的关系——二次函数14001600胸围与质量的关系——二次函数130012001100100090080070060060080012001400100050040030323436384042444640020222426283032

4.1.3 三次函数模型

假设鱼质量和身长以及鱼质量和胸围的关系都为三次函数关系,具体记为:

y=a1x13+b1x12+c1x1+d1 y=a2x23+b2x22+c2x2+d2 其中:a1,b1,c1,d1,a2,b2,c2,d2都是参数。 参数估计方法同上,可得:

a1=1 b1=-80 c1=3008 d1=-37262

a2=-1 b2=90 c2=-2228 d2=18113 程序详见附表3。

身体与质量的关系——三次函数14001300120011001000900800700600500400303234363840424446胸围与质量的关系——三次函数1400130012001100100090080070060050040020222426283032

 误差分析

利用方差对上述结果进行误差分析,其实质上就是比较三种函数模型的目标函数值的大小,目标函数数值小的误差小。由此可得:

方法 一次函数关系 二次函数关系 三次函数关系

身长误差

1.6543e+004 9.8461e+003 2.0881e+009

胸围误差

1.6258e+004 2.1530e+007 5.0456e+007

程序详见附表4。显然,二次函数关系模型对鱼质量和身长的关系估计的更准确,一次函数关系对鱼质量和胸围的关系估计的更准确。

模型二 机理分析法探究身长和胸围共同对鱼质量的影响

由模型一知胸围和身长对质量都有影响,因此在模型二中考虑二者共同对质量的影响,采用两种方法。

4.2.1 加权平均法对模型一的进一步处理

对模型一中胸围和身长分别对质量的影响加权平均。

加权平均法是一种根据各种因素对结果影响大小对因素加不同权重的方法。公式:

y=am+bn

(其中a,b分别为权重且满足a+b=1,m,n分别为影响因素,若影响因素不止两个,可以按此格式继续扩展)

对于此研究课题影响因素分别为身长和胸围,在模型一中已得出身长对质量的影响函数为:

Y1=y=1.6247x12-59.3124x1+709.7392 胸围对质量的影响函数为:

Y2=y=92x2-1497.5 对两种因素加权重,此课题不妨取权重分别为0.5(根据需要也可取权重分别为0.4,0.6或0.6,0.4等)得出加权模型: Y=0.5Y1+0.5Y2  误差分析

在概率论与数理统计中我们已经学过,方差具有一定的计算法则,例如:D(ax+b)=a2D(x)。我们很容易得到该模型的误差,误差为:6.5260e+003

4.2.2 三维空间基本曲线模型

假设鱼质量和鱼身长、鱼胸围的关系为三维空间基本曲线函数关系,具体记为:

y=ax12+bx22+cx1x2+dx1+ex2+f 其中a,b,c,d,e,f均为参数。

参数估计方法同模型一,模型求解得:

a=-0.0001 b=0.7686 c=1.1436 d=0.0432 e=0.0289 f=0.0011 程序详见附表5。  误差分析

利用方差对上述结果进行误差分析,误差结果为:8.1896e+007

身长、胸围与质量的关系6000500040003000200010000353025352030405045

模型三 机理分析法探究体积对鱼质量的影响

关于鱼的最大周长到底处于鱼体的何位置,在我们所建立的鱼的近似几何体(如图)中,

x2=2πR; R= V1=πR2×l1; V2=πR2×l2;

V =πR2×l1 +πR2×l2 =πR2×(l1+l2) =πR2l; 所以鱼的体积和鱼的胸围处于鱼体何处无关。则:

V = 我们已假设鱼的质量均匀,则设:

= ; m=aV+b 其中:a,b为正参数。

参数估计方法同上,模型求解得:

a=1.1587 b=42.4279 程序详见附表6。

 误差分析

利用方差对上述结果进行误差分析,误差分析结果为:7.0276e+004

体积与质量的关系16001400120010008006004003004005006007008009001000110012001300

4. 模型评价

5.1模型比较

模型 模型一 加权平均模型 三维空间基本曲线模型

体积质量模型

由上表可知,加权平均模型是最优之选。 5.2优点评述

1) 模型不仅可以应用于本题的背景,其实,在鱼苗鱼种的生产中,需要对鱼体的成长

误差

9.8461e+003 1.6258e+004

6.5260e+003 8.1896e+007 7.0276e+004

情况观察了解,随着望向培育鱼种工艺的应用及有关的实验项目的展开,对鱼体长度和重量的测定更成为一种经常性的工作容。在工作量较大数量较多时,适用常规测量和称重法,不过那难度大,而且容易导致被测由于受伤,甚至死亡。我们一估计出鱼体长度胸围质量之间存在着某种程度的统计关系,大大方便了研究工作,减少不必要的损失。

2) 本文提出的三种估计模型具有普遍适用性。

3) 本文通过对估计模型一精确率的探索提出新的加权平均估计模型,具有创新性。 4) 对于用长度估计鱼的质量的要求,我们提出三种不同的模型并作了对比和评述,使

公平性得到了更好的体现。

5.3模型改进

1) 理论上讲,模型三的截距应为零,因为我们已经假设鱼的质量是均匀的,密度是一

定的,质量等于体积和密度乘积。可以从三方面改进:

a) 将该截距看成是残差,通过数据代入我们可以发现在鱼体积不太小的情况下估

计还是可靠的。

b) 模型三之所以误差稍大,可能因为我们对鱼的几何体模型构造的不准确,可以

通过对生物学相关书籍的查阅来完善,进而构造出更精确的立体几何模型。 c) 如果条件允许,可以用排水法测定体积,是用一般具有刻度的玻璃量筒,先置

水于量筒容量三分之一或二分之一的某一刻度,然后将鱼逐尾投入,并分别从页面上升程度几下增加的毫升读数,此读数记为该鱼的体积值。再用经验获得的鱼的密度值根据公式计算鱼的质量。该种改进方法,鱼不离水,操作便捷,可行性实用性强。

2) x1/x2是鱼身长与最大胸围之比,如果x1/x2太大,流体力学角度来讲鱼在水中遇到

的阻力增大;如果x1/x2太小,其自身的生长不能达到一种自然吻合,无疑是不利于生存,因此在查阅生物学的有关书籍以及从达尔文进化论角度来讲,可以假定,经过长期进化,对于每一种动物而言x1/x2已经达到其最适合的数值,换句话说,x1/x2应视为与这种鱼的尺寸无关的常数,于是可得到:

x1∝x2 由于池塘里的鲈鱼体形都是相似的,对于两条鱼而言,由数学中相似原理得:

s∝x22 其中s为鱼的横截面积,又由于:

s∝s1 其中s1为鱼的平均横截面积,则有:

s∝x12 由体积公式:

V∝s1*x1 可得:

V∝s*x1 综上比例关系可得:

V∝x13 即得模型:

m∝x13 为了检验我们设:

m=alb,

其中a,b为待定参数,又:

log10m=a’+blog10l 利用最小二乘法根据所给数据拟合上式得到

m=0.01322 l3.0265 可以看出模型与这个结果吻合的相当好。 详细图表:

参考文献

[1] 姜启源 谢金星 叶俊 编,数学模型(第四版),:高等教育,2011年1月. [2] 季之源 戴俊杰 顾嘉宾 周,计算幼鱼长度和重量的体积测量法及其应用,省兴化县水产科学研究所,1989年.

附 录

附录1 一次函数参数估计程序

x=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; y=[482,482,454,652,765,737,1162,1389]; p=polyfit(x,y,1) x1=31.8:0.1:45.1; y1=polyval(p,x1); plot(x,y,'o',x1,y1);

title('Éí³¤ÓëÖÊÁ¿µÄ¹ØÏµ¡ª¡ªÒ»´Îº¯Êý')

x=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; p=polyfit(x,y,1) x1=21.3:0.1:31.8; y1=polyval(p,x1); plot(x,y,'o',x1,y1);

title('ÐØÎ§ÓëÖÊÁ¿µÄ¹ØÏµ¡ª¡ªÒ»´Îº¯Êý')

程序的运行结果:

p =1.0e+003 * 0.0653 -1.6373 p =1.0e+003 * 0.0920 -1.4975

附录2二次函数参数估计程序

x=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; y=[482,482,454,652,765,737,1162,1389]; p=polyfit(x,y,2) x1=31.8:0.1:45.1; y1=polyval(p,x1); plot(x,y,'o',x1,y1);

title('Éí³¤ÓëÖÊÁ¿µÄ¹ØÏµ¡ª¡ª¶þ´Îº¯Êý')

x=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; p=polyfit(x,y,2) x1=21.3:0.1:31.8; y1=polyval(p,x1); plot(x,y,'o',x1,y1);

title('ÐØÎ§ÓëÖÊÁ¿µÄ¹ØÏµ¡ª¡ª¶þ´Îº¯Êý')

程序的运行结果:

p =1.6247 -59.3124 709.7392

p =1.0e+003 * -0.0013 0.1579 -2.3448

附录3三次函数参数估计程序

x=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1];

y=[482,482,454,652,765,737,1162,1389]; p=polyfit(x,y,3) x1=31.8:0.1:45.1; y1=polyval(p,x1); plot(x,y,'o',x1,y1);

title('ÉíÌåÓëÖÊÁ¿µÄ¹ØÏµ¡ª¡ªÈý´Îº¯Êý')

x=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; p=polyfit(x,y,3) x1=21.3:0.1:31.8; y1=polyval(p,x1); plot(x,y,'o',x1,y1);

title('ÐØÎ§ÓëÖÊÁ¿µÄ¹ØÏµ¡ª¡ªÈý´Îº¯Êý')

程序的运行结果:

p =1.0e+004 * 0.0001 -0.0080 0.3008 p =1.0e+004 * -0.0001 0.0090 -0.2228 附录4模型一误差分析程序

x1=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; y=[482,482,454,652,765,737,1162,1389]; y1=65.3*x1-1637.3;

-3.7262 1.8113

k=sum((y1-y).^2)

x1=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; y=[482,482,454,652,765,737,1162,1389]; y1=1.6247*(x1.^2)-59.3124*x1+709.7392; k=sum((y1-y).^2)

x1=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; y=[482,482,454,652,765,737,1162,1389]; y1=x1.^3-80*(x1.^2)+3008*x1-37262; k=sum((y1-y).^2)

x2=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; y1=92*x2-1497.5; k=sum((y1-y).^2)

x2=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; y1=1.3*(x2.^2)+157.9*x2-2344.8; k=sum((y1-y).^2)

x2=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; y1=-1*(x2.^3)+90*(x2.^2)-2228*x2+18113; k=sum((y1-y).^2)

附录5三维空间曲线基本函数参数估计程序

x1=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; x2=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; plot3(x1,x2,y,'o-') hold on

y1=1.7044*(x1.^2)+0.7686*(x2.^2)+1.1436*(x1.*x2)+0.0432*x1+0.0289*x2+0.0011 plot3(x1,x2,y1,'rp-');

title('Éí³¤¡¢ÐØÎ§ÓëÖÊÁ¿µÄ¹ØÏµ')

x1=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; x2=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; a=[1,1,1,1,1,1,1,1];

wei=[x1.^2;x2.^2;x1.*x2;x1;x2;a]; wei/y

程序的运行结果:

ans =

1.7044 0.7686 1.1436 0.0432 0.0289 0.0011

附录6三维空间基本曲线误差分析程序

x1=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; x2=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389];

y1=1.7044*(x1.^2)+0.7686*(x2.^2)+1.1436*(x1.*x2)+0.0432*x1+0.0289*x2+0.0011 k=sum((y1-y).^2)

附录6体积与质量关系参数估计程序

x1=[31.8,32.1,32.1,35.9,36.8,36.8,43.8,45.1]; x2=[21.3,21.6,21.6,22.9,24.8,24.8,27.9,31.8]; y=[482,482,454,652,765,737,1162,1389]; v=(x1.*(x2.^2))/(12*pi); p=polyfit(v,y,1) y1=polyval(p,v); plot(v,y1,'o-');

title('Ìå»ýÓëÖÊÁ¿µÄ¹ØÏµ')

程序的运行结果: p =1.1587 42.4279

附录6体积与质量关系误差分析程序

v=[3.826971324962187e+02,3.972660168319077e+02,3.972660168319077e+02,4.993836215124780e+02,...

6.003714913553345e+02,6.003714913553345e+02,9.043809345407842e+02,1.209761232302733e+03];

y=[482,482,454,652,765,737,1162,1389]; y1=1.1587*v-42.4279; k=sum((y1-y).^2)

附录6模型改进相关程序

1.利用最小二乘法在matlab软件中求参数的程序如下: >> l=[36.8,31.8,43.8,36.8,32.1,45.1,35.9,32.1]; >> m=[765,482,1162,737,482,1389,652,454]; >> plot(l,m,'o'); >> c=log(l); >> b=log(m); >> p=polyfit(c,b,l) p=3.0265 -4.3257

2.用matlab画出拟合图形程序如下:

>> l=[36.8,31.8,43.8,36.8,32.1,45.1,35.9,32.1]; >> m=[765,482,1162,737,482,1389,652,454]; >> plot(l,m,'o');

>> c=log(l); >> b=log(m); >> p=polyfit(c,b,1) >> l1=31.8:0.5:45.1; >> m1=polyval(p,l1);

>> fplot('l^(3.0265)',[31.8 45.1])

因篇幅问题不能全部显示,请点此查看更多更全内容