篇一:数学建模logistic人口增长模型
Logistic人口发展模型
一、题目描述
建立Logistic人口阻滞增长模型 ,利用表1中的数据分别根据从1954年、1963年、1980年到2005年三组总人口数据建立模型,进行预测我国未来50年的人口情况.并把预测结果与《国家人口发展战略研究报告》中提供的预测值进行分析比较。分析那个时间段数据预测
的效果好?并结合中国实情分析原因。
表1各年份全国总人口数(单位:千万)
二、建立模型
阻滞增长模型(Logistic模型)阻滞增长模型的原理:阻滞增长模型是考虑到自然资源、环境条件等因素对人口增长的阻滞作用,对指数增长模型的基本假设进行修改后得到的。阻滞作用体现在对人口增长率r的影响上,使得r随着人口数量x的增加而下降。若将r表示为x的函数r(x)。则它应是减函数。于是有:
dx
?r(x)x,x(0)?x0
dt
对r(x)的一个最简单的假定是,设r(x)为x的线性函数,即 r(x)?r?sx
(1)
(r?0,s?0)
(2)
设自然资源和环境条件所能容纳的最大人口数量长率
xm,当x?xm时人口不再增长,即增
r(xm)?0,代入(2)式得
s?
r
xm,于是(2)式为
x)xm
(3)
r(x)?r(1?将(3)代入方程(1)得:
x?dx
??rx(1?)
xm?dt
?x(0)?x0
?
解得:
(4)
x(t)?
1?(
xmxm
?1)e?rtx0
(5)
三、模型求解
用Matlab求解,程序如下: t=1954:1:2005;
x=[60.2,61.5,62.8,64.6,66,67.2,66.2,65.9,67.3,69.1,70.4,72.5,74.5,76.3,78.5,80.7,83,85.2,87.1,89.2,90.9,92.4,93.7,95,96.259,97.5,98.705,100.1,101.654,103.008,104.357,105.851,107.5,109.3,111.026,112.704,114.333,115.823,117.171,118.517,119.85,121.121,122.389,123.626,124.761,125.786,126.743,127.627,128.453,129.227,129.988,130.756];
x1=[60.2,61.5,62.8,64.6,66,67.2,66.2,65.9,67.3,69.1,70.4,72.5,74.5,76.3,78.5,80.7,83,85.2,87.1,89.2,90.9,92.4,93.7,95,96.259,97.5,98.705,100.1,101.654,103.008,104.357,105.851,107.5,109.3,111.026,112.704,114.333,115.823,117.171,118.517,119.85,121.121,122.389,123.626,124.761,125.786,126.743,127.627,128.453,129.227,129.988];
x2=[61.5,62.8,64.6,66,67.2,66.2,65.9,67.3,69.1,70.4,72.5,74.5,76.3,78.5,80.7,83,85.2,87.1,89.2,90.9,92.4,93.7,95,96.259,97.5,98.705,100.1,101.654,103.008,104.357,105.851,107.5,109.3,111.026,112.704,114.333,115.823,117.171,118.517,119.85,121.121,122.389,123.626,124.761,125.786,126.743,127.627,128.453,129.227,129.988,130.756];
dx=(x2-x1)./x2; a=polyfit(x2,dx,1);
r=a(2),xm=-r/a(1)%求出xm和r
x0=61.5;
f=inline('xm./(1+(xm/x0-1)*exp(-r*(t-1954)))','t','xm','r','x0');%定义函数 plot(t,f(t,xm,r,x0),'-r',t,x,'+b');
title('1954-2005年实际人口与理论值的比较') x2010=f(2010,xm,r,x0) x2020=f(2020,xm,r,x0) x2033=f(2033,xm,r,x0)
解得:x(m)= 180.9516(千万),r= 0.0327/(年),x(0)=61.5
得到1954-2005实际人口与理论值的结果:
根据《国家人口发展战略研究报告》 我国人口在未来30年还将净增2亿人左右。过去曾有专家预测(按照总和生育率2.0),我国的人口峰值在2045年将达到16亿人。根据本课题专家研究,随着我国经济社会发展和计划生育工作加强,20世纪90年代中后期,总和生育率已降到1.8左右,并稳定至今。实现全面建设小康社会人均GDP达到3000美元的目标,要求把总和生育率继续稳定在1.8左右。
按此预测,总人口将于2010年、2020年分别达到13.6亿人和14.5亿人,2033年前后达到峰值15亿人左右(见图1)。劳动年龄人口规模庞大。我国15-64岁的劳动年龄人口2000年为8.6亿人,2016年将达到高峰10.1亿人,比发达国家劳动年龄人口的总和还要多。在相当长的时期内,中国不会缺少劳动力,但考虑到素质、技能等因素,劳动力结构性短缺还将长期存在。同时,人口与资源、环境的矛盾越来越突出。
而据模型求解:
2010年人口:x(2010)= 137.0200(千万) 专家预测13.6亿 误差为0.7% 2020年人口:x(2020)= 146.9839(千万) 专家预测14.5亿 误差为1.3% 2033年人口:x(2033)= 157.2143(千万) 专家预测 15亿 误差为4.8% 2045年人口:x(2045)= 164.6959(千万) 专家预测 16亿 误差为4.1%
五、预测
1. 1954-2005总人口数据建立模型:
r=0.0327xm=180.9516
2010年人口:x(2010)= 137.0200(千万) 专家预测13.6亿 误差为0.7% 2020年人口:x(2020)= 146.9839(千万) 专家预测14.5亿 误差为1.3% 2033年人口:x(2033)= 157.2143(千万) 专家预测 15亿 误差为4.8% 2045年人口:x(2045)= 164.6959(千万) 专家预测 16亿 误差为4.1% 2. 1963-2005总人口数据建立模型:
r=0.0493 xm=150.5261
2010年人口:x(2010)= 134.1612(千万) 专家预测13.6亿 误差为1.4% 2020年人口:x(2020)= 140.0873(千万) 专家预测14.5亿 误差为
3.4%
2033年人口:x(2033)= 144.8390(千万) 专家预测 15亿 误差为3.4% 2045年人口:x(2045)= 147.3240(千万) 专家预测 16亿 误差为7.6% 3.1980-2005总人口数据建立模型:
r=0.0441xm=156.3297
2010年人口:x(2010)= 135.2885(千万) 专家预测13.6亿 误差为0.5% 2020年人口:x(2020)= 142.1083(千万) 专家预测14.5亿 误差为2.0% 2033年人口:x(2033)= 147.9815(千万) 专家预测 15亿 误差为1.3% 2045年人口:x(2045)= 151.3011(千万) 专家预测 16亿 误差为5.4%
总体来看,1980-2005这一组数据拟合出的人口模型比较好,即与已有数据吻合,又与专家预测误差较小。从历史原因来分析:1954年之后的1959-1961年间,有三年自然灾害故而使得实际人口数据与估计有所偏颇。1960年之后为过渡时期。1983年之后开始实施“计划生育政策”,一直至今,所以1980-2005年间的数据与预测分析最好。
篇二:人口增长模型
Logistic人口阻滞增长模型
一、模型的准备
阻滞增长模型的原理:阻滞增长模型是考虑到自然资源、环境条件等因素对人口增长的阻滞作用,对指数增长模型的基本假设进行修改后得到的。阻滞作用体现在对人口增长率r的影响上,使得r随着人口数量x的增加而下降。若将r表示为x的函数r(x)。则它应是减函数。于是有:
dx
?r(x)x,x(0)?x0dt
(1)
对r(x)的一个最简单的假定是,设r(x)为x的线性函数,即 r(x)?r?sx
(r?0,s?0)
(2)
设自然资源和环境条件所能容纳的最大人口数量xm,当x?xm时人口不再增长,即
r
增长率r(xm)?0,代入(2)式得s?,于是(2)式为
xm
r(x)?r(1?将(3)代入方程(1)得:
x?dx
??rx(1?)
?dtxm
??x(0)?x0
x
)xm
(3)
(4)
解方程(4)可得:
x(t)?
xm
x
1?(m?1)e?rt
x0
(5)
二、模型的建立
我国从1954年到2005年全国总人口的数据如表1
1、将1954年看成初始时刻即t?0,则1955为t?1,以次类推,以2005年为t?51作为终时刻。用函数(5)对表1中的数据进行非线性拟合,运用Matlab编程得到相关的参数xm? 180.9871,r?-0.0336,可以算出可决系数(可决系数是判别曲线拟合效果的一个指标):
5
R2?1?
?(y
i?1
5i?1
i
?i)2?y
?0.9959
i
?(y
?)2
由可决系数来看拟合的效果比较理想。所以得到中国各年份人口变化趋势的拟合曲
线:
180.
9871
(6)
180.98711?(?1)e?0.0.0336t
60.2
根据曲线(6)我们可以对2010年(t?56)、2020年(t?66)、及2033年(t?79) 进行预测得(单位:千万):
x(56)?138.6161,x(66)?148.5400,x(79)?158.6028
结果分析:从所给信息可知从1951年至1958年为我国第一次出生人口高峰,形成了中国人口规模“由缓到快”的增长基础;因此这段时期人口波动较大,可能影响模型结果的准确性。1959、1960、1961年为三年自然灾害时期,这段时期人口的增长受到很大影响,1962年处于这种影响的滞后期,人口的增长也受到很大影响。总的来说1951-1962年的人口增长的随机误差不是服从正态分布,
程序:
x(t)?
结果:
2、 将1963年看成初始时刻即t?0,以2005年为t?32作为终时刻。运用Matlab编程得到相关的参数xm? 151.4513可以算出可决系数R2?0.9994得到中国,r? 0.0484,各年份人口变化趋势的另一拟合曲线:
151.4513
(7)
151.45131?(?1)e?0.0484t
69.1
根据曲线(7)我们可以对2010年(t?47)、2020年(t?57)、及2033年(t?70) 进行预测得(单位:千万):
x(47)? 134.9190,x(57)?140.8168,x(70)? 145.5908
结果分析:1963年-1979年其间,人口的增长基本上是按照自然的规律增长,特别是在农村是这样,城市受到收入的影响,生育率较低,但都有规律可寻。总的来说,人口增长的外界大的干扰因素基本上没有,可以认为这一阶段随机误差服从正态分布;1980-2005年这一时间段,虽然人口的增长受到国家计划生育政策的控制,但计划生育的政策是基本稳定的,这一阶段随机误差也应服从正态分布,因此用最小二乘法拟合所得到的结果应有较大的可信度。
程序:
x(t)?
结果:
3、从1980-2005年,国家计划生育政策逐渐得到完善及贯彻落实,这个时期的人口增长受到国家计划生育政策的控制,人口的增长方式与上述的两个阶段都不同。因此我们进一步选择1980年作为初始年份2005年作为终时刻进行拟合。运用Matlab编程得到相关的参数xm? 153.5351可以算出可决系数R2?0.9987得到中国各年,r? 0.0477,份人口变化趋势的第三条拟合曲线:
153.5351
(8)
153.53511?(?1)e?0.0477t
98.705
根据曲线(7)我们可以对2010年(t?30)、2020年(t?40)、及2033年(t?53) 进行预测得(单位:千万):x(30)? 135.5357 ,x(40)? 141.8440,x(53)? 147.0172
结果分析:这一时期,国家虽然对人口大增长进行了干预,但国家的计划生育的政策是基本稳定的,在此其间没有其他大的干扰,所以人口增长的随机误差应服从正态分布。所以结果应是比较可信的。
程序:
x(t)?
结果:
篇三:人口增长模型
人口增长模型
摘要
本文主要根据某地区的人口统计数据,通过合理的假设 和严密的分析来建立模型,和估计该地区2010年的人口数量,并对其做出相应的分析。
首先,我们利用Matlab软件画出该地区1800至2000年的人口数据图,通过直观观察人口的变化规律后,我们认为该地区的人口数据呈现类似线性增长和指数增长,于是我们分别建立线性增长模型和指数增长模型,在假设人口增长率保持不变的前提下,用最小二乘法对数据进行拟合,最后得出2010年的人口预报数:线性时为283.114百万,指数时为374.789百万。
但实际上人口增长率是不断地变化着的,即人口增长率不可能是一个常数,所以我们建立的线性增长模型和指数增长模型都比较粗糙,不能描述和预测较长时间人口变化过程。而且从该地区历年的人口数据描述图可看出,从1980年开始,该地区的人口增长明显变慢,即人口增长受到一定的阻滞,所以为了更好地符合实际情况,以及更好地预报出长期的人口数,我们再建立了阻滞增长模型,利用此模型我们最后求出2010年的人口预报数为295.368百万。
关键字
人口预报,线性增长模型,指数增长模型,阻滞增长模型(Logistic模型)
问题重述
根据某地区人口从1800年到2000年的人口数据(如下表),建立模型估计出该地区2010年的人口 (单位:百万),同时画出拟合效果的图形。
模型假设
1、该地区历年的人口统计记录数据准确无误;
2、在模型一、二中,假设人口增长率不变,是一个常数,即单位时间内人口的增长量与当时的人口量成正比。;
符号说明
x(t) t时刻的人口数量
x0 初始时刻的人口数量
r人口增长率
xm 环境所能容纳的最大人口数量,即r(xm)?0
模型分析
首先,我们运用Matlab软件编程(见附件1),把1800年到2000年的人口数据通过绘图描点如下图
图1 1800年到2000年的人口数据图
从图我们可以看出1800年到2000年的人口数是呈现增长的趋势的,而且图像呈现类似线性函数和指数函数,于是我们猜测人口增长随时间的变化规律为线性函数或指数函数,所以我们分别用两种函数建立线性增长模型和指数增长模型,用最小二乘法对数据进行拟合,确定其中的未知参数。
然而上述两种模型都是在假设人口增长率不变的前提下建立的,比较粗糙,但在现实生活中,我们知道人口增长率是不可能不固定不变的,也就是人口不可能无限增长,无限增长将会导致人口爆炸,而政府对这种情形不可能置之不理的,
也就是说政府对人口无限增长会采取相应的措施,所以但人口增长到一定的程度下,人口增长率将会随人口的增长而呈线性递减,而且考虑到自然资源、环境条件等因素都会对人口增长起阻滞作用,并且随着人口增加,阻滞作用越来越大。因此,我们改进了模型,建立了阻滞增长模型。
模型建立
模型一:线性增长模型
首先,我们假设满足线性关系 x(t)?at?b ,根据最小二乘法,a和b是以下函数的最小值:
E(a,b)?n?(ati?b?xi)2,其中xi是ti时刻该地区的人口数。
i?1
即有
E?(a,b)?(a.1800?b?7.2)2?(a.1810?b?13.8)2?...?(a.2000?b?280.3)2 ?E?E?0,?0,可解得a和b。 ?a?b
我们用Matlab编程(见附件2),解得a=1.5,b=-2755.3 令
故 x(t)?1.5t?2755.3
然后用该方程对1800年到2000年的人口数据进行拟合,拟合的效果图如下:
从上图可以看出拟合的效果不是很好,模型比较粗糙,所以我们有必要建立其他的模型进行预测。但对于后期的人口拟合得还是可以的,用这线性增长模型
预报出x(2010)?1.5*2010?2755.3?283.1148百万。
模型二:指数增长模型
由于今年人口为x0,k年后人口为xk,年增长率为r,则有xk?x0(1?r)k。 则在t到t+?t时间内的人口增量为x(t??t)?x(t)?rx(t)?t
上式两边同时除以?t得:
x(t??t)?x(t)?rx(t) ?t
令?t?0,取极限得到x(t)满足的微分方程为
dx?rx(t) dt
于是我们得到一个指数增长的人口模型为
?dx??rx(t) ?dt??x(0)?x0
解这个方程得到
x(t)?x0ert (2)
然后,我们利用数据拟合(程序见附件3)
,效果
图3 指数增长模型的拟合图
注:*号为准确值,曲线为计算结果
从图3可以看出,拟合效果还好,但到了后期时段时,该地区人口增长明显变慢,这个明显就不适合了,拟合效果就不那么好了,说明该地区的人口增长率时随着人口的增长而递减的,有一定的阻滞使人口增长得不如前那么快,此模型还是有点粗糙,所以我们要对模型进行进一步的改进。
用该地区的数据拟合(2)式,可解得r =5.94e-007 年,x0=1e-006,然后
)?374.789百万。 把它们代进模型,我们可算得x(2010
结果分析
用此模型基本是上能够描述1980年以前的人口增长,但我们从指数增长模型的拟合图可以看出,此模型对1980年以后的数据就拟合得不是很好,从1980年后,该地区的人口增长明显变慢,所以用此模型对2010年的人口进行预报不是那么适合,结果存在一定的误差,从图3可以看出所得的结果并不准确,精度不高。
模型三:阻滞增长模型
随着人口的增加,人口的增长速度会降低,所以我们假设人口数的减函数为
r(x)?r-sx
人口数量最终会达到饱和,且趋于一个常数xm,当x?xm时,增长率为0, 即有 r?sxm?0
由上面的关系式可得出:
?x?r(x)?r?1??x?? (3)
m??
把(3)式代进指数增长模型的微分方程中可以得到:
?dx?x????r1?x????dt?xm?
?x(0)?x0?
解得 x(t)?xm
?xm??rt?1???1?x?e?0? (4)
把x(1800)?7.2代进(4)式得 x(t)?xm
?10xm?1???1?e?r(t?1800)
?132?
《人口增长模型》出自:百味书屋
链接地址:http://www.850500.com/news/43376.html
转载请保留,谢谢!