人口问题分析数学建模论文.doc
2015海南师范大学第七届数学建模竞赛承 诺 书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从A/B中选择一项填写): B 所属院系(请填写完整的全名): 数学与统计学院 参赛队员: 1. 任敏嘉 2. 陈亚 3. 刘小方 日期: 2015 年 4 月 26 日人口问题模型【摘要】:日本是人口小国,日本人口数量已连续4年呈减少趋势,人口总数降至约1.27亿,创下15年来新低。其中,年满65岁者占人口总数超过四分之一,老龄化形势严峻。日本人口数量已连续4年减少,较2008年的峰值减少了约100万人。同时,人口总数也创下2000年以来的新低。本文根据日本近十年的人口数据从而对其人口现状,人口老龄化程度等方面以及2011年我国第六次人口普查登记的全国总人口数,政府对控制人口数所提出的政策进行修改后,对未来某年的人口数进行预测,并运用MATLAB软件对各方面进行分析,根据所建设的模型对日本人口减少状况的预测和中国对控制人口政策的修改是否有利及相关问题的解决。【关键词】:人口现状、数据拟合、一元线性回归、老龄化、预测结果、生育模式,生育率、存活率。一、问题的重述近十几年来,日本的人口逐年递减,随着经济的发展,人口老龄化等现象的出现,使得日本的人口减少问题更加严重。(1)根据日本既往的人口数据(2013年10月以前的数据,但不包括2014年的数据),建立适当的数学模型,预测2014年10月的日本人口,所预测的结果是否与2014年10月的日本实际人口相符。(2) 根据所建立的模型预测2060年的日本人口及年满65岁的老人所占人口的比例,所预测的值与新闻中所报道的“8674万”及“40%”是否相符。(3)2011年我国第六次人口普查登记(已上报户口)的全国总人口数为1,332,810,869人,标准时点为11月1日零时。假设中国育龄夫妻的生育意愿较高,在政策允许的范围内愿意生育更多的子女。(a)假设从2011年11月1日起,中国放开全面二胎(不论夫妻是否独生子女,所有的夫妻都可以生育二孩,但不允许生育三孩),预测中国2020年的人口及年满65岁老人的比例;(b)根据中国的国情,结合建立的数学模型,请说明中国是否能够实施全面放开二胎政策。 如果可以,何时实施此政策,需实施多长时间。二、 模型的假设 (1) 在模型中预期的时间内,人口不会因发生大的自然灾害、突发事故或战争等而受到大的影响;(2) 在我国和日本,视为没有人口的迁入和迁出;(3) 人口变化只与出生,死亡和老龄化有关;(4) 一段时期内我国和日本人口的死亡率不发生大的波动,不同年龄段人口的分布也不随时间发生变化;三、问题的分析问题一:根据附表1中给出的相关数据关数据,将近10年人口数量用MATLAB软件画出图形再拟合函数,根据所建立的函数模型预测2014年10月的日本人口,经验证所预测的结果与2014年10月的日本实际人口基本相符。问题二:根据历年出生人口数和死亡人口数,利用MATLAB程序对数据进行拟合。由自然人口增长数等于历年人口出生数减去历年人口死亡数,得到各年份的自然增长人口数。结合出生人口数和死亡人口数的数据画出具体图形分析发现,数据分段呈现出一定的规律性,于是对数据进行分段拟合,并最终确定出人口的自然增长人口数。由自然人口增长数等于历年人口出生数减去历年人口死亡数,得到各年份的自然增长人口数。此公式能够较好反应中国近期及预测未来近15年内的人口增长数量。然后由我们所选取的初值人口数加上自然增长人口数拟算出每年的总人口数。另外为了更好的分析人口的具体情况,我们根据所查得表格资料,用MATLAB画出散点图,根据图形趋势(10年内一直呈上升趋势,基于以上数据及分析),合理假设,进行数据拟合得到人口老龄化计算公式。然后由直观图得出中国老龄化指数在未来变化图像,由模型具体预测日本老龄化比例,从而确定出日本调整人口生育政策的时机、具体方案。问题三:对于人口增长的问题,影响人口增长的因素有:人口基数,出生率,死亡率,人口男女比例,人口年龄组成,人口迁移,政治策略。如果把众多的因素考虑进来,则问题会无从下手。因此,根据我国人口自身的发展特点,应该选取能够体现我国人口发展特点的模型。 人口发展模型有连续形式和离散形式,由于题目所给的数据是每个年龄段的具体数据,可以将这些数据视为连续的。但是,若用连续形式,则涉及偏微分方程的求解问题,很难得出预测结果,同时,数据量也很大,因此,可以直接建立离散形式的人口发展模型。根据初期的数据,利用人口的年龄推移方法推算一段时间后人口数量,建立离散形式的人口发展模型。我们选择用2009年到2010年的人口普查数据的平均值。推算的实际过程是递归的过程,就是根据某段时间的不同性别,年龄人口的资料,按照一定的存活率和妇女生育率,推算未来某段时间相应的性别,年龄人口数的一种方法。其基本依据是人的年龄增长与时间推移的一致性,人口存活率和妇女生育水平是相对稳定的。因此,可以建立离散形式的人口发展模型。四、相关符号的说明符号变量变量意义y各年的总人口m各年的出生人口数n各年的死亡人口数k各年的人口自然增长数y0所选取的初值人口数t02005到2008年的时间t12009到2014年的时间w65岁以上人口的比例ww老龄化人口的拟合函数五、模型的建立和求解5.1 运用到的相关知识模型一1、一元线性回归函数拟合m=k*t+b(k、b为一个常数)多项式拟合的一般方法可归纳为以下几步:(1) 由已知数据画出函数粗略的图形散点图,确定拟合多项式的次数n;(2) 写出正规方程组2、 MATLAB的具体操作以及拟合函数的用法。模型二该模型主要是一个递归的推算过程,根据已知的某时点的数据推测出未来某时间相应的数据,就人口问题而言,可以根据本年度的人口年龄数据,推测出后一年的相应年龄加一岁的人口数据5.2 具体模型模型一问题一:根据附表1中给出的总人口数,将近10年人口数量用MATLAB软件画出图形,给出我国人口现状的统计结果。具体的分布图形如下,程序将在附录中给出。图1 日本人口现状的图形根据图1我们可以发现在2002年到2008年这6年中我国的人口总数一致趋于上升的趋势,09年14年之间人口逐渐下降。根据附表1中的出生人口数和死亡人口数的数据分别画出与各年份间对应的图形(图2、图3)图2 我国人口的出生数图形图3 我国人口的死亡数图形根据图2我们发现我国人口的出生人口数在02年08年间趋于上升的基础上存在大的波动,08年之后的出生人口数呈明显的下降趋势。根据图3我们发现死亡人口数的图形在02至13年一直呈上升的趋势。问题二:A、人口模型根据附表1的数据我们可以对出生人口数进行拟合,分别进行检验分析之后得到拟合函数.m=(4480235005281563*x)/549755813888-8190450825431553/536870912 (2002<=t1<=2008)m=6786052434743055/268435456-(6619224925956275*x)/549755813888 (2009<=t2<=2013)根据附表2的数据我们可以对死亡人口数进行拟合,分别进行检验分析之后得到拟合函数n=(3954252857987411*x)/137438953472 - 7601270621534183/134217728在该模型的假设条件下,自然增长人口数就等于出生人口数减去死亡人口数,于是自然增长人口数的函数我们可以表示为:2002年2008年间k=(4480235005281563*x)/549755813888-8190450825431553/536870912-((3954252857987411*x)/137438953472 - 7601270621534183/134217728)2009年20013年间k=6786052434743055/268435456-(6619224925956275*x)/549755813888-((3954252857987411*x)/137438953472 - 7601270621534183/134217728)其中拟合图形分别见下图:图4 02年08年的出生人口数图形图5 09年13年的出生人口数图形图6 02年13年的死亡人口数图形 图8 02年08年的自然增长人口数图形图9 09年13年的自然增长人口数图10 拟合函数检验图根据该人口模型以及函数模拟,如果保持现有的计划生育政策不变,人口将会在2014年年左右突破达到1.2718亿,2060年达到1.253亿。2.人口老龄化模型国际上通常把65岁以上的人口占总人口比例达到10,或65岁以上人口占总人口的比重达到7作为国家或地区进入老龄化社会的标准。目前,全世界60岁以上老年人口总数已达6亿,有60多个国家的老年人口达到或超过人口总数的10%,进入了人口老龄化社会行列。根据所查资料给出的数据我们可以看出从2001年起日本已经步入老龄化社会,而且比例在逐渐增加。根据数据我们得出65岁以上人口占总人口比例的趋势如下图:图11 人口老龄化比例图形 由以上图行我们发现数据大致分布在一条直线上,于是对其选取一次函数进行拟合得出拟合函数为ww=(5048398709566173*x)/9007199254740992 - 1213754017844097/1099511627776,拟合函数图形如下:图12 拟合函数图形 根据该拟合函数图形可以看出我国人口老龄化比例逐渐增大,照此拟合函数对2060年的人口老龄化比例做出预测,那时日本的老龄化程度所占比例将为50.6959%可以发现到2060年日本的人口老龄化比例已经达到50%,所以只有提高劳动生产率、加快发展,才能更好地满足扶养老人的各种需求,才是解决老龄化问题的根本出路注:预测的结果与新闻报道不相符。模型二1.符号说明 X(k)表示第k年不同年龄段人口数量的矩阵;X(k+1)表示第k+1年不同年龄段人口数量矩阵;S(k)表示第k年不同年龄段的存活率;b(k)表示第k年不同年龄段的妇女的生育率和婴儿存活率的乘积;Y(k)表示第k年的人口总数;2.模型的建立与求解此模型只要为了描述出我国人口短中期的发展趋势,并能够对未来的人口数量做出预测,在实际中,研究未来人口增长规律,人口年龄结构的影响是不可忽略的重要因素,人口的出生率和死亡率都是不同的,从而人口的数量变化也不同。人口发展的离散形式 1)第k年i周岁的人活到第k+1年成为第i+1周岁的人数为 X(k+1)=S(k)*X(k) 其中,等式左边的第i周岁换算到等式又边变为第i+1周岁。 由于出生人数受育龄妇女数和生育率的影响,所以,0周岁的婴儿成长到1周岁的概率为B(k).2)将人口数量按照年龄分段。04周岁,59周岁,1014周岁.,将第k年的人口数量分为21段。3)根据上面的结论,引入向量X(k)=x1(k),x2(k),.,x21(k)的转置,则可以得到人口发展方程的离散形式: X(k+1)=A(k)*X(k)+B(k)*X(k), 其中 0 0 . 0 0 S1(k) 0 . 0 0A(k)= 0 S2(k) . 0 0 . . . . . . . . . . 0 0 . S20(k) 0(21*21) 0 . . . 0 b4(k) . . . b10(k) 0 . . . 0 0 . . . 0 0 . . . 0 0 . . . 0 B(k)= 0 . . . 0 0 . . . 0 0 . . . 0 . . 0 . . . 0 0 . . . 0 0 . . . 0(21*21) 此人口发展方程为一阶差分方程,实际中,如果已知初始各个年龄段人口数量X(0),有统计数据确定矩阵A(k)和矩阵B(k),就可以预测人口的发展规律。如果在理想(社会稳定)情况下,可以认为A(k)和B(k)都与时间无关,即为常数,则人口发展方程变为 X(k+1)=A*X(k)+B(k)*X(k).4)确定人口指数 人口总数: Y(k)=X1(k)+X2(k)+.+X21(k).5)对模型中生育率进行分析.生育率=人口总数*女性比例*婴儿成活率。不同年龄段的女性的生育能力不同,在本模型中,假设女性的生育年龄为1549周岁,在这个年龄范围外的女性没有生育能。 根据上述模型,用MATLAB编程求解,可以得到未来几年内各个年龄段的人口数量,这里以问题中给出的20092010年的平均数据,预测了未来9年的人口数量。12年13年14年15年16年17年18年19年20年041.21271.20621.05840.90320.83540.95101.10041.13151.0635590.71321.14501.13890.99930.87830.78790.89791.03901.068410140.70670.71111.14161.13550.99630.87570.78550.89521.035915190.74700.70740.70911.13841.13230.99350.87320.78330.892720240.99500.74410.70200.70631.13401.12790.98960.86980.780225291.27350.99540.74370.70160.70591.13341.12730.98910.869430341.00401.26570.98840.73920.69730.70161.12651.12040.983135390.96350.99591.25540.98040.73320.69170.69591.11741.111340441.16660.95230.98431.24080.96900.72470.68370.68781.104445491.22561.14610.93550.96701.21900.95190.71190.69330.675750541.02841.19361.11620.91110.94181.18720.92710.69330.654255590.75460.98541.14371.06950.87300.90241.13760.88830.664360640.76280.70790.92441.07291.00300.81900.84651.06720.833365690.52620.68420.63490.82910.96230.89960.73460.75920.957270740.34040.43560.56640.52560.68640.79670.74480.60820.628575790.22870.23610.30210.39290.36460.47610.55260.51660.421880840.12040.11540.11920.15250.19830.18410.24030.27900.260885890.02030.01830.01750.01810.02320.03010.02800.03650.042490940.00980.00350.00320.00300.00310.00400.00520.00490.006495990.00300.00190.00070.00060.00060.00060.00080.00100.0009100以上0.00800.00070.00040.00020.00010.00010.00010.00020.0002单位:亿人口总数:2012年: 13.8078亿2013年: 14.2482亿2014年: 14.4828亿2015年: 13.9418亿2016年: 14.3562亿2017年: 14.2392亿2018年: 14.2095亿2019年: 14.1596亿2020年: 14.0591亿由此,若从2011年11月1日起,中国放开全面二胎,可以预测中国2020年的人口数量为14.0591亿,年满65岁老人的比例为16.49%.5.3调整以及预测1)根据以上两个模型,我们可以发现日本人口的下降趋势,以及老龄化迅速上升,人口老龄化将是我们必须面对的问题。为了能在未来实现可持续的发展,我们现在亟待解决人口问题。从该意义上讲生育政策的最佳调整时期应该在21世纪初期,我们积极主张增加人口数量的政策。未来扶养老人的社会能力的提高,应从培养高素质人口着力,采取各种措施使我国从人口数量大国转变为人力资源大国。为此,我国应采取稳定低生育水平,培养高素质人口,完善经济、社会制度,提高服务、保障能力,重视人的全面发展的政策,统筹人口、经济、社会、资源、生态、环境发展。2)针对人口短中期预测模型,做出如下的分析与检验: 对于人口发展的中短期预测来说,总合生育率和死亡率这些值可以认为是不变的,所以用定值对十年以内的总人口数进行预测是可行的,但是,对未来而是到五十年的总人口数进行预测,其预测的数据的可信度是不高的。并且,预测的年数越长,数据的误差越大。当总和生育率取不同值时,人口的数量有明显的差异。这里得到的数据是我国从2011年11月1日起全面放开二胎,所有有生育能力的妇女的生育力的总和平均值,实际值应略低于预测值。六、 模型的评价及总结以及优化本文通过对历史数据的研究,选择能够描述数据规律的曲线作为预测模型。我们进行了较严格的拟合,能较好的反应数据的变化,短期预测性较高。但是忽略了其他因素的影响,当预测时间段较长时可能会导致结果不太准确。综合评价如下:1)在对这次实验的研究中,因为数据比较齐全,所以能够较好得看观察到过去三十年的人口发展现状,为接下来的各种模型的建立提供了很好的依据。2)由于模型是简化的,我们的假设模型是在没有外界的影响下建立的,比如自然灾害、经济波动导致的收支变化对人口增长的影响和性别比例。所以模型不是很完善,可能会使分析变得不全面,预测的结果在短期内可以较好,但长期预测结果仍存在着较大的偏差。3)有一些值得研究的方向,我们没能及时去整理。比如热口中的性别数量差异、中青年在人口中的比例这些都是能够反映人口的现状以及对未来的预测会有一定影响,也能说明一些问题的研究方向。 4)在对模型的改进方面,我们可以引入性别比例和经济指标等因素,进行研究。把它们看做影响力大小不同的因素,进行回归分析,逐步筛选出了出生人口数、死亡人口数、人口老龄化等主要的因子,建立模型。在模型的改进和优化方面,我们认为:(1) 可以建立一个针对调整方案的模型,这样可以对调整方案有一个定量的分析。(2) 要多方面考虑一些因素,使得模型更切合实际。(3) 还可以从人口与经济数量关系方面研究我国的人口发展问题。七、参考文献1. 世界概况-各国历年65岁以上人口数八、附录:附录一: 见附件1、2、3、4、5、6、7附录二:附录三:MATLAB编码程序1. 拟合2006年到2008年出生的人数函数:>> year=2006;2007;2008;p=1091257;1101616;1107556; temp = polyfit(year,p,1); y = poly2sym(temp,'x') y =(4480235005281563*x)/549755813888 - 8190450825431553/536870912;2. 拟合2009年到2013年的人口出生总数>> year=2009;2010;2011;2012;2013;p=1086897;1083214;1073170;1046553;1045026;temp=polyfit(year,p,1); y=poly2sym(temp,'x')y =6786052434743055/268435456 - (6619224925956275*x)/5497558138883.拟合2006年到2013年的死亡人口数>> year=2006;2007;2008;2009;2010;2011;2012;2013;p=1090482;1103510;1142238;1146119;1187915;1252834;1251229;1276851; temp = polyfit(year,p,2); y = poly2sym(temp,'x')y =(3954252857987411*x)/137438953472 - 7601270621534183/1342177284.A=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9442 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9970 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9972 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9961 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9995 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9939 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9919 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9884 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9824 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9739 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9582 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.9381 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.8969 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.8279 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6936 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5048 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1519 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1274 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1907 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2171 0;B=0 0 0 0.02725234 0.34126611 0.39668496 0.2100823 0.07601445 0.02947212 0.01836944 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;X=75532610;70881549;74908462;99889114;127412518;101013852;97138203;118025959;124753964;105594553;78753171;81312474;58667282 41113282;32972397;23852133;13373198;5631928;1578307;369979;35934;Y=A*X+B*X