当前位置:文档之家› 美国人口增长预测模型

美国人口增长预测模型

美国人口增长预测模型
美国人口增长预测模型

美国人口增长预测模型Last revision on 21 December 2020

2016年数学建模论文

第一套

论文题目:人口增长模型的确定

组别:第35组

姓名:耿晨闫思娜王强

提交日期: 2016年7月4日

题目:美国人口增长预测模型

摘要

本文根据近两个世纪美国每十年一次的人口统计数据,建立了指数增长模型,即Malthus模型,并通过1790-1890年的数据验证了它的准确性。但是,随着时间的推移,拟合函数与统计数据误差逐渐增大,所以,又建立了阻滞增长模型,即

Logistic模型,这个模型的拟合函数与统计数据误差较小,并用该模型对美国未来几年的人口做出了预测。总体来说,阻滞增长模型在预测准确度方面要明显优于原始的马尔萨斯人口指数增长模型。

关键词:指数增长模型,阻滞增长模型,人口预测

一、问题重述

1790-1980年间美国每隔10年的人口记录如下表所示。

表1:人口记录表

1.试用以上数据建立马尔萨斯(Malthus)人口指数增长模型,并对接下来的每隔十年预测五次人口数量,并查阅实际数据进行比对分析。

2.如果数据不相符,再对以上模型进行改进,寻找更为合适的模型进行预测,并对两次预测结果进行对比分析。

3.查阅资料找出中国人口与表1同时期的人口数量,用以上建立的两个模型进行人口预测与分析。

二、问题分析

影响人口增长的因素很多,其中最主要的两个因素是出生率和死亡率。出生率受到婴儿死亡率、对避孕的态度及措施效果、对堕胎的态度、怀孕期间的健康护理等因素的影响;死亡率则受到卫生设施与公共卫生状况、战争、污染、医疗水平、饮食习惯、心理压力和焦虑等因素的影响。此外,影响人口在一个地区增长的因素还有迁入和迁出、生存空间的限制、水和食物、疾病等。在这些因素中,有些是常态的或者有规律的,这些因素对人口的增长是恒定的;而有些因素是随机的,对人口的增长是没有规律的。因此,当大范围、长时期研究人口增长问题时,对人口增长产生影响的随机因素就不在考虑了。

建立该模型的目的是要能通过模型预测美国后来每十年的人口数具体变化,并与实际的数据进行对比,看误差的大小。在此基础上利用改进的模型对美国人口同时期数量进行预测,并进行总结分析。

三、问题假设

人口指数增长模型中采用以下基本假设:

(1)单位时间的人口总量增长与当时的人口呈正比,比例常数为k ; (2)假设t 时刻的人口为N(t),因为人口数一般是很大的,所以将N(t)近似地视为连续,可微的函数。记初始时刻(t=0)的人口数为N 0。新生人口数百分率为a ,死亡的百分率为b ,那么,经过Δt 时间后,人口数量为N (t+Δt )就是原来人口数量加上Δt 时间内新生人口数减去死亡人口数。

四、变量说明

t 0:数据的起始时间,即1790年; t :时间变量; r :人口固有增长率;

N 0:当时间t=1790时的人口数量,即*10^6人; N(t):t 时刻人口数量; N m :最大人口容量。

五、模型建立

在Malthus 的人口指数增长模型中,根据假设我们可以得到:

()()()()N t t N t aN t t bN t t +?=+?-? (1)

上式进行变形,

()()()bN N

aN t t kN t t

?=-=?, 其中,t N N

?=?(+t )-N(t)

可见在一段时间内,人口的变化和人口的数量成正比,用瞬时变化率逼近平均变化率得:

00()dN kN dt

N t N ==???

(2)

式中:N 0--初始时刻的人口数;N--人口数。 用分离变量法得到上述方程的解为:

()

0kt kt N e N t e = (3)

即方程的解为 0()

0k t t N N e -= (4)

六、模型求解

利用MATLAB 数学工具,对数据中前十一年(1790-1890)的人口数拟合(4)式.现对问题进行变形以便处理,对(4)式进行取对数,得:

()00ln ln N k t t N =-+ (5)

取00=t ,在MATLAB 中输入程序(程序1):

可以得到 k=;

lnN 0=即N 0=

所以1790年到1890年的拟合函数为线性函数ln 0.2808 1.4107N t =+,所

以:

0.28084.0988t N e = (6)

绘制离散点和拟合函数的图像进行对比,在MATLAB 中输入程序(程序2): 得图1如下:

