1、乌龟性别及温度的数学模型数学建模期末作业乌龟性别的决定因素问题习题1010:红军学号:2012212816专业:数学与应用数学年级:2012级摘要本文针对幼龟性别温度关系进展建立模型,在建模时建立温度与雄龟比例的模型,由于雄龟比例只可能在【0,1】之间取值,所以不能建立一般的统计回归模型,所以可以建立Logit模型。利用MATLAB统计工具箱中的命令glmfit求解。再求出各个系数估计值后用EXCEL表格进展处理算出每个温度下雄龟比例的估计值,对模型进展验证,为了提高模型的拟合效果可以在Logit模型中添加t的高次方,并用利用MATLAB统计工具箱中的命令regress求解,求出各个系数估计值
2、,置信区间和模型相关系数。为了能直观的比拟模型拟合效果可以利用MATLAB中的plot工具会出t,logit的散点图,并用利用Tools下Basic Fitting工具找出一条拟合效果最好的曲线,并得出其对应的系数。最后可以通过logit根本模型得出当温度为27.7329度幼龟比例为1:1,而且温度每增加一度雄龟与雌龟比例扩大9.12484倍。关键词:logit模型,置信区间,相关系数一、问题提出人类的性别是由基因决定的,乌龟的性别主要有什么因素决定的呢?科学研究说明,决定幼龟性别的最关键的因素是乌龟孵化时的温度。为了研究温度是如何影响幼龟的雌雄比例,美国科学家对某一类乌龟的孵化过程做了实验,
3、试验在五个不同恒定温度下进展,每个温度下分别观察3批乌龟蛋的孵化过程,得到的数据如下:温度乌龟蛋个数雄龟个数雌龟个数雄龟比例27.2101910%8080%91811.1%27.7107370%64266.7%86275%28.313130100%96366.7%87187.5%28.4107370%85362.5%97277.8%29.91110190.9%880100%990100%二、根本假设假设1;幼龟性别只与温度有关三、符号说明符号意义单位备注t乌龟孵化时的温度Px雄龟比例S乌龟蛋总数个X雄龟个数个C雌龟个数个四、问题分析 在此题由于是求温度与性别比例的模型,在数据表中每个温度都记录
4、了三批乌龟,所以首先要对数据进展处理,利用excel算出每个温度对应下乌龟的总数,雄龟总个数,雌龟总个数和雄龟比例。温度乌龟蛋个数雄龟个数雌龟个数雄龟比例27.2272257.41%27.72417770.83%28.33026486.67%28.42719870.37%29.92827196.43%为了使得运算更简单可以把温度进展预处理,把27.2看成0,以此类推可得温度乌龟蛋个数雄龟个数雌龟个数雄龟比例0272257.41%0.52417770.83%1.13026486.67%1.22719870.37%2.72827196.43%为了更直观观察其回归关系,利用MATLAB绘制出散点图。
5、从图中可以看出回归曲线是一条近于3次样条的多项式回归曲线,其回归模型为 1然而在这个问题中1是回归方程中P(x)的取值不一定在0,1中,即使Px取值在0,1中,有意在给定t是,误差项也只能取0,1两个值,显然不具有正态性,而且的方差依赖于与t,具有异方差性,这些都违反了普通回归分析的前提条件,因此,该题不能用用普通回归分析。 由于Px在0,1之间取值,可以使用Logit模型。五、模型的建立与求解5.1模型的建立5.2模型的求解Logit模型是一种广义线性模型,可利用MATLAB统计工具箱总的命令glmfit求解。参数参数估计值标准差B0-1017830.3739B12.21100.4309所以
6、估计值为即所以当幼龟比例为1:1时计算出温度为27.7329度令odd(t)为雄龟与雌龟比例,故有当温度增加1度时odd比为于是由于b1=2.2110,所以温度每增加一度时雄龟与雌龟比例增加到原来的9.12484倍5.3结果的分析及验证对模型各个温度进展验证温度乌龟蛋个数雄龟个数雌龟个数雄龟比例雄龟估计值0272257.41%0.2353570.52417770.83%0.4818121.13026486.67%0.7779551.22719870.37%0.8138012.72827196.43%0.9917685.3模型改良从以上结果可知拟合偏差太大,不适合于做为最终结果。由于模型的右端是
7、温度t的线性函数,可以考虑参加t的二次项后,看是否能提高模型的拟合程度。即考虑模型为执行以下程序 b2,dev2=glmfit(t t.2,x s,binomial,logit);b2,pval=1-chi2cdf(dev-dev2,1)b2 = -1.6582 3.7840 -0.7745pval =0.0304计算出b0,b1,b2的估计值为-1.6582、 3.7840、 -0.7745所以模型为温度乌龟蛋个数雄龟个数雌龟个数雄龟比例雄龟估计值0272257.41%0.1600030.52417770.83%0.5121781.13026486.67%0.8273631.22719870
8、.37%0.8541242.72827196.43%0.948461由以上表可知拟合偏差减小,由此可知,参加高次方后可以提高拟合偏差,所以为了进一步提高拟合效果,可以先计算出logit对应的值并画出并绘出t,logit的散点图温度乌龟蛋个数雄龟个数雌龟个数雄龟比例Logit(t)0272257.41%-2.525350.52417770.83%0.88714181.13026486.67%1.872090671.22719870.37%0.86497962.72827196.43%3.296252再利用Tools下Basic Fitting工具找出一条拟合效果最好的曲线,并得出其对应的系数可知
9、模型为个系数为所以模型为当所以幼龟比例为1:1时P(x)=0.5.所以logit=0;即可以得出当温度为27.57932852、28.4627667和29.854698时幼龟比例为1:1;再次各个数据进展验证可得温度乌龟蛋个数雄龟个数雌龟个数雄龟比例雄龟估计值0272257.41%0.07410.52417770.83%0.70831.13026486.67%0.866661.22719870.37%0.70352.72827196.43%0.9633由以上结果可以看出拟合程度很好。在用MATLAB统计工具中的命令regress求解得知相关系数R为1;拟合效果很好。六、参考文献数学模型 第四版
10、 高等教育七、附录模型1求解程序 t=0 0.5 1.1 1.2 2.7; x=2 17 26 19 27; s=27 24 30 27 28; proport=x./s; b,dev,stats=glmfit(t,x s,binomial,logit); logitfit=glmval(b,t,logit); plot(t,proport,o,t,logitfit,r-); xlabel(t);ylabel(proportion of x) b,bi=stats.se,devb = -1.1783 2.2110bi= 0.3739 0.4309dev = 14.8629模型1验证程序 x=0
11、 1;0.5 1;1.1 1;1.2 1;2.7 1x = 0 1.0000 0.5000 1.0000 1.1000 1.0000 1.2000 1.0000 2.7000 1.0000 y=-2.52535 0.8871418 1.87209067 0.8649796 3.296252;alpha=0.05;b,bint,r,rint,stats=regress(y,x,alpha)b = 1.8372 -1.1419bint = -0.0667 3.7411 -3.8599 1.5760r = -1.3834 1.1105 0.9931 -0.1978 -0.5223rint = -2.
12、7014 -0.0654 -2.0210 4.2419 -2.6144 4.6005 -4.4115 4.0160 -2.1677 1.1230stats =0.7587 9.4311 0.0545 1.4817模型2的验证程序x=0 0 1;0.5 0.52 1;1.12 1.1 1;1.22 1.2 1;2.72 2.7 1x = 0 0 1.0000 0.5000 0.2500 1.0000 1.2100 1.1000 1.0000 1.4400 1.2000 1.0000 7.2900 2.7000 1.0000 y=-2.52535 0.8871418 1.87209067 0.86
13、49796 3.296252;alpha=0.05;b,bint,r,rint,stats=regress(y,x,alpha)b = -0.3797 2.7004 -1.1635bint = -3.9912 3.2317 -7.4018 12.8026 -6.3645 4.0374r = -1.3618 1.5654 0.5246 -0.6652 -0.0631rint = -3.5130 0.7893 -1.3332 4.4641 -6.0070 7.0562 -6.7698 5.4395 -0.3836 0.2575stats = 0.7271 2.6642 0.2729 2.5134绘
14、制t,P(x)散点图程序 t=0 0.5 1.1 1.2 2.7;p=0.0741 0.7083 0.8667 0.7037 0.9643; plot(t,p,r*)绘制t,logit散点图程序 t=0 0.5 1.1 1.2 2.7;p=-2.52535 0.8871418 1.87209067 0.8649796 3.296252; plot(t,p,r*)用第三模型计算幼龟比例为1:1时温度程序 y=4.1581 -15.113 9.9691 0 5.9619 -2.5254y = 4.1581 -15.1130 9.9691 0 5.9619 -2.5254 roots(y)ans =
15、 2.6755 1.2628 -0.3415 + 0.5977i -0.3415 - 0.5977i 0.3793 vpa( roots(y),8)ans = 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*t3-15.113*t4+4.1581*t5Y = (t)-2.5254+5.9619*t+9.9691*t3-15.113*t4+4.1581*t5 f=(t)exp(Y(t)/(
16、1+exp(Y(t)f = (t)exp(Y(t)/(1+exp(Y(t) f(0)ans = 0.0741 f(0.5)ans = 0.7083 f(1.1)ans = 0.8666 f(1.2)ans = 0.7035 f(2.7)ans =0.9633用regress验证模型程序x=0 0 0 0 0 1;0.55 0.54 0.53 0.52 0.5 1;1.15 1.14 1.13 1.12 1.1 1;1.25 1.24 1.23 1.22 1.2 1;2.75 2.74 2.73 2.72 2.7 1x = 0 0 0 0 0 1.0000 0.0313 0.0625 0.125
17、0 0.2500 0.5000 1.0000 1.6105 1.4641 1.3310 1.2100 1.1000 1.0000 2.4883 2.0736 1.7280 1.4400 1.2000 1.0000 143.4891 53.1441 19.6830 7.2900 2.7000 1.0000 y=-2.52535 0.8871418 1.87209067 0.8649796 3.296252;alpha=0.05;b,bint,r,rint,stats=regress(y,x,alpha)Warning: X is rank deficient to within machine precision. In regress at 82b = 4.1581 -15.1125 9.9691 0 5.9619 -2.5254bint = NaN NaN NaN NaN NaN NaN 0 0 NaN NaN NaN NaNr = 1.0e-013 * 0.3775 -0.0511 0.0311 0.0100 0.4263rint = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaNstats = 1 NaN NaN NaN
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2