乌龟性别与温度的数学模型.docx

上传人:b****6 文档编号:5696098 上传时间:2022-12-31 格式:DOCX 页数:12 大小:22.96KB
下载 相关 举报
乌龟性别与温度的数学模型.docx_第1页
第1页 / 共12页
乌龟性别与温度的数学模型.docx_第2页
第2页 / 共12页
乌龟性别与温度的数学模型.docx_第3页
第3页 / 共12页
乌龟性别与温度的数学模型.docx_第4页
第4页 / 共12页
乌龟性别与温度的数学模型.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

乌龟性别与温度的数学模型.docx

《乌龟性别与温度的数学模型.docx》由会员分享,可在线阅读,更多相关《乌龟性别与温度的数学模型.docx(12页珍藏版)》请在冰豆网上搜索。

乌龟性别与温度的数学模型.docx

乌龟性别与温度的数学模型

Companynumber:

【0089WT-8898YT-W8CCB-BUUT-202108】

 

乌龟性别与温度的数学模型

数学建模期末作业

乌龟性别的决定因素问题

(习题10——10)

姓名:

***

专业:

数学与应用数学

年级:

2012级

摘要

本文针对幼龟性别温度关系进行建立模型,在建模时建立温度与雄龟比例的模型,由于雄龟比例只可能在【0,1】之间取值,所以不能建立一般的统计回归模型,所以可以建立Logit模型。

利用MATLAB统计工具箱中的命令glmfit求解。

再求出各个系数估计值后用EXCEL表格进行处理算出每个温度下雄龟比例的估计值,对模型进行验证,为了提高模型的拟合效果可以在Logit模型中添加t的高次方,并用利用MATLAB统计工具箱中的命令regress求解,求出各个系数估计值,置信区间和模型相关系数。

为了能直观的比较模型拟合效果可以利用MATLAB中的plot工具会出(t,logit)的散点图,并用利用Tools下BasicFitting工具找出一条拟合效果最好的曲线,并得出其对应的系数。

最后可以通过logit基本模型得出当温度为度幼龟比例为1:

1,而且温度每增加一度雄龟与雌龟比例扩大倍。

关键词:

logit模型,置信区间,相关系数

一、问题提出

人类的性别是由基因决定的,乌龟的性别主要有什么因素决定的呢科学研究表明,决定幼龟性别的最关键的因素是乌龟孵化时的温度。

为了研究温度是如何影响幼龟的雌雄比例,美国科学家对某一类乌龟的孵化过程做了实验,试验在五个不同恒定温度下进行,每个温度下分别观察3批乌龟蛋的孵化过程,得到的数据如下:

温度

乌龟蛋个数

雄龟个数

雌龟个数

雄龟比例

10

1

9

10%

8

0

8

0%

9

1

8

%

10

7

3

70%

6

4

2

%

8

6

2

75%

13

13

0

100%

9

6

3

%

8

7

1

%

10

7

3

70%

8

5

3

%

9

7

2

%

11

10

1

%

8

8

0

100%

9

9

0

100%

二、基本假设

假设1;幼龟性别只与温度有关

三、符号说明

符号

意义

单位

备注

t

乌龟孵化时的温度

P(x)

雄龟比例

S

乌龟蛋总数

X

雄龟个数

C

雌龟个数

四、问题分析

在本题由于是求温度与性别比例的模型,在数据表中每个温度都记录了三批乌龟,所以首先要对数据进行处理,利用excel算出每个温度对应下乌龟的总数,雄龟总个数,雌龟总个数和雄龟比例。

温度

乌龟蛋个数

雄龟个数

雌龟个数

雄龟比例

27

2

25

%

24

17

7

%

30

26

4

%

27

19

8

%

28

27

1

%

为了使得运算更简单可以把温度进行预处理,把看成0,以此类推可得

温度

乌龟蛋个数

雄龟个数

雌龟个数

雄龟比例

0

27

2

25

%

24

17

7

%

30

26

4

%

27

19

8

%

28

27

1

%

为了更直观观察其回归关系,利用MATLAB绘制出散点图。

从图中可以看出回归曲线是一条近于3次样条的多项式回归曲线,其回归模型为

(1)

然而在这个问题中

(1)是回归方程中P(x)的取值不一定在[0,1]中,即使P(x)取值在[0,1]中,有意在给定t是,误差项

也只能取0,1两个值,显然不具有正态性,而且

的方差依赖于与t,具有异方差性,这些都违反了普通回归分析的前提条件,因此,该题不能用用普通回归分析。

由于P(x)在[0,1]之间取值,可以使用Logit模型。

五、模型的建立与求解

模型的建立

模型的求解

Logit模型是一种广义线性模型,可利用MATLAB统计工具箱总的命令glmfit求解。