图1:1790-1890年美国人口拟合曲线图

比较拟合的曲线图和散点图(图1)可以发现与19世纪的人口增长情况相吻合。类似地,可以求出1790年至1990年的拟合函数为

0.21425.5918t N e = (7)

拟合过程如下:

在MATLAB 中输入程序见(程序3): 可以得到 k=

ln N 0=即N 0=

所以1970年到1990年的拟合函数为线性函数0.2142 1.7213y x =+,所以: 绘制离散点和拟合函数的图像进行对比,在MATLAB 中输入程序(程序4), 得图2如下:

图2:1790-1990年美国人口拟合曲线图

此时我们可以观察到虽然前期的数据能较好的吻合,但是随着时间的推移并不能很好的反应后期的人口真实情况,函数估计值与统计数据的误差越来越大。这说明,用指数增长模型预测短期人口的数量可以得到较好的结果,但是从长期来看,任何地区的人口数量都不可能无限制地增长。因此,指数增长模型不适合预测长时期人口的增长情况。

Malthus 模型中,我们只考虑了出生率和死亡率对人口的影响,而忽略了其他因素如自然资源、生存环境等对人口的影响。然而这些因素对人口增长起着阻滞作用,并且随着人口数量的增加,阻滞作用也会增大。因此需要将增长率k 看作是人口数量的函数,丹麦生物学家Pierre-Francois-Verhulst 在指数增长模型的基础上建立了改进的Malthus 模型,即Logistic 模型。

一般来说人口的增长率是变化的,当人口较少时,增长速度较快,增长率较大;当增加至一定的数量时,增长速度必然会减慢,增长率开始减小。因此增长率K 应该视为人口数量的函数。

在修正的人口阻滞增长模型中,有以下假设:

(1)假设人口增长率k(t)是t 时人口N(t)的函数,随着人口的增加,自然资源、环境条件等对人口增长的阻滞作用越来越明显,k(N)应是N 的减函数.

一个简单的假设是k(N)是N 的线性函数,k(N)=r-sN ,其中s>0,k>0式中r 称为固有增长率,表示人口很少时的增长率。其中m

k s N =(N m 称为最大人口容量)。

(2)考虑自然资源和环境因素所能容纳的最大人口数量N m ,当N=N m 时增长率为0(环境饱和),即k(N m )=0。

考虑环境因素的限制因素,对于阻滞增长模型,在假设的前提下我们可以得到

()(1)m

N

k x r N =-

(8) 式中:()k x ——人口增长率;

N m ——最大人口容量。

在上式的假设前提下,指数模型可以修改为:

00

1()m dN N rN dt N N t N ??=-

???=?????

(9)

上述方程称为阻滞增长模型(Logistic 模型),上述方程中我们可以看到,方程

右面的因子中,当N 增大时,相应的1m

N

N ?

? ?

-

???

将会减小,即人口增长由这两个因子控制,比较符合实际情况。方程(9)的解为

0-t 011m

r t m N N N e N -=

??+- ???

()

(10) 在(9)式中,当时间t 无限大时,N 接近限制Nm ,这表明随时间推移人口数最大达到饱和值Nm ,进一步考虑增长率变化问题,由(9)式可得:

22

d N dt =0,则2

m N N =,这表明当人口数量达到最大人口数一半时,人口增长

率达到最大,此后开始不断减小。不同时期的增长率见图三所示(见程序5);

图3:增长率随时间变化的关系图

用MATLAB 对函数式(10)进行模拟可得图4(程序6);

图4:Logistic 模型曲线图与美国实际人口对比

采用阻滞增长模型对美国人口进行预测的结果如图4所示,我们能够看到,阻滞增长模型很好的处理了指数增长模型无限增长的弊端,对长远的人口情况估计更符合实际情况。但是与统计值之相比较仍存在一定的误差,并且预测值小于统计值,这是因为我们忽略了社会因素还有其他导致地区人口减少的因素。事实上,对于复杂生命史和个体生长期较长的高等动植物简单的统计不足以反映出全部的问题。

七、结果分析

通过对美国人口统计模型的建立和修改,最终采用更为实际的人口增长阻滞模型,并对中国同期人口进行统计,采用两种模型分别对中国人口进行预测,具体过程如下:

首先调查统计同时期中国人口,人口数分布情况如表2所示。

表2:中国人口调查记录表1790-1980

表3:中国人口调查记录表1991-2010

