收藏 分享(赏)

2007高教社杯全国大学生数学建模竞赛论文.doc

上传人:dreamzhangning 文档编号:2627892 上传时间:2018-09-23 格式:DOC 页数:15 大小:394.50KB
下载 相关 举报
2007高教社杯全国大学生数学建模竞赛论文.doc_第1页
第1页 / 共15页
2007高教社杯全国大学生数学建模竞赛论文.doc_第2页
第2页 / 共15页
2007高教社杯全国大学生数学建模竞赛论文.doc_第3页
第3页 / 共15页
2007高教社杯全国大学生数学建模竞赛论文.doc_第4页
第4页 / 共15页
2007高教社杯全国大学生数学建模竞赛论文.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、1中国人口增长预测摘要:本文通过对题目中所给数据和参考资料以及网站上获得的数据进行分析,利用多种模型对数据规律进行归纳提炼.首先我们建立了,Malthus 微分方程,通过求借建立了我国人口增长的指数模型,通过常识和分析我们知道,由于受到资源和多种外在和内在因素的影响,人口的这种增长模式是不可能实现的,它只是在理想情况下的一种模式.为了弥补这个模型的缺点,我们又分别建立了1L eslie 人口模型, 微分差分混和模型,神经网络模型,灰色模型,等多种模型方式. 建立 Leslie 模型来预测未来中国大陆人口增长模型。根据死亡率,生育率是否变化,我们建立了两个模型,第一个是死亡率变化的模型,在这个模

2、型中,由于两个因素的变化,使得在预测时只能简单的预测下一年的数据,虽然精度很大,但是预测的时间太短。于是,在分析了死亡率和生育率在所给五年的各年龄段的情况,我们提出了忽略两个因素变化所带来的影响,以使模型更大众化。最后通过检验,发现,在做中短期预测时,结果很令人满意,误差很小。但对于长期的预测准确度有所下降。通过对第一个模型Leslie 人口模型的求解,我们分析得到了短期,中期,长期,较长期(在这我们定义 13 年为短期,510 年为中期,10 年以上是长期)的预测人口数量在各个年龄段的分布。再对预测数据进行分析,并结合中国的实际国情,很容易知道 Leslie 人口模型增长只能用来预测中短期的

3、人口发展规律(对与中国的实际国情而言) 。于是为了预测探究长期的人口发展模型,我们必须找到更好的模型,结合别人的资料,然后我们又建立了一个有关人口数量的微分方程,这个微分方程包括了 各方面影响人口增长和变化的因素,如,育龄女性的百分比,潜在育龄女性的百分比,人口老龄百分比等等。这些因素的介入使得分析人口变化规律更接近实际的情况。随后又建立了另外的模型,多种模型相互结合,是本文的一大特色.关键字:Malthus 模型 灰色模型 Leslie 人口模型 神经网络2一、问题重述中国是一个人口大国,人口问题始终是制约我国发展的关键因素之一。根据已有数据,运用数学建模的方法,对中国人口做出分析和预测是一

4、个重要问题。近年来中国的人口发展出现了一些新的特点,例如,老龄化进程加速、出生人口性别比持续升高,以及乡村人口城镇化等因素,这些都影响着中国人口的增长。2007年初发布的国家人口发展战略研究报告(附录 1) 还做出了进一步的分析。关于中国人口问题已有多方面的研究,并积累了大量数据资料。附录 2 就是从中国人口统计年鉴上收集到的部分数据。试从中国的实际情况和人口增长的上述特点出发,参考附录 2 中的相关数据(也可以搜索相关文献和补充新的数据) ,建立中国人口增长的数学模型,并由此对中国人口增长的中短期和长期趋势做出预测;特别要指出你们模型中的优点与不足之处。二、问题分析对人口的预测主要考虑三方面