参数

参数估计值

标准差

B0

-101783

B1

所以估计值为

所以当幼龟比例为1:

1时计算出温度为度

令odd(t)为雄龟与雌龟比例,故有

当温度增加1度时odd比为

于是

由于b1=,所以温度每增加一度时雄龟与雌龟比例增加到原来的倍

结果的分析及验证

对模型各个温度进行验证

温度

乌龟蛋个数

雄龟个数

雌龟个数

雄龟比例

雄龟估计值

0

27

2

25

%

24

17

7

%

30

26

4

%

27

19

8

%

28

27

1

%

模型改进

从以上结果可知拟合偏差太大,不适合于做为最终结果。

由于模型的右端是温度t的线性函数,可以考虑加入t的二次项后,看是否能提高模型的拟合程度。

即考虑模型为

执行以下程序

>>[b2,dev2]=glmfit([tt.^2],[xs],'binomial','logit');

b2,pval=1-chi2cdf(dev-dev2,1)

b2=

pval=

计算出b0,b1,b2的估计值为、、

所以模型为

温度

乌龟蛋个数

雄龟个数

雌龟个数

雄龟比例

雄龟估计值

0

27

2

25

%

24

17

7

%

30

26

4

%

27

19

8

%

28

27

1

%

由以上表可知拟合偏差减小,由此可知,加入高次方后可以提高拟合偏差,所以为了进一步提高拟合效果,可以先计算出logit对应的值并画出并绘出(t,logit)的散点图

温度

乌龟蛋个数

雄龟个数

雌龟个数

雄龟比例

Logit(t)

0

27

2

25

%

24

17

7

%

30

26

4

%

27

19

8

%

28

27

1

%

再利用Tools下BasicFitting工具找出一条拟合效果最好的曲线,并得出其对应的系数

可知模型为

个系数为

所以模型为

当所以幼龟比例为1:

1时P(x)=.所以logit=0;即

可以得出当温度为27.、和时幼龟比例为1:

1;

再次各个数据进行验证可得

温度

乌龟蛋个数

雄龟个数

雌龟个数

雄龟比例

雄龟估计值

0

27

2

25

%

24

17

7

%

30

26

4

%

27

19

8

%

28

27

1

%

由以上结果可以看出拟合程度很好。

在用MATLAB统计工具中的命令regress求解得知相关系数R为1;拟合效果很好。

六、参考文献

数学模型第四版高等教育出版社

七、附录

模型1求解程序

>>t=[0]';

>>x=[217261927]';

>>s=[2724302728]';

>>proport=x./s;

>>[b,dev,stats]=glmfit(t,[xs],'binomial','logit');

>>logitfit=glmval(b,t,'logit');

>>plot(t,proport,'o',t,logitfit,'r-');

>>xlabel('t');ylabel('proportionofx')

>>b,bi=,dev

b=

bi=

dev=

模型1验证程序

>>x=[01;1;1;1;1]

x=

0

alpha=;

[b,bint,r,rint,stats]=regress(y,x,alpha)

b=

bint=

r=

rint=

stats=

模型2的验证程序

x=[001;^21;^21;^21;^21]

x=

00

alpha=;

[b,bint,r,rint,stats]=regress(y,x,alpha)

b=

bint=

r=

rint=

stats=

绘制(t,P(x))散点图程序

>>t=[0];

p=[];

>>plot(t,p,'r*')

绘制(t,logit)散点图程序

>>t=[0];

>>plot(t,p,'r*')

用第三模型计算幼龟比例为1:

1时温度程序

>>y=[0]

y=

0

>>roots(y)

ans=

+

-

vpa(roots(y),8)

ans=

第三模型各个温度对应雄龟比例结果验证程序

>>Y=@(t)+*t+*t^*t^4+*t^5

Y=

@(t)+*t+*t^*t^4+*t^5

>>f=@(t)exp(Y(t))/(1+exp(Y(t)))

f=

@(t)exp(Y(t))/(1+exp(Y(t)))

>>f(0)

ans=

>>f

ans=

>>f

ans=

>>f

ans=

>>f

ans=

用regress验证模型程序

x=[000001;^5^4^3^21;^5^4^3^21;^5^4^3^21;^5^4^3^21]

x=

00000

alpha=;

[b,bint,r,rint,stats]=regress(y,x,alpha)

Warning:

Xisrankdeficienttowithinmachineprecision.

>Inregressat82

b=

0

bint=

NaNNaN

NaNNaN

NaNNaN

00

NaNNaN

NaNNaN

r=

*

rint=

NaNNaN

NaNNaN

NaNNaN

NaNNaN

NaNNaN

stats=

1NaNNaNNaN

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1