采用指数增长的马尔萨斯模型,首先对1790到1980年的人口数据作为依据,得到相应的模型参数,在MATLAB 中输入程序(程序7):

可以得到 k=;

lnN 0=即N 0=

所以1790年到1890年的拟合函数为线性函数ln 0.0425301.0872N t =+,所

以:

0.0425301.0872t N e = (11)

绘制离散点和拟合函数的图像进行对比,在MATLAB 中输入程序(程序8):

图5:马尔萨斯模型曲线图与中国实际人口对比

由图可见,马尔萨斯不能很好的反应长期时间人口发展的情况,正如美国的情况一样,因此人口的预测需要改进的马尔萨斯模型更为准确。

采用阻滞增长的Logistic 模型对中国人口增长情况的预测时,首先分析不同时期的增长率变化情况,从而得出人口最大值Nm 。其实现程序如程序9。

在此基础上对1790~2010年人口进行模型与统计数据的对比,在MATLAB 中输入程序10,得到口增长率变化图6:

图6:1790-2010人口增长率变化情况

针对增长率的变化和历史的角度可以发现,中国需要预测人口变化情况,必须得从近二十年的人口变化来寻求规律,则需要重新对中国人口数据进行模拟及预测。

对1991~2010年马尔萨斯拟合,在MATLAB 中实现程序11,得到图7。

图7:1991-2010年改进的马尔萨斯人口增长率变化情况

参数确定后,我们采用该模型来预测中国未来几年的人口数情况,在MATLAB中键入程序12,得到图8:

图8:Logistic模型曲线图与中国实际人口对比

该模型最终很好的预测了人口的发展状况,实现了人口预测的目标,就统计值和预测值之间的差正如前面所述,我们了解到高等动植物的生存期限会受多方面的因素影响,因此我们可以说,在有条件的选则处理数据的时候尽可能选择对未来有相似生存条件或者生活质量的数据,以保证在数据处理的后期能得到比较理想的模型。因此我们可以说,本次模型建立是成功地实现了中国人口预测的母的。

八、参考文献

[1] 张志涌,杨祖樱. MATLAB教程[M]. 北京:北京航空航天大学出版社, 2011.

[2] 夏鸿鸣,魏艳华,王丙参. 数学建模. 成都:西南交通大学出版社, 2014.

[3] 周品,赵新芬. 数学建模. 北京:国防工业出版社, 2009.

[4] 王中鲜. MATLAB建模与仿真应用. 机械工业出版社, 2010.

九、附录

程序1

x=0:1:10;

y=[ ];

y=log(y);

k=polyfit(x,y,1)

程序2

x=0:1:10;

y=[ ];

y1=*exp*x);

plot(x,y,'*',x,y1)

程序3

x=0:1:19;

y=[ ];

y=log(y);

k=polyfit(x,y,1)

程序4

x=0:1:19;

y=[ ];

y1=*exp*x);

plot(x,y,'*',x,y1)

程序5

A=zeros(0,19);%计算1790~1980年的人口增长率,A为人口增长率的矩阵for i=1:19

A(i)=(y(i+1)-y(i))/y(i);

end

figure(2);

A1=[A,0];

plot(x,A1,'or-');

程序6

q=polyfit(y,A1,1);

q

ym=;

for i=21:25

A2(i)=*i+;

end

A2

for i=1:20

y3(i)=./(1+*exp*x(i)));

end

y3

figure(3);

plot(x,y,'ob-',x,y3,'or-');

title('改进马尔萨斯')

程序7

x=0:1:19;

y=[ ];

y=log(y);

k=polyfit(x,y,1)

程序8

x=0:1:19;

y=[ ];

y1=*exp*x);

plot(x,y,x,y1)

程序9

程序10

A=zeros(1,22);%计算1790~1980年的人口增长率,A为人口增长率的矩阵for i=1:22

A(i)=(y(i+1)-y(i))/y(i);

end

figure(2);

A1=[A,0];

plot(x,A1,'or-');

程序11

A=zeros(1,19);%计算1790~1980年的人口增长率,A为人口增长率的矩阵for i=1:19

A(i)=(y(i+1)-y(i))/y(i);

end

figure(2);

A1=[A,0];

plot(x,A1,'or-');

程序12

format long;

q=polyfit(y,A1,1)

ym=;

for i=21:25

end

A2

for i=1:20

end

y3

figure(3);

plot(x,y,'ob-',x,y3,'or-');

title('改进马尔萨斯')

相关主题
文本预览
相关文档 最新文档