5、人口的来源:1.上一年留下的人口数-由前一年人口总数减掉死亡人数2.新生儿数-由当年育龄妇女数和生育率决定3.流动口数-考虑往年的人口流动量对数据进行数据拟合,其中预期的数值就是预算那部分的和。从而得出数据的模型,建立好成熟模型后,就可以对以后进行预测求解。三 模型假设1 中国大陆人口看作一封闭系统,没有迁入与迁出2 同一年龄组内是无区别的3 在 时刻人口分布情况是已知的0t4 无重大自然灾害和重大疾病的发生四、符号说明第 年年龄为 的总人数;()nAii第 年年龄为 的妇女的生育率,即为第 年年龄为 的妇女所生的小孩数bn ni与年龄为 的妇女的总数之比;i第 年年龄为 的妇女的死亡率;()

6、ndi第 年年龄为 的女性占同龄总人数的比例;t 年 15-49 岁的女性人口总数;It 年 0-15 岁女性人口总数;)(Rt 年各年龄段的男性与 50-90+岁女性人口总数之和;Nt 年各年龄段人口总数; I315-49 岁中年龄为 的女性人口总数;)(iAit 年 15-49 岁女性死亡率;人口年死亡率;五、建模过程模型建立初期不考虑其他因素干扰,建立简单模型,在分析和建立模型的过程中进一步优化,建立过程如下:模型一:人口指数增长模型(马尔萨斯 Malthus,1766-1834)1) 模型假设1以 P(t)表示时刻 t 某地区的人口数,设人口数 P(t)足够大,可以视做连续函数处理,且

7、 P(t)关于 t 连续可微。 2时刻 t 人口增长的速率,即单位时间人口的增长量,与当时人口数成正比,即人口增长率为常数 r。2) 模型建立及求解据模型假设,在 t 到 t时间内人口数的增长量为 tPrtP)()(,两端除以 t,得到 tt,即,单位时间人口的增长量与当时的人口数成正比。令 0t,就可以写出下面的微分方程: Prdt,如果设 时刻的人口数为 ,则 满足初值问题:0t0p()0)(Ptr(1)下面进行求解,重新整理模型方程(1)的第一个表达式,可得 dtr,两端积分,并结合初值条件得显然,当 0r时,此时人口数随时间指数地增长,故模型称为指数增长模型(或Malthus 模型)

8、。如下图 1 所示。3) 模型检验与分析注意到 ,而我国资源是有限的,考虑到现实生活中主客0()lim()lirtttPe观因素的影响,不可能是人口无限增长,故指数增长模型(Malthus 模型)对未来人口总数预测非常荒谬,不合常理,应该予以修正。4 4) 模型讨论做进一步的讨论,阐明此模型组建过程中所做的假设和限制是非常必要的。1我们把人口数仅仅看成是时间 t的函数 )(tp,忽略了个体间的差异(如年龄、性别、大小等)对人口增长的影响。2假定 )(tp是连续可微的。这对于人口数量足够大,而生育和死亡现象的发生在整个时间段内是随机的,可认为是近似成立的。3模型所描述的人群应该是在一定的空间范围

9、内封闭的,即在所研究的时间范围内不存在有迁移(迁入或迁出)现象的发生。不难看出,这些假设是苛刻的、不现实的,所以该模型不能用于预测未来人口。模型二:改进的 leslie 模型考虑到我国目移民现象很少见,所以认为中国人口是一个封闭系统。在这种假设下,下一年人口的数量取决于本年个年龄人口的生育率、死亡率、人口总数和男女比例。具体函数关系如下: 01()()0() 1;)nnknbAkiAidi N用矩阵形式可表示为: ,其中1(,2.)nL(0)()10101()n nnnbbiddLdi (0)1()nnAi根据具体情况,比如采集到的数据是按年龄段统计得死亡率、生育率、总人口数及男女比例,我们就

10、不能再按年龄来预测了,此时可以按年龄段来预测。这是一个可按分组的数据来预测下一个时刻情况的模型。针对本次竞赛所给数据是按年龄统计到 90 岁(90 岁和 90 岁以上的人归为同一组) ,故我们可将上述矩阵写为 92 行 91 列的矩阵,如下5(0)(1)(89)(90)1001(89)0nnnnnbbbdLdd ()1()0TnnnAAi ,1 111()()TnnA 此时, ,即()()nniLi901kkb0()(1)(1,29)nnnAidiAi在第 年此模型死亡率、生育率、总人口数及男女比例已知时,我们就能够预测出第个年龄的人口数,当然经过简单处理之后,还可得各年龄段的人口总数。1通过

