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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

摘要本文针对幼龟性别温度关系进行建立模型,在建模时建立温度与雄龟比例的模型,由于雄龟比例只可能在【0,1】之间取值,所以不能建立一般的统计回归模型,所以可以建立Logit模型。利用MATLAB统计工具箱中的命令glmfit求解。再求出各个系数估计值后用EXCEL表格进行处理算出每个温度下雄龟比例的估计值,对模型进行验证,为了提高模型的拟合效果可以在Logit模型中添加t的高次方,并用利用MATLAB统计工具箱中的命令regress求解,求出各个系数估计值,置信区间和模型相关系数。为了能直观的比较模型拟合效果可以利用MATLAB中的plot工具会出(t,logit)的散点图,并用利用Tools下BasicFitting工具找出一条拟合效果最好的曲线,并得出其对应的系数。最后可以通过logit基本模型得出当温度为27.7329度幼龟比例为1:1,而且温度每增加一度雄龟与雌龟比例扩大9.12484倍。关键词:logit模型,置信区间,相关系数一、问题提出人类的性别是由基因决定的,乌龟的性别主要有什么因素决定的呢?科学研究表明,决定幼龟性别的最关键的因素是乌龟孵化时的温度。为了研究温度是如何影响幼龟的雌雄比例,美国科学家对某一类乌龟的孵化过程做了实验,试验在五个不同恒定温度下进行,每个温度下分别观察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乌龟孵化时的温度℃P(x)雄龟比例S乌龟蛋总数个X雄龟个数个C雌龟个数个四、问题分析在本题由于是求温度与性别比例的模型,在数据表中每个温度都记录了三批乌龟,所以首先要对数据进行处理,利用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绘制出散点图。从图中可以看出回归曲线是一条近于3次样条的多项式回归曲线,其回归模型为0123()**^2*^3Pxbbtbtbt(1)然而在这个问题中(1)是回归方程中P(x)的取值不一定在[0,1]中,即使P(x)取值在[0,1]中,有意在给定t是,误差项也只能取0,1两个值,显然不具有正态性,而且的方差依赖于与t,具有异方差性,这些都违反了普通回归分析的前提条件,因此,该题不能用用普通回归分析。由于P(x)在[0,1]之间取值,可以使用Logit模型。五、模型的建立与求解5.1模型的建立(t)(t)01(t)PLogit(P)=Ln()*1-Pbbt0101*()*1bbtXbbtePe5.2模型的求解Logit模型是一种广义线性模型,可利用MATLAB统计工具箱总的命令glmfit求解。参数参数估计值标准差B0-1017830.3739B12.21100.4309所以估计值为011.17832.2110bb即()()()1.17832.2110*()1.17832.2110*()()1.17832.2110*11TtTtXtPLogitPLntPePe所以当幼龟比例为1:1时计算出温度为27.7329度令odd(t)为雄龟与雌龟比例,故有01()bbtoddte当温度增加1度时odd比为01(1)101(1)()tbbbbbtoddteeoddte于是1(1)()boddteoddt由于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模型改进从以上结果可知拟合偏差太大,不适合于做为最终结果。由于模型的右端是温度t的线性函数,可以考虑加入t的二次项后,看是否能提高模型的拟合程度。即考虑模型为()2()012()log()ln()1tttpitpbbtbtp执行以下程序[b2,dev2]=glmfit([tt.^2],[xs],'binomial','logit');b2,pval=1-chi2cdf(dev-dev2,1)b2=-1.65823.7840-0.7745pval=0.0304计算出b0,b1,b2的估计值为-1.6582、3.7840、-0.7745所以模型为()2()()log()ln()1.65823.78400.77451tttpitpttp温度乌龟蛋个数雄龟个数雌龟个数雄龟比例雄龟估计值0272257.41%0.1600030.52417770.83%0.5121781.13026486.67%0.8273631.22719870.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下BasicFitting工具找出一条拟合效果最好的曲线,并得出其对应的系数可知模型为()2345()012345()log()ln()1tttpitpbbtbtbtbtbtp个系数为0123452.52545.961909.969115.1134.1581bbbbbb所以模型为()345()()log()ln()2.52545.96199.969115.1134.15811tttpitpttttp当所以幼龟比例为1:1时P(x)=0.5.所以logit=0;即()345()()log()ln()2.52545.96199.969115.1134.158101tttpitpttttp可以得出当温度为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;拟合效果很好。六、参考文献数学模型第四版高等教育出版社七、附录模型1求解程序t=[00.51.11.22.7]';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=stats.se,devb=-1.17832.2110bi=0.37390.4309dev=14.8629模型1验证程序x=[01;0.51;1.11;1.21;2.71]x=01.00000.50001.00001.10001.00001.20001.00002.70001.0000y=[-2.525350.88714181.872090670.86497963.296252]';alpha=0.05;[b,bint,r,rint,stats]=regress(y,x,alpha)b=1.8372-1.1419bint=-0.06673.7411-3.85991.5760r=-1.38341.11050.9931-0.1978-0.5223rint=-2.7014-0.0654-2.02104.2419-2.61444.6005-4.41154.0160-2.16771.1230stats=0.75879.43110.05451.4817模型2的验证程序x=[001;0.50.5^21;1.1^21.11;1.2^21.21;2.7^22.71]x=001.00000.50000.25001.00001.21001.10001.00001.44001.20001.00007.29002.70001.0000y=[-2.525350.88714181.872090670.86497963.296252]';alpha=0.05;[b,bint,r,rint,stats]=regress(y,x,alpha)b=-0.37972.7004-1.1635bint=-3.99123.2317-7.401812.8026-6.36454.0374r=-1.36181.56540.5246-0.6652-0.0631rint=-3.51300.7893-1.33324.4641-6.00707.0562-6.76985.4395-0.38360.2575stats=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)散点图程序t=[00.51.11.22.7];p=[-2.525350.88714181.872090670.86497963.296252];plot(t,p,'r*')用第三模型计算幼龟比例为1:1时温度程序y=[4.1581-15.1139.969105.9619-2.5254]y=4.1581-15.11309.969105.9619-2.5254roots(y)ans=2.67551.2628-0.3415+0.5977i-0.3415-0.5977i0.3793vpa(roots(y),8)ans=2.67546981.26276670.59774412*i-0.34148611-0.59774412*i-0.341486110.37932852第三模型各个温度对应雄龟比例结果验证程序Y=@(t)-2.5254+5.9619*t+9.9691*t^3-15.113*t^4+4.1581*t^5Y=@(t)-2.5254+5.9619*t+9.9691*t^3-15.113*t^4+4.1581*t^5f=@(t)exp(Y(t))/(1+exp(Y(t)))f=@(t)exp(Y(t))/(1+exp(Y(t)))f(0)a

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功