乌龟性别及温度的数学模型Word格式文档下载.docx
《乌龟性别及温度的数学模型Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《乌龟性别及温度的数学模型Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。
9
10%
8
0%
11.1%
27.7
7
3
70%
6
4
2
66.7%
75%
28.3
13
100%
87.5%
28.4
5
62.5%
77.8%
29.9
11
90.9%
二、根本假设
假设1;
幼龟性别只与温度有关
三、符号说明
符号
意义
单位
备注
t
乌龟孵化时的温度
℃
P〔x〕
S
乌龟蛋总数
个
X
C
四、问题分析
在此题由于是求温度与性别比例的模型,在数据表中每个温度都记录了三批乌龟,所以首先要对数据进展处理,利用excel算出每个温度对应下乌龟的总数,雄龟总个数,雌龟总个数和雄龟比例。
27
25
7.41%
24
17
70.83%
30
26
86.67%
19
70.37%
28
96.43%
为了使得运算更简单可以把温度进展预处理,把27.2看成0,以此类推可得
0.5
1.1
1.2
2.7
为了更直观观察其回归关系,利用MATLAB绘制出散点图。
从图中可以看出回归曲线是一条近于3次样条的多项式回归曲线,其回归模型为
〔1〕
然而在这个问题中〔1〕是回归方程中P(x)的取值不一定在[0,1]中,即使P〔x〕取值在[0,1]中,有意在给定t是,误差项
也只能取0,1两个值,显然不具有正态性,而且
的方差依赖于与t,具有异方差性,这些都违反了普通回归分析的前提条件,因此,该题不能用用普通回归分析。
由于P〔x〕在[0,1]之间取值,可以使用Logit模型。
五、模型的建立与求解
5.1模型的建立
5.2模型的求解
Logit模型是一种广义线性模型,可利用MATLAB统计工具箱总的命令glmfit求解。
参数
参数估计值
标准差
B0
-101783
0.3739
B1
2.2110
0.4309
所以估计值为
即
所以当幼龟比例为1:
1时计算出温度为27.7329度
令odd(t)为雄龟与雌龟比例,故有
当温度增加1度时odd比为
于是
由于b1=2.2110,所以温度每增加一度时雄龟与雌龟比例增加到原来的9.12484倍
5.3结果的分析及验证
对模型各个温度进展验证
雄龟估计值
0.235357
0.481812
0.777955
0.813801
0.991768
5.3模型改良
从以上结果可知拟合偏差太大,不适合于做为最终结果。
由于模型的右端是温度t的线性函数,可以考虑参加t的二次项后,看是否能提高模型的拟合程度。
即考虑模型为
执行以下程序
>
[b2,dev2]=glmfit([tt.^2],[xs],'
binomial'
'
logit'
);
b2,pval=1-chi2cdf(dev-dev2,1)
b2=
-1.6582
3.7840
-0.7745
pval=
0.0304
计算出b0,b1,b2的估计值为-1.6582、3.7840、-0.7745
所以模型为
0.160003
0.512178
0.827363
0.854124
0.948461
由以上表可知拟合偏差减小,由此可知,参加高次方后可以提高拟合偏差,所以为了进一步提高拟合效果,可以先计算出logit对应的值并画出并绘出〔t,logit〕的散点图
Logit(t)
-2.52535
0.8871418
1.87209067
0.8649796
3.296252
再利用Tools下BasicFitting工具找出一条拟合效果最好的曲线,并得出其对应的系数
可知模型为
个系数为
当所以幼龟比例为1:
1时P(x)=0.5.所以logit=0;
可以得出当温度为27.57932852、28.4627667和29.854698时幼龟比例为1:
1;
再次各个数据进展验证可得
0.0741
0.7083
0.86666
0.7035
0.9633
由以上结果可以看出拟合程度很好。
在用MATLAB统计工具中的命令regress求解得知相关系数R为1;
拟合效果很好。
六、参考文献
数学模型第四版高等教育
七、附录
模型1求解程序
t=[00.51.11.22.7]'
;
x=[217261927]'
s=[2724302728]'
proport=x./s;
[b,dev,stats]=glmfit(t,[xs],'
logitfit=glmval(b,t,'
plot(t,proport,'
o'
t,logitfit,'
r-'
xlabel('
t'
ylabel('
proportionofx'
)
b,bi=stats.se,dev
b=
-1.1783
2.2110
bi=
0.3739
0.4309
dev=
14.8629
模型1验证程序
x=[01;
0.51;
1.11;
1.21;
2.71]
x=
01.0000
0.50001.0000
1.10001.0000
1.20001.0000
2.70001.0000
y=[-2.525350.88714181.872090670.86497963.296252]'
alpha=0.05;
[b,bint,r,rint,stats]=regress(y,x,alpha)
1.8372
-1.1419
bint=
-0.06673.7411
-3.85991.5760
r=
-1.3834
1.1105
0.9931
-0.1978
-0.5223
rint=
-2.7014-0.0654
-2.02104.2419
-2.61444.6005
-4.41154.0160
-2.16771.1230
stats=
0.75879.43110.05451.4817
模型2的验证程序
x=[001;
0.50.5^21;
1.1^21.11;
1.2^21.21;
2.7^22.71]
001.0000
0.50000.25001.0000
1.21001.10001.0000
1.44001.20001.0000
7.29002.70001.0000
-0.3797
2.7004
-1.1635
-3.99123.2317
-7.401812.8026
-6.36454.0374
-1.3618
1.5654
0.5246
-0.6652
-0.0631
-3.51300.7893
-1.33324.4641
-6.00707.0562
-6.76985.4395
-0.38360.2575
0.72712.66420.27292.5134
绘制〔t,P(x)〕散点图程序
t=[00.51.11.22.7];
p=[0.07410.70830.86670.70370.9643];
plot(t,p,'
r*'
绘制〔t,logit〕散点图程序
p=[-2.525350.88714181.872090670.86497963.296252];
用第三模型计算幼龟比例为1:
1时温度程序
y=[4.1581-15.1139.969105.9619-2.5254]
y=
4.1581-15.11309.969105.9619-2.5254
roots(y)
ans=
2.6755
1.2628
-0.3415+0.5977i
-0.3415-0.5977i
0.3793
vpa(roots(y),8)
2.6754698
1.2627667
0.59774412*i-0.34148611
-0.59774412*i-0.34148611
0.37932852
第三模型各个温度对应雄龟比例结果验证程序
Y=(t)-2.5254+5.9619*t+9.9691*t^3-15.113*t^4+4.1581*t^5
Y=
(t)-2.5254+5.9619*t+9.9691*t^3-15.113*t^4+4.1581*t^5
f=(t)exp(Y(t))/(1+exp(Y(t)))
f=
(t)exp(Y(t))/(1+exp(Y(t)))
f(0)
0.0741
f(0.5)
0.7083
f(1.1)
0.8666
f(1.2)
0.7035
f(2.7)
用regress验证模型程序
x=[000001;
0.5^50.5^40.5^30.5^20.51;
1.1^51.1^41.1^31.1^21.11;
1.2^51.2^41.2^31.2^21.21;
2.7^52.7^42.7^32.7^22.71]
000001.0000
0.03130.06250.12500.25000.50001.0000
1.61051.46411.33101.21001.10001.0000
2.48832.07361.72801.44001.20001.0000
143.489153.144119.68307.29002.70001.0000
Warning:
Xisrankdeficienttowithinmachineprecision.
Inregressat82
4.1581
-15.1125
9.9691
0
5.9619
-2.5254
NaNNaN
00
1.0e-013*
0.3775
-0.0511
0.0311
0.0100
0.4263
1NaNNaNNaN