11、作个年龄段的死亡率的散点图发现,各年龄段死亡率基本稳定在一个常数值附近(图 2) ,并且在近些年不会发生重大的医学进步,所以我们可以假设死亡率为一个常数,并且在计算过程中用 2001-2005 的平均死亡率代替它。通过 2001-2005 生育率的散点图(图 1)可以发现 2003 年的生育率情况偏离其他年份的情况,而其他几年的情况图像形状相似,因此剔除 03 年的数据,用剩余四年的平均出生率作为生育率的估计值,即也假设出生率为一常数。通过统计数据发现出生性别基本稳定在 1.06 附近,所以也假定生育率为常数。在这些假设下即可对我国人口数量进行预测。利用 2001 年的各年龄段的人口数量为基,

12、做各年份预测,误差图见附录;所以可以得出对 5 岁到 75岁之间的预测准确度是很高的。在此基础上通过拟合用 2001 的数据用此模型预测2002-2005 的人口情况,发现拟合很好(见附录 图 1) ,这说明此模型可进行短期和中长期预测并且效果令人满意。在附录中给出了对 2008 年各年龄段人数的预测。同时也给出了长期预测(对 2040 年的预测)。但是对于长期预测此模型效果不太理想(见附录(图 2))。0 10 20 30 40 50 60 70 80 90 100020406080100120140160180 2002出出出出(图 1)2001-2005 年各年龄段生育率比较 60 10

13、 20 30 40 50 60 70 80 90 100051015202530(图 2) 2001-2005 个年龄段死亡率比较此时, ,这里1()(1)nnAiLi0(1)()00)01()nnnnnbbiibidddi ()1()TnnnAAim 即 10mnnnkbk()(1)(1,2)nidii通过矩阵乘法可得0knAL,im由上述公式,可以预测第 年的人口数量。优点:此模型的优点是在满足假设的前提下能够非常准确的预测出下一年的人口数。缺点:过分依赖于前一年的死亡率、生育率、总人口数及男女比例,只有这些参数已知时,才能预测此下一年,并只能预测一年。模型三:微分差分混和模型考虑到中国迁

