1、乌龟性别与温度的数学模型 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】乌龟性别与温度的数学模型数学建模期末作业乌龟性别的决定因素问题(习题1010)姓名:*专业:数学与应用数学年级:2012级摘要本文针对幼龟性别温度关系进行建立模型,在建模时建立温度与雄龟比例的模型,由于雄龟比例只可能在【0,1】之间取值,所以不能建立一般的统计回归模型,所以可以建立Logit模型。利用MATLAB统计工具箱中的命令glmfit求解。再求出各个系数估计值后用EXCEL表格进行处理算出每个温度下雄龟比例的估计值,对模型进行验证,为了提高模型的拟合效果可以在Log
2、it模型中添加t的高次方,并用利用MATLAB统计工具箱中的命令regress求解,求出各个系数估计值,置信区间和模型相关系数。为了能直观的比较模型拟合效果可以利用MATLAB中的plot工具会出(t,logit)的散点图,并用利用Tools下Basic Fitting工具找出一条拟合效果最好的曲线,并得出其对应的系数。最后可以通过logit基本模型得出当温度为度幼龟比例为1:1,而且温度每增加一度雄龟与雌龟比例扩大倍。关键词:logit模型,置信区间,相关系数一、问题提出人类的性别是由基因决定的,乌龟的性别主要有什么因素决定的呢科学研究表明,决定幼龟性别的最关键的因素是乌龟孵化时的温度。为了
3、研究温度是如何影响幼龟的雌雄比例,美国科学家对某一类乌龟的孵化过程做了实验,试验在五个不同恒定温度下进行,每个温度下分别观察3批乌龟蛋的孵化过程,得到的数据如下:温度乌龟蛋个数雄龟个数雌龟个数雄龟比例101910%8080%918%107370%642%86275%13130100%963%871%107370%853%972%11101%880100%990100%二、基本假设假设1;幼龟性别只与温度有关三、符号说明符号意义单位备注t乌龟孵化时的温度P(x)雄龟比例S乌龟蛋总数个X雄龟个数个C雌龟个数个四、问题分析 在本题由于是求温度与性别比例的模型,在数据表中每个温度都记录了三批乌龟,所以
4、首先要对数据进行处理,利用excel算出每个温度对应下乌龟的总数,雄龟总个数,雌龟总个数和雄龟比例。温度乌龟蛋个数雄龟个数雌龟个数雄龟比例27225%24177%30264%27198%28271%为了使得运算更简单可以把温度进行预处理,把看成0,以此类推可得温度乌龟蛋个数雄龟个数雌龟个数雄龟比例027225%24177%30264%27198%28271%为了更直观观察其回归关系,利用MATLAB绘制出散点图。从图中可以看出回归曲线是一条近于3次样条的多项式回归曲线,其回归模型为 (1)然而在这个问题中(1)是回归方程中P(x)的取值不一定在0,1中,即使P(x)取值在0,1中,有意在给定t
5、是,误差项也只能取0,1两个值,显然不具有正态性,而且的方差依赖于与t,具有异方差性,这些都违反了普通回归分析的前提条件,因此,该题不能用用普通回归分析。 由于P(x)在0,1之间取值,可以使用Logit模型。五、模型的建立与求解模型的建立模型的求解Logit模型是一种广义线性模型,可利用MATLAB统计工具箱总的命令glmfit求解。参数参数估计值标准差B0-101783B1所以估计值为即所以当幼龟比例为1:1时计算出温度为度令odd(t)为雄龟与雌龟比例,故有当温度增加1度时odd比为于是由于b1=,所以温度每增加一度时雄龟与雌龟比例增加到原来的倍结果的分析及验证对模型各个温度进行验证温度
6、乌龟蛋个数雄龟个数雌龟个数雄龟比例雄龟估计值027225%24177%30264%27198%28271%模型改进从以上结果可知拟合偏差太大,不适合于做为最终结果。由于模型的右端是温度t的线性函数,可以考虑加入t的二次项后,看是否能提高模型的拟合程度。即考虑模型为执行以下程序 b2,dev2=glmfit(t t.2,x s,binomial,logit);b2,pval=1-chi2cdf(dev-dev2,1)b2 = pval =计算出b0,b1,b2的估计值为、 、 所以模型为温度乌龟蛋个数雄龟个数雌龟个数雄龟比例雄龟估计值027225%24177%30264%27198%28271%
7、由以上表可知拟合偏差减小,由此可知,加入高次方后可以提高拟合偏差,所以为了进一步提高拟合效果,可以先计算出logit对应的值并画出并绘出(t,logit)的散点图温度乌龟蛋个数雄龟个数雌龟个数雄龟比例Logit(t)027225%24177%30264%27198%28271%再利用Tools下Basic Fitting工具找出一条拟合效果最好的曲线,并得出其对应的系数可知模型为个系数为所以模型为当所以幼龟比例为1:1时P(x)=.所以logit=0;即可以得出当温度为27.、和时幼龟比例为1:1;再次各个数据进行验证可得温度乌龟蛋个数雄龟个数雌龟个数雄龟比例雄龟估计值027225%24177
8、%30264%27198%28271%由以上结果可以看出拟合程度很好。在用MATLAB统计工具中的命令regress求解得知相关系数R为1;拟合效果很好。六、参考文献数学模型 第四版 高等教育出版社七、附录模型1求解程序 t=0 ; 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
9、x) b,bi=,devb = bi= dev = 模型1验证程序 x=0 1; 1; 1; 1; 1x = 0 alpha=;b,bint,r,rint,stats=regress(y,x,alpha)b = bint = r = rint = stats = 模型2的验证程序x=0 0 1; 2 1;2 1;2 1;2 1x = 0 0 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)散点图程
10、序 t=0 ; plot(t,p,r*)用第三模型计算幼龟比例为1:1时温度程序 y= 0 y = 0 roots(y)ans = + - vpa( roots(y),8)ans = 第三模型各个温度对应雄龟比例结果验证程序 Y=(t)+*t+*t*t4+*t5Y = (t)+*t+*t*t4+*t5 f=(t)exp(Y(t)/(1+exp(Y(t)f = (t)exp(Y(t)/(1+exp(Y(t) f(0)ans = fans = fans = fans = fans =用regress验证模型程序x=0 0 0 0 0 1;5 4 3 2 1;5 4 3 2 1;5 4 3 2 1;5 4 3 2 1x = 0 0 0 0 0 alpha=;b,bint,r,rint,stats=regress(y,x,alpha)Warning: X is rank deficient to within machine precision. In regress at 82b = 0 bint = NaN NaN NaN NaN NaN NaN 0 0 NaN NaN NaN NaNr = * rint = NaN NaN NaN NaN NaN NaN NaN NaN NaN NaNstats = 1 NaN NaN NaN
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1