人口模型预测——数学建模作业文档格式.doc
《人口模型预测——数学建模作业文档格式.doc》由会员分享,可在线阅读,更多相关《人口模型预测——数学建模作业文档格式.doc(9页珍藏版)》请在冰豆网上搜索。
1790-1980年间美国每隔10年的人口记录如下表所示。
表1人口记录表
年份
1790
1800
1810
1820
1830
1840
1850
1860
1870
1880
人口(´
106)
3.9
5.3
7.2
9.6
12.9
17.1
23.2
31.4
38.6
50.2
1890
1900
1910
1920
1930
1940
1950
1960
1970
1980
62.9
76.0
92.0
106.5
123.2
131.7
150.7
179.3
204.0
226.5
试用以上数据建立马尔萨斯(Malthus)人口指数增长模型,并对接下来的每隔十年预测五次人口数量,并查阅实际数据进行比对分析。
如果数据不相符,再对以上模型进行改进,寻找更为合适的模型进行预测。
二、问题分析
由于题目已经说明首先用马尔萨斯人口增长模型来刻划,列出人口增长指数增长方程并求解,并进行未来50年内人口数据预测,但发现与实际数据有较大出入。
考虑到实际的人口增长率是受实际情况制约的,因此,使人口增长率为一变化的线性递减函数,列出人口增长微分方程,求出其方程解,并预测未来五十年内人口实际数据。
三、问题假设
1.假设所给的数据真实可靠;
2.各个年龄段的性别比例大致保持不变;
3.人口变化不受外界大的因素的影响;
4.马尔萨斯人口模型
(1)单位时间的人口增长率r为常数;
(2)将视为t的连续可微函数。
5.改进后的模型(阻滞增长模型)
(1)人口净增长率r为变化量。
四、变量说明
t时刻的人口数量
初始时刻的人口数量
r人口净增长率
环境所能容纳的最大人口数量,即
五、模型建立
1.马尔萨斯人口增长模型
t=1790时的人口数为,在t到t+Δt这一时间间隔内,人口的增长为
由于
则得到可建立含初始条件的微分方程=,=3.9(省略10^6)
其解为
2.阻滞增长模型
假设人口增长生长率为人口的线性递减函数,即。
假设自然资源和环境条件所能承受的最大人口容量为,显然,当时,。
所以。
因此有
。
于是建立下列微分方程,
把上式化为。
分离常数并积分得到:
六、模型求解
1.马尔萨斯模型求解
参数估计:
r可以用实际数据的线性最小二乘法求解,对于,直接求解是比较麻烦的,因此在两边取对数,即,记,=a。
则原方程化为(x)=3.9*exp(r*(t-1790))。
利用1790—1900年的数据进行拟合,得到r=0.02142.所以也能求出方程程序见附录1。
但本题还可以应用matlab里的cftool工具箱求参数,在命令行中输入得到更精确的解:
Generalmodel:
f(x)=3.9*exp(r*(t-1790))
Coefficients(with95%confidencebounds):
r=0.02222(0.02163,0.02281)
得到如图所示结果,其中蓝线表示马尔萨斯人口模型预测人口数据,正方形黑点表示实际人口数据。
图1.马尔萨斯人口模型与实际人口数据
则每隔10年预测人口为:
,,,,然而查阅相关年份美国实际人口数据,1990年为248.7百万,2000年为281.4百万,2010年为307.0百万。
对于2020年和2030年实际还没有统计,因为没有发生,但通过前三个数据就可以看出马尔萨斯模型预测人口与实际有很大出入,所以必须对该模型做出改进,得到更符合实际的预测模型。
2.阻滞增长模型求解
通过对求导得拐点在时,人口增长速度最大。
在问题分析已经得到该模型的表达式,运用matlab里的cftool工具箱拟合求出参数:
f(x)=a*3.9/(3.9+(a-3.9)*exp(-r*(t-1790)))
a=285.9(257.4,314.4)
r=0.02858(0.02763,0.02953)
因此 。
并得到如下图,蓝线表示组织增长模型预测数据,黑点表示实际人口数据。
图2.组织增长模型预测数据与实际人口数据
根据该方程预测得到230.92,242.51,252.02,259.67,265.71.其中1990,2000,2010年这三年的预测人口数斗鱼实际人口数据很接近。
但还是有一定的误差,模型也存在一定的改进程度才能更符合实际情况。
但从图形看,与实际拟合的很好。
3.为了便于比较两种模型与实际数据的直观对比,编出程序附录2把他们放在一个坐标系里。
图3.两个模型与实际人口数据的对比
图形虽然直观,但不具体,因此应算出两种模型与实际的误差值比较,程序见附录3.得到下图。
图4.马尔萨斯模型与阻滞增长模型误差的比较
从图中可以看出阻滞增长模型的误差更小。
七、结果分析
1.马尔萨斯模型结果分析
2.阻滞增长模型结果分析
根据该方程预测得到230.92,242.51,252.02,259.67,265.71.其中1990年实际人口为248.7百万,2000年为281.4百万,2010年为307.0百万,这三年的预测人口数与实际人口数据很接近。
但从图形看,与实际拟合的比较好。
八,模型的评价与推广
Malthus数学模型在短期内具有较好的准确度,简易易行,但是不能准确的预测处人口长期的发展趋势,不具有预测人口长期增长数量的能力。
为此,结合资料,考虑到一些实际因素,建立了能很好滴预测人口数量增长的logstic模型。
在人口增长的整个过程中logistic模型预测的数据与题中所给数据能很好地在误差范围内,几乎一致。
但由于也存在误差,因此也可以通过相关多项式拟合出其方程,也是可以的,比如二次多项式,但次数不一定越高越好,应使模型所预的数据与实际数据更接近,才是比较好的模型。
logistic模型在人口预测中,在医疗卫生中可以预测寻找某一疾病的危险因素(以及疾病的发展趋势),预测自然界中种群数量的增长等都发挥着巨大的作用。
九、参考文献
[1]王玉英王建国史加荣鲁萍.数学建模及其软件实现北京:
清华大学出版社,2015.
[2]赵凤群戴芳王小侠肖艳婷数学实验基础西安理工大学理学院2013
十、附录
程序1马尔萨斯模型的线性解法
t0=[1790:
10:
1980];
X0=[3.95.37.29.612.917.123.231.438.650.262.976.092.0106.5123.2131.7150.7179.3204.0226.5];
plot(t,x,'
o'
);
n=1;
a=polyfit(t0,x0,n);
y=log(x);
p=poly2sym(a)
程序2人口数量实际值与两种模型预测数据对比图
clear;
t=[1790:
x=[3.95.37.29.612.917.123.231.438.650.262.976.092.0106.5123.2131.7150.7179.3204.0226.5];
nx1=3.9*exp(0.02222.*(t-1790));
nx2=285.9./(1+72.31*exp(-0.02858.*(t-1790)));
r'
t,nx1,'
b'
t,nx2,'
g'
legend('
实际值'
'
马尔萨斯模型'
¸
阻滞增长模型'
)
程序3两种模型误差散点图
W1=(x-nx1)./x;
W2=(x-nx2)./x;
plot(t,W1,'
*'
t,W2,'
x'
马尔萨斯模型误差'
阻滞增长模型误差'