14、入迁出人口所占总人口数比例较小,故假设中国人口为一封闭系统,于是基于微分差分的思想,建立微分差分混合模型。7 0000 )(,)(,)(,)(1)()()()()( NINRIIttt tIIdNtttINIR参数的求解公式:)()49tIkA )(15(tRIkA方程 1:中国人口组成的刻画;方程 2:育龄女性数目的变化趋势;方程 3:中国总人口的变化趋势;方程 4:育龄女性人口数的变化方程 5:给个变量赋予初值利用 2001 年的数据可解得参数如下: , , , ,0.160.19740.9710.593420.1837上述模型中个变量的解析解悟求得,但是数值解可以应用龙格-库塔法,进行编

15、程求得近似值。优点:该模型全面考虑了各种因素对人口总数等的影响,计算结果应该比较贴近实际情况缺点:较难以计算出连续数值模型四:神经网络模型人脑神经网络模型能模拟人脑神经组织的运行机制,因此具有较强的信息处理能力,对复杂问题具有自适应和自学习的能力,可以很好的协调多种输入信息的关系。神经网络因其自身的自适应,自学习性,高效性,具有可逼近任意非线性系统的能力而成为系统辩识及预测的有力工具。我们将中国人口的变化看作一非线性的输入输出系统:;()(1),(),(1,()yuytfttnuttn 其中 为影响整个系统的控制因素, 为系统前 次输出对系统新u 1,()yytn yn的输出的反馈影响。我们采

16、用并联识别模型的离散时间的动态神经网络来识别此非线性系统,并做出相应的预测:网络的设计: 我们借助多层前向BP 网络(Back-Propagation Network)令 ;将 经过 i 步时延反馈到网()yt,NA(1),yt (),(1,()yutnuttn ()yt络的输入端,对网络的权值、阈值不断修改,进行自适应训练,以跟踪网络输入样本值的变化,达到对未来值的预测。其中 为神经网络的输入, 为神经网络的输出,()t,(),2)uiutji ()t8代表神经网络的权空间。建立以出生率,死亡率,性别比以及老龄化作为四个神经元的输入样本,以全国总人口数作为一个神经源元的输出样本,通过神经网络

17、,进行模型训练,并预测第 N年全国的总人数。网络的几个主要参数:1. 网络层数、结点数的确定:如果网络过于复杂,就不利于网络学习的收敛,得不到良好的学习结果。因此,在确定输入层时,我们仅选择下一个输出值的前9个已确定样值和t 作为网络输入层的输入结点。由于9个样值点之间取值差异可能很大,这样的输入数据不利于网络学习及收敛,因此将数据除以一个整数 对数据进行压缩(如:累计病例作为输入时最大最小10N可相差1000 多,我们选取N=80,数据压缩到0,13范围内)。对于输出层,采用单节点形式。对于隐层,我们采用隐层个数为输入层的一半,即5 个。2.网络各层激活函数的确定及算法的选用:我们采用了 B

18、P 网络经典的Sigmoid 传递函数: 和改进BP 算法(动量法+1()xfe学习自适应调整策略)对网络进行训练。3训练次数1000 次详细算法步骤如下:Step 1: 初始化:令 i =1; 设定预测年数N;Step 2:用过去以有的n 个样点值(n 代表天数), 设为P= , , 用作为ip11ni网络输入的样本向量,用BP算法训练此网络:计算各层接收向量Z 及输出向量y;利用实际输出y 与该样本理想输出D 的差值反向修改前面各层的权值矩阵 A,使权值的改变方向沿着负导数方向,使实际输出尽量逼近理想输出,最后在激励 下得到将来()ui的一个预测点值 ;1npStep 3:将预测出的 加入

19、阳电值集合P,并执行 ,将元素 从集合P中除去,/ipip;1iStep 4:若i未达到设定的预测天数N,转Step 2,否则推出系统循环。Step 5:在同一坐标系中作出预测值和实际采样值曲线;年份 出生率(0/00)死亡率(0/00)老龄化(0/0)性别比 总人口 (万/1000)1997 16.57 10.06 6.936 1.044 123.6261998 15.64 9.14 7.039 1.051 124.7611999 14.64 8.18 7.431 1.059 1257862000 14.03 7.58 7.633 1.067 126.7432001 13.38 6.95 6

20、.961 1.06 127.6272002 12.86 6.45 8.163 1.061 128.4532003 12.41 6.01 8.508 1.062 129.2272004 12.29 5.87 8.563 1.063 129.9882005 12.4 5.89 9.073 1.063 130.7569模型五:灰色模型灰色系统是指部分信息已知、部分信息未知的系统,它介于一无所知的黑色系统与全部确知的白色系统之间,人口系统正是这样一个灰色系统。影响人口增长变化的因素很多,其中不乏一些不确定因素,用灰色系统预测法对人口变动进行分析、预测,可以为国家制定合理的人口控制政策、为各级政府制定相

21、应的人口管理目标,提供科学的决策依据。实际灰色建模中,系统的原始序列数据不一定全部用来建模,不同维数(或长度)序列建模,所得参数a,b的值是不一样的,因而模型的预测效果也不同,这里,我们选取中长序列(1991-2004年)、短序列分别对2005年全国人口进行模拟预测,通过比较分析得出最佳预测序列。1.中长序列灰色增量模型对全国人口的检验及预测(1) 中长序列灰色增量模型对2005年全国人口的模拟预测普通灰色增量模型的模拟预测公式:X(t+ i)=-6213.759*exp(-0.05598469*t)+(27561.759),t= 1,2,3,.新初值灰色增量模型的模拟预测公式:X(k) =-

22、 13396.759*exp(-0.05598469*(k-n)+(27561.759),k=1,2,3,.离散灰色增量模型的模拟预测公式:Xl1(k+l)=0.9503X0 )(k)+ 15 28.58,k=1,2,3,.下表给出这三种模型对2005年全国人口检验性预测结果的比较。三种灰色模型对2005年全国人口数总量模拟预测比较模型 IGM模型 新初值IGM模型 离散IGM模型实际值 130756 130756 130756预测值 130717.01 130717.41 130737.48残差 38.99 38.59 18.52相对误差 0.298 0.295 0.142均方差比值0.00

23、42 0.0040 0.0029(2) 中长序列灰色增量模型对未来50年全国人口的预测102005 2010 2015 2020 2025 2030 2035 2040 2045 20501.31.321.341.361.381.41.421.441.461.481.5x 105lisanlianxuIGM2.短序列灰色增量模型对全国人口的检验及预测(1)短序列灰色增量模型对2005年全国人口的模拟预测,为筛选合适的模型,这里分别选取5.9维短序列建立灰色增量模型、新初值灰色增量模型和离散灰色增量模型,对我国总人口数进行检验性预测。普通灰色增量模型的模拟预测公式:X(t+ l)= -17143

24、.853*exp(-0.05244452*t)+(18100.853), t=1,2,3,.新初值灰色增量模型的模拟预测公式:X(k ) =-138 98 .853*exp(-0.05244452*(k-n)+(18100.853), k=1,2,3,离散灰色增量模型的模拟预测公式:X11(k +l )=0.9628X1 1(k) + 9 00.1719 k= 1,2,3,.经比较 ,采用6维模型建立最优预测模型,下表给出这三种模型对2005年全国人口检验性预测的检验比较。三类灰色模型对2005年全国人口总里模拟预测的比较(单位;万人)模型 IGM模型 新初值IGM模型 离散IGM模型实际值

25、130756 130756 130756预测值 130698.13 130685.90 130686.00残差 57.87 70.10 0.00相对误差(%o) 0.443 0.536 0.535均方差比值C 0.0003 0.0005 0.0002小误差概率P 1 1 1(2 )短序列灰色增量模型对未来全国人口的预测112005 2010 2015 2020 2025 2030 2035 2040 2045 2050 20551.31.321.341.361.381.41.421.441.461.48x 105lisanlianxueigm经过比较分析,中长序列和短序列灰色模型在全国人口总量

26、上的预测精确度较高,且三类灰色模型在每一种序列中的预测值相差无几,这表明灰色增量模型关于全国总人口的预测是十分合理而有效的。同时我们看到中长序列灰色模型在全国人口总量上的预测值偏小,短序列灰色模型在全国人口总量上的预测值偏大,可将中长序列、短序列的预测结果联合起来作为中国未来总人口的预测区间,即以短序列预测值为上限,而将中长序列的相应结果作为下限,全国人口预测值则形成一个喇叭状的预测灰区间,因此,将较为远期的预测值视为规划值可能更为恰当。分析与讨论1. 综上可知,运用灰色增量模型,弱化了干扰因素,揭示了系统的运行规律,因而对全国总人口的预测具有更高的精度。在确保当前人口系统运行的条件下,应有以

27、下预测结论:(1)到2010年中国总人口增长率将下降到4.61%o左右,到2025年将达到现在发达国家总人口增长率2.5%0的水平。(2) 2006到2010年,中国每年净增人口数将由715万逐步下降到600万左右:到2030年,年净增人口数为约300万;而到2050年,年净增人口数将在130万左右。到那时,中国人口将基本实现零增长。(3) 2006年底中国人口将为13.147亿,到2010年底,中国人口将不超过13.5亿,到2030年将最多达到14.255亿;2040年最多为14.5亿,而到2050年最多达14.653亿,中国未来的人口峰值不会超过14.8亿。2. 当前,我国在逐步解决人口数

28、量问题的同时,人口结构问题日趋突出,面临着出生人口性别比严重失衡、出生缺陷人口居高不下、过快进入老龄化社会,未来20-30年,中国将先后面临劳动年龄人口、老龄人口和总人口这三大人口高峰的严峻考验,为此我们必须充分做好各项应对准备。3最近,有关中国正处于“人口红利”期的报道,曾引起媒体和社会各界的关注。虽12然这个时期就业压力非常大,却是经济发展的黄金时期。现在人们谈及中国所取得的经济发展成果时,多与改革开放相联系其实,“人口红利”也是一个极其重要的因素。中国的“人口红利”还能维持10年,最多15年。预计到21世纪30年代,中国老龄化将达到高峰,城镇的养老负担将大幅提高,医疗费用也随之大大加重。

29、据统计,2015年中国老年人人数将突破2亿,而到2040年将达到4亿。五参考文献:1 邓聚龙 灰色系统理论教程 华中理工大学出版社 19902中华人民共和国国家统计局 全国人口普查公报 20073胡守信 李柏年 基于 MATLAB 的数学试验 科学出版社 20044杜廷松 数值分析及试验 科学出版社 2006六附录:0 10 20 30 40 50 60 70 80 90-1-0.500.511.52 2002200320042005图 (1) 各年份预测人口数量与实际人口数量的相对误差130 10 20 30 40 50 60 70 80 90024681012x 104204020082

30、005real2005图(2) 2005 年真实值(2005real)和各年预测值做比较Leslie 人口改进模型(死亡率,生育率变化)JAVA 程序package model;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.

31、PrintWriter;public class NextPrediction public static void main(String args) double a0 = new double92; / 第 n 年年龄为 0 岁的人口总数double b0 = new double91; / 第 n 年年龄为 0 岁的人的生育率double c0 = new double91; / 第 n 年年龄为 i 岁的女性占 i 岁人口总数的比例double d0 = new double91; / 第 n 年年龄为 i 岁的人口的死亡率/* 初始化文件:* a0.txt:初始化第 n 年年龄为

32、0 岁的人口总数,每个数据占一行* b0.txt:初始化第 n 年年龄为 0 岁的人的生育率,每个数据占一行* c0.txt:初始化第 n 年年龄为 i 岁的女性占 i 岁人口总数的比例,每个数据占一行* d0.txt:初始化第 n 年年龄为 i 岁的人口的死亡率,每个数据占一行14*/if(args.length != 4) System.out.println(“Usage:“);System.out.println(“java model.Main a0.txt b0.txt c0.txt d0.txt“);System.exit(-1);try BufferedReader in =

33、new BufferedReader(new FileReader(args0);String s;int i=0;while(s = in.readLine() != null) a0i = Double.parseDouble(s);i+;in.close();/ 对第 90 项重新赋值a090 = a089 + a090;in = new BufferedReader(new FileReader(args1);s = in.readLine();i=0;while(s = in.readLine() != null) b0i = Double.parseDouble(s)*0.001;

34、i+;in.close();in = new BufferedReader(new FileReader(args2);s = in.readLine();i=0;while(s = in.readLine() != null) c0i = Double.parseDouble(s);i+;in.close();in = new BufferedReader(new FileReader(args3);s = in.readLine();i=0;while(s = in.readLine() != null) d0i = Double.parseDouble(s)*0.001;i+;in.cl

35、ose(); catch (FileNotFoundException e) System.out.println(args1 + “ is not found!“);System.exit(-1); catch (IOException e) System.out.println(args1 + “ can not read correctly!“);System.exit(-1);File result = new File(“result_next“);if(result.exists() 15result.delete();try result.createNewFile(); cat

36、ch (IOException e) System.out.println(“can not create file “ + result.getName() + “!“);System.exit(-1);PrintWriter out;try out = new PrintWriter(new BufferedWriter(new FileWriter(result);/ 求首项double first = 0d;for(int k=0; k=90; k+) first += a0k*b0k*c0k;out.println(first);/ 求其他项for(int i=1; i=91; i+) double other = (1 - d0i-1)*a0i-1;out.println(other);out.close(); catch (IOException e) System.out.println(result.getName() + “can not write correctly!“);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报