数学模型课程设计-中国人口增长预测
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国人口增长预测
摘要: 中国是一个人口大国,人口问题始终是制约我国发展的关键因素之一。根据已有数据,运用数学建模的方法,对中国人口做出分析和预测是一个重要问题。对此,我们建立了短期与长期两种预测人口增长的模型,并对附录中城镇乡的人口演变趋势做拟合与分析。
本文的建模过程选用了1996年到2005年的人口数据。短期人口预测用曲线的直接拟合,分析出人口的增长趋势。人口的出生率与死亡率均符合指数函数bt
=+,利
y ae c
用logistic模型求出人口最大上限
x,据此拟合人口增长的指数函数x(t),预测
m
2006-2011年的人口数量。长期预测中,建立灰色动态模型GM(1,1)预测中国人口长期增长趋势。在解系数的过程中运用了最小二乘法,得出预测人口数据的方程)0(ˆx,并预测2011年到2015年的人口数量。在对中国总人口进行短期和中长期的总体预测后,我们从附件中提取出城、镇、乡三地人口、男女出生性别比、老龄人口比率等相关数据,对中国未来城、镇、乡三地人口比例、男女出生性别比、妇女生育率、老龄人口比率等影响人口发展的主要因素做趋势预测,从而达到了对中国人口全方位的预测。
关键词: 曲线拟合、灰色动态模型、最小二乘法、自然增长率
一、问题的重述
中国是一个人口大国,人口问题始终是制约我国发展的关键因素之一。根据已有数据,运用数学建模的方法,对中国人口做出分析和预测是一个重要问题。
近年来中国的人口发展出现了一些新的特点,例如,老龄化进程加速、出生人口性别比持续升高,以及乡村人口城镇化等因素,这些都影响着中国人口的增长。2007年初发布的《国家人口发展战略研究报告》还做出了进一步的分析。
关于中国人口问题已有多方面的研究,并积累了大量数据资料。附录2就是从《中国人口统计年鉴》上收集到的部分数据。
试从中国的实际情况和人口增长的上述特点出发,建立中国人口增长的数学模型,并由此对中国人口增长的中短期和长期趋势做出预测。
二、符号说明
nianfen 年份
chusheng 出生率
bata0 估计的参数值
nlinfit 非线性拟合函数
1
y出生率函数
2
y死亡率函数
m
x人口上限
t 时间
x(t)人口增长函数
X(0)中国各年人口总数
X(1) X(0)的一次累加序列
Z(1) X(1)的紧邻均值生成数列
-a 发展系数
b 灰色作用量
)0(ˆx人口预测值
c 均方差
k
∆相对误差
三、模型的假设
1.假设人口迁入迁出对问题产生的影响可以忽略;
2.忽略社会环境、自然、经济、文化水平的对人口的影响;
3.长期预测中,不考虑出生率、死亡率等因素的影响。
四、模型的建立与求解
4.1中国人口短期预测的模型建立与求解
根据查找资料得到,人口死亡率,出生率与人口增长符合指数增长的模型bt
y ae c
=+。模型选取了1996年到2005年的全国人口进行nlinfit拟合。(代码见附录一)
处理人口增长函数时,考虑到人口数量受资源等因素的约束,中国人口将有一个上限。定义函数时,用“人口上限与指数函数相减”模式。死亡率、出生率等客观因素很大程度上影响着中国人口的变化趋势。而且随着环境等的因素,中国的总人口最终会趋
向一个固定值,即最大容纳量x
m,由logistic模型求出。假设x
m
在短时间内不会改变,
则可利用逐年的历史数据来计算出人口增长率的变化情况。
设x(t)为第t年中国总人口数,r为人口的增长率,x
m
为中国人口的最大容纳量。
建立logistic 模型
20(0)m dx r rx x dt x x x ⎧=-⎪⇒⎨⎪=⎩ 2
0(0)dx x x
dt x x αβ⎧=-⎪⎨⎪=⎩ (1)
解得:0()11m rt
m x x t x e
x -=⎛⎫+- ⎪⎝⎭
,m x α
β=
将1996-2005年中国人口总数带入方程(1),导数用一阶差商来代替:
()()()2i h i i f x f x h dx
f x dt h
+--'≈= (2)
得方程组
(0)(0)(0)(0)
20000(0)(0)
(0)(0)
20000(0)(0)
(0)(0)2
0000(3)(1)(2)(2)2(4)(2)(3)(3)2()(2)(1)(1)2
x x x x x x x x x n x n x n x n αβαβαβ⎧-=-⎪
⎪-⎪=-⎪
⎨⎪⎪--⎪=---⎪⎩ (3)
由最小二乘法求解出,αβ 可得:m x
设置系数的初始值beta0,beta0是使函数收敛的值。并由代码拟合,分别得到出生率和死亡率的函数。(详细代码见附录一) 出生率函数: 1959.7455346.7280008.01+-=t e y (4) 死亡率函数 8561.943434.880001.02+-=t e y (5) 将logistic 模拟出的数据m x 代入bt y ae c =+的常数项,用MATLAB 求解(方法同(4)、(5)) 人口增长函数:
0.027837046()37355.571160000t x t e -=-+ 保留结果时,用digits ,vpa 来精确位数。
由拟合函数求得预测死亡率与出生率。并计算相对误差见表1