人口增长模型的确定摘要人口增长模型对于人口的预测、环境评估、经济评价等方面有着很重要的作用,本文通过matlab对已有的数据进行拟合,分析,统计学计算,在前人的基础上做出马尔萨斯指数增长模型、logistic阻滞增长模型,再对这些模型进行对比分析,从而确定了我们所使用的logistic阻滞增长模型。关键词:人口增长模型matlab马尔萨斯指数增长模型logistic阻滞增长模型cftool工具箱一、问题重述1790-1980年间美国每隔10年的人口记录如下表所示。表1人口记录表年份1790180018101820183018401850186018701880人口(106)3.95.37.29.612.917.123.231.438.650.2年份1890190019101920193019401950196019701980人口(106)62.976.092.0106.5123.2131.7150.7179.3204.0226.5试用以上数据建立马尔萨斯(Malthus)人口指数增长模型,并对接下来的每隔十年预测五次人口数量,并查阅实际数据进行比对分析。如果数据不相符,再对以上模型进行改进,寻找更为合适的模型进行预测。二、问题假设1.假设随着时间的增长,人口数量是增加的。2.假设在此期间,无重大自然灾害,传染病及战争因素影响。3.假设每年影响人口数量的因素相同。4.假设每年影响人口数量的作用强度和相同。5.假设无迁入迁出影响。三、符号说明符号表示意义N人口数量t年份r人口自然增长率Nm人口容纳量N0起始年人口四、问题分析根据所给的数据和题目要求建立马尔萨斯(Malthus)人口指数增长模型,那么我们直接建立马尔萨斯增长模型进行求解的结果与实际值相近,则说明所建立的模型是可行的。否则进一步改进所给模型,寻找更优秀的模型。(一)五、模型建立马尔萨斯增长数学模型:马尔萨斯生物总数增长定律指出:在孤立的生物群体中,生物总数N(t)的变化率与生物总数成正比。[1]其数学模型为(1)方程的解为(2)其中用matlab中cftool工具箱进行指数拟合得到下图图一00()()dNrNdtNtN0()0()rttNtNe001790,3.9tN结果为:Generalmodel:f(x)=3.9*exp(b*(x-1790))Coefficients(with95%confidencebounds):b=0.02222(0.02163,0.02281)Goodnessoffit:SSE:8966R-square:0.9062AdjustedR-square:0.9062RMSE:21.72可以看出,在95%的置信区间内我们得到的拟合方程参数b,其R相关系数为0.9062,拟合曲线基本吻合,整理之后可得马尔萨斯指数增长方程为(2)六、模型求解将时间19902000201020202030分别带入方程中可得到预测值经我们预测可得19902000201020202030年的人口数量分别是331.9474414.5429517.6900646.5022807.365617801800182018401860188019001920194019601980050100150200250300时间人口数量马尔萨斯指数增长拟合曲线指数增长拟合曲线原始数据散点图0.02222(1790)()3.9tNte七、结果分析我们将已经知道的199020002010年的数据和预测数据进行对比在图上可以直观的看出两者偏差过大,经过进一步分析我们对模型进行进一步改进,原来的模型为指数增长模型,没有考虑到自然资源、环境条件等因素对人口的增长的阻力,人口增长率r不应该是一个常数,而是一个随时间增长而减小的一个变量。r随着人口数量N的增加而下降,这也就是logistics模型由此我们建立第二个模型(二)五、模型建立对r(N)的一个最简单的假定是,设r(N)为N的线性函数,即(3)设自然资源和环境条件所能容纳的最大人口数量,当增长率,代入(3)式得,于是(3)式为(4)根据马尔萨斯建立的模型,我们可以得到(5)式:(5)将(4)带入(5)得:(6)即为logistic阻滞增长模型[2]解方程(6)可得:(7)()(0,0)rNrsNrsmNmNN()0mrNmrsN()(1)mNrNrN0(),(0)dNrNNNNdt00(1)()mdNNrNdtNNtN0()0()1(1)mrttmNNtNeN此时我们知道,只需求出,和r,我们知道我们所做出的模型为‘S’型分布,因此图像的最大斜率点即为中心对称点,我们确定了这个点之后,设这点的人口数量为就可以计算出:(8)我们用matlab做出斜率变化图图二见附录程序1:001790,3.9tNmNtNmN0()mttNNNN180018201840186018801900192019401960198000.511.522.53年斜率人口斜率变化曲线从图中我们可以看出斜率最大为1960年,则有由(8)式可得;然后我们用matlab中的lsqcurvefit进行特定方程拟合求参数r,见附录程序2:可得到,r=0.0270,此时可得到logistic人口时间函数:(9)六、求解将时间19902000201020202030分别带入方程中可得到预测值经我们预测可得19902000201020202030年的人口数量分别是218.90705.0939249.2931261.4570271.6675七、结果分析我们将两个模型和原始数据以及我们得到的199020002010年的数据绘在用一个坐标系上来观察模型效果见下图,matlab程序见附录程序3:179.3tN354.7mN0.027(1790)354.7()189.9487tNte由上图我们可以明显看出logistic阻滞增长模型要优于马尔萨斯指数增长模型,我们再计算出对两个模型与实际人口数量的和方差如下表:表二:人口增长模型数据列表年份t实际人口N(百万)马尔萨斯预测人口N(百万)logistic预测人口N(百万)17903.93.93.918005.34.87045.091518107.26.08236.640217501800185019001950200020500100200300400500600年人口数量人口增长模型比较已知数据马尔萨斯增长模型logistic阻滞增长模型18209.67.59578.6482183012.99.485611.2438184017.111.845814.5857185023.214.793318.8663186031.418.474224.3133187038.623.07131.187188050.228.811639.7699189062.935.980550.347419007644.933263.173819109256.113578.42591920106.570.075796.14581930123.287.5121116.18571940131.7109.2869138.17041950150.7136.4798161.49841960179.3170.4388185.39271970204212.8476208.99791980226.5265.8086231.49921990249.5331.9474252.22922000282.2414.5429270.73632010308.7517.69286.80062020646.5022300.40782030807.3656311.697从1790~2010年与实际人口的和方差76954.651769.827(表中199020002010年人口数据来自美国普查局)可以看出logistic模型和方差远远小于马尔萨斯模型,再次说明logistic模型要优于马尔萨斯模型。八、参考文献[1].刘焕彬,库在强,廖小勇,陈文略,张忠诚.数学建模与实验[M].科学出版社,2008:39[2].王延臣,段俊生,王彦.人口预报与LOGISTIC模型的改进[J].统计与决策.2006(22):136.九、附录程序1:t=1790:10:1980;N=[3.95.37.29.612.917.123.231.438.650.262.976.092106.5123.2131.7150.7179.3204226.5];fori=1:length(t)-1k(i)=(N(i+1)-N(i))/(t(i+1)-t(i));endx=1800:10:1980;plot(x,k)xlabel('年')ylabel('斜率')title('人口斜率变化曲线')gridon程序2:t=1790:10:1980;N=[3.95.37.29.612.917.123.231.438.650.262.976.092106.5123.2131.7150.7179.3204226.5];f=@(r,t)354.7./(1+(354.7/3.9-1)*exp(-r.*(t-1790)));lsqcurvefit(f,r,t,N)程序3:t=1790:10:2010;N=[3.95.37.29.612.917.123.231.438.650.262.976.092106.5123.2131.7150.7179.3204226.5249.5282.2308.7];N1=3.9*exp(0.02222*(t-1790));N2=354.7./(1+(354.7/3.9-1)*exp(-0.027.*(t-1790)));plot(t,N,'r*',t,N1,'--',t,N2);xlabel('年')ylabel('人口数量')title('人口增长模型比较')legend('已知数据','马尔萨斯增长模型','logistic阻滞增长模型')gridon