1、1中国人口预测模型摘要:人口数量的变化,关系到一个国家的未来。认识人口数量的变化规律,建立人口模型,能够较准确的预报,是有效控制人口增长的前提。本文对人口预测的数学模型进行了研究。首先,建立人口指数模型、Logistic 模型及灰度预测模型。对我国 2005 年以后 45 年的人口增长进行了预测,根据 1982 年人口基本数据运用模型对 1982 年2005 年进行了预测,并用实际数据对预测结果进行了检验。我们将预测区间分为 20062030 年、20302050 年两个区间,以量化未来我国短中期与长期的人口变化。关键词: 人口数量的变化 人口指数模型 Logistic 模型 灰度预测模型 M
2、ATLAB Excel2目 录 第一部分 问题重述 (3)第二部分 问题分析 (3)第三部分 模型的假设 (3)第四部分 定义与符号说明 (3)第五部分 模型的建立与求解 (3)5.1 模型一(3)5.2 模型二(8)5.3 模型三 .(12)第六部分 对模型的评价(14)第七部分 参考文献(15)第八部分 附表(15)3一、问题重述人口问题始终是制约我国发展的关键因素之一。本题要求根据已知数据,运用数学建模的思想对我国人口做出分析和预测。具体问题如下:从中国的实际情况和人口增长的特点,例如我国老龄化进程加快、出生人口性别比持续升高、乡村人口城镇化等,利用参考附录中所提供的数据,建立中国人口增
3、长的数学模型,由此对中国人口增长的中短期和长期趋势做出预测,并指出模型的优缺点。二、 模型假设1、假设题目所给的数据真实可靠;2、假设不考虑我国人口大规模的朝国外迁移,也不考虑外国人大量涌入我国;3、假设不考虑战争、自然灾害、疾病对人口数目和性别比的影响;4、假设在本世纪中叶前,我国计划生育政策稳定。5、假设中短期内生育率和死亡率保持相对稳定6、假设相同年龄段人口性别比基本稳定。7、假设人口生育率不受传统观念和个人主观因素的影响。三、符号说明符号说明:由于符号较多,在以后的模型中具体给出四、问题分析人口发展过程的定量预测,需要预测出未来的人口发展趋势,人口出生、死亡和自然增长率的变化以及在未来
4、的人口构成等各项人口指数全部测算出来。人口增长的决定因素为出生率、死亡率和人口基数,鉴于我国人口问题已有多方面的研究,我们针对近年来我国的人口发展出现的一些新特点,忽略国际人口流动,故可以认为我国人口为一个封闭的系统。对于封闭的系统来说 ,某时刻人口总量= 人口基数+ 新生人口数 死亡人口数。五、模型的建立与求解5.1.模型一:指数增长模型1(一) 、模型建立:记 时刻的人口数为 ,当考察一个国家的人口时, 为一个人很大的t()xt ()xt整数。利用微积分这一数学工具,将 看作一个连续、可微函数。记初始时()xt刻( )的人口为 .假设人口增长率为常数 ,即单位时间内 的增量等0t0Xr()
5、xt4于 乘以 。考虑到 到 时间内人口的增量,显然有:r()xttt()(xrxt(5.1.1)令 ,得到 满足微分方程0t()t0,()dxrxt于是 满足微分方程: ()Xt0()dxtrtX(5.1.2)(二) 、模型求解解微分方程(5.1.2)得:.()0()rtte(5.1.3)表明: 时,t(0)txr1982 年人口自然增长率为 1.1%, 1.9854X为了能对比 Malthus 模型计算的长期值和实际值,取 1982 年2005 年数据2:表一:1994 年-2005 年全国人口数根据 Malthus 模型,用 Matlab 计算 19942005 各年的人口总数,程序:
6、t=1982:1:2005;时间(年) 1982 1983 1984 1985 1986 1987人口(万人) 101654 103008 104357 105851 107507 109300时间(年) 1988 1989 1990 1991 1992 1993人口(万人) 111026 112704 114333 115823 117171 115817时间(年) 1994 1995 1996 1997 1998 1999人口(万人) 119850 121121 122389 123626 124761 125786时间(年) 2000 2001 2002 2003 2004 2005人口
7、(万人) 126743 127627 128453 129227 129988 1306285t0=1982;x=10.1654*exp(0.014*(t-t0); x计算结果x =Columns 1 through 11 10.1654 10.3087 10.4541 10.6014 10.7509 10.9025 11.0562 11.2121 11.3701 11.5304 11.6930Columns 12 through 22 11.8578 12.0250 12.1946 12.3665 12.5408 12.7176 12.8969 13.0788 13.2632 13.4501
8、 13.6398Columns 23 through 24 13.8321 14.0271用 Matlab 软件将计算值与实际人口数进行对比:程序:t=1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005;x=101654 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 115817 119850 121121 1223
9、89 123626 124761 125786 126743 127627 128453 129227 129988 130628;plot(t,x);hold ony=101654 103087 104541 106014 107509 109025 110562 112121 113701 115304 116930 118578 120250 121946 123665 125408 127176 128969 130788 132632 134501 136389 138321 140271;plot(t,y,r*);legend(实际值 ,预测值);hold off xlabel(年
10、份);ylabel(总人口数 );title(模型计算值与实际值对比);grid;6(图一)(三)、结果分析从 1994 年起在较短的一段时间内(1982-1995)用 Malthus 模型计算的值与实际人口数很接近,相对误差均在 1%以下。后面的时期(1995-2005)相对误差较大,并且随着年份的增加计算差值越来越大。这表明此模型能够比较准确地计算短期内人口的数量。但长期来看,任何地区的人口都不可能无限增长,即指数模型不能描述较长时期的人口演变过程。这是因为,人口增长率事实上是不断变化的。排除灾难,战争等特殊时期,一般来说,当人口较少时,增长较快,即增长率较大;人口增加到一定数量以后,增长
11、就会慢下来,即增长率变小。为了使人口预测特别是长期预报更好的符合实际情况,必须修改指数增长模型关于人口增长率是常数的假设。用 Malthus 模型预测人口总量的相对误差程序:t=1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005;x=101654 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 118017 11985
12、0 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130628;7y=101654 103087 104541 106014 107509 109025 110562 112121 113701 115304 116930 118578 120250 121946 123665 125408 127176 128969 130788 132632 134501 136389 138321 140271;z=abs(y-x)./x;plot(t,z);xlabel(年份);ylabel(误差);titl
13、e(计算值与实际值的相对误差);grid;(图二)(四) 、预测程序: t=2005:1:2030;t0=2005;x=13.0628*exp(0.006*(t-t0); x计算结果x =8Columns 1 through 11 13.0628 13.1414 13.2205 13.3001 13.3801 13.4606 13.5416 13.6231 13.7051 13.7876 13.8706Columns 12 through 22 13.9540 14.0380 14.1225 14.2075 14.2930 14.3790 14.4655 14.5526 14.6402 14.
14、7283 14.8169Columns 23 through 26 14.9061 14.9958 15.0860 15.1768表二:全国未来 25 年历年底统计人口数预测值年份/年 2005 2006 2007 2008 2009 2010总人口/万人 130628 131414 132205 133001 133801 134606年份/年 2011 2012 2013 2014 2015 2016总人口/万人 135416 136231 137051 137876 138706 139540年份/年 2017 2018 2019 2020 2021 2022总人口/万人 140380
15、141225 142075 142930 143790 144655年份/年 2023 2024 2025 2026 2026 2028总人口/万人 145526 146402 147283 148169 149061 149958年份/年 2029 2030总人口/万人 150860 1517685.2:模型二 Logistic 曲线预测模型3(一) 、模型的建立假定第 年的人口为 ,人口增长率为 ,则第 年的人口为 0t(0)xrt(5.2.1)1ttr经过简单的数学变换,上面递推公式的通用项可以化为指数形式(5.2.2)0()rtxte假定变量连续,求导得到齐次方程(5.2.3)()dt
16、r9考虑到自然资源、环境条件等因素对人口的增长起阻滞作用,并且随着人口的增加,阻滞作用越大,即人口增长率 为人口总量 的减函数。因此对上式做r()xt出修改,加上一个表征环境约束因子的二次项 ,从而得到二阶 2qBernoulli 式齐次方程 2() ()()1mdxt xtrqxtrt(5.2.4)这里 为约束参数, 表示区域饱和人口即最大人口容量。该方程的初q/mr始条件和饱和条件分别为 。解之得到 Logistic 预测模型0(),()mxttx(5.2.5)0()1)mrtteX(二) 、模型求解用阻滞增长模型计算 1982-2005 年人口数量:Matlab 程序:t=1982 19
17、83 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005;t0=1982;Xm=36;X0=10.1654;r=0.015;y=Xm./(1+(Xm./X0-1)*exp(-r*(t-t0)计算结果y =Columns 1 through 12 10.1654 10.2752 10.3857 10.4969 10.6088 10.7213 10.8346 10.9485 11.0632 11.1784 11.2944 11.41
18、10Columns 13 through 24 11.5282 11.6461 11.7646 11.8837 12.0034 12.1237 12.2446 12.3661 12.4881 12.6108 12.7339 12.8577(三) 、分析:10将计算值与实际值对比:程序:t=1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005;x=101654 103008 104357 105851 10750
19、7 109300 111026 112704 114333 115823 117171 118017 119850 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130628;plot(t,x);hold ony=101654 102752 103857 104969 106088 107213 108346 109485 110632 111784 112944 114110 115282 116461 117646 118837 120034 121237 122446 123661 124881
20、 126108 127339 128577;plot(t,y,r*);legend(实际值 ,预测值);hold off xlabel(年份);ylabel(总人口数 );title(模型计算值与实际值对比);grid;(图三)t=1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005;11x=101654 103008 104357 105851 107507 109300 111026 112704 1143
21、33 115823 117171 118017 119850 121121 122389 123626 124761 125786 126743 127627 128453 129227 129988 130628;y=101654 102752 103857 104969 106088 107213 108346 109485 110632 111784 112944 114110 115282 116461 117646 118837 120034 121237 122446 123661 124881 126108 127339 128577;z=abs(y-x)./x;plot(t,z
22、);xlabel(年份);ylabel(误差);title(计算值与实际值的相对误差);grid;(图四)由图二跟图四对比可知 Logistic 模型对短期预测误差较大,但长期预测的结果比 Malthus 模型更合理。因而可用 Logistic 模型对我国人口进行长期预测。(四) 、预测程序:t=2005:1:2050;t0=2005;x=13.0628*exp(0.006*(t-t0);x计算结果x =12Columns 1 through 11 13.0628 13.1414 13.2205 13.3001 13.3801 13.4606 13.5416 13.6231 13.7051 1
23、3.7876 13.8706Columns 12 through 22 13.9540 14.0380 14.1225 14.2075 14.2930 14.3790 14.4655 14.5526 14.6402 14.7283 14.8169Columns 23 through 33 14.9061 14.9958 15.0860 15.1768 15.2681 15.3600 15.4525 15.5455 15.6390 15.7331 15.8278Columns 34 through 44 15.9231 16.0189 16.1153 16.2123 16.3098 16.408
24、0 16.5067 16.6061 16.7060 16.8065 16.9077Columns 45 through 46 17.0094 17.1118因为 Logistic 模型对长期预测较准确因而取 2030 年-2050 年的预测结果,则预测得未来 25 年-45 年中国的人口总数。时间/年 2031 2032 2033 2034 2035 2036 2037总人口/万人152681 153600 154525 155455 156390 157331 158278时间/年 2038 2039 2040 2014 2042 2043 2044总人口/万人159231 160189 1
25、61153 162123 163098 164080 165067时间/年 2045 2046 2047 2048 2049 2050总人口/万人166061 167060 168065 169077 170094 1711185.3、灰色预测模型4(一) 、模型建立对于那些部分已知部分未知的系统,我们经常会用到灰色预测模型。尽管灰色过程中所显示的现象是随机的、杂乱无章的,但毕竟是有序的、有界的,因此得到的数据集合具备潜在的规律。灰色预测就是利用这种规律建立灰色模型对灰色系统进行预测。由于灰色预测模型应用已经很广泛我们在此只简单说明其原理:13当给定观测数据列 0000123Nxx, ,经一次
26、累加得 1111, ,设 满足一阶常微分方程11dautx当 t= 时 的解为0 10tx( )1100uuttatae对等间隔取样的离散值则为 11(k)aaxkxe经一次累加序列,通过最小二乘法来估计常数 a,u。将 留作初值用,1(1)故将 分别代入方程(9) ,用差分代替微分,可得1123Nx 010123Nxau将 替换为xi.5()2,3.iixi令 则可以写作矩阵形式:00(2)3,TY, 设 U= 所以可得 Y=BU,则该方程的最小二1.()15.(xN|乘估计为 21()TaUByu将估计值 代入得时间相应方程2, i 122aauxkxek14当 kN 时根据该方程得到的预
27、测值。而后进行减运算还原即可得到原方程的拟合值和预测值。至此模型基本建立,同时要进行残差和后验差检验。(二) 、模型求解利用 Matlab 对 GM(1,1)模型进行计算,并预测 20062050 年总人口数可得表六:表六:20062050 年总人口预测年份/年 2006 2007 2008 2009 2010 2011 2012 2013预测人口/亿 13.149 13.217 13.283 13.345 13.404 13.460 13.513 13.564年份/年 2014 2015 2016 2017 2018 2019 2020 2021预测人口/亿 13.613 13.659 13
28、.733 13.744 13.784 13.822 13.858 13.892年份/年 2022 2023 2024 2025 2026 2027 2028 2029预测人口/亿 13.925 13.956 13.985 14.013 14.040 14.066 14.090 14.113年份/年 2030 2031 2032 2033 2034 2035 2036 2037预测人口/亿 14.135 14.156 14.175 14.194 14.212 14.229 14.246 14.261年份/年 2038 2039 2040 2041 2042 2043 2044 2045预测人口/
29、亿 14.276 14.290 14.303 14.316 14.328 14.340 14.350 14.361年份/年 2046 2047 2048 2049 2050预测人口/亿 14.317 14.380 14.389 14.398 14.406对我国 2006 年实际总人口数进行检验性预测,预测值为 13.15 亿而实际值为 13.14 亿,相对误差为 0.03%。可以看出相差不大,证明模型可用。将 1990到 2005 年的预测值与实际值进行误差计算,结果如下表:年份 1990 1991 1992 1993 1994 19945 1996 1997相对误差(%)0 0.0233 0
30、.016 0.1207 0.1001 0.0735 0.0008 0.0857年份 1998 1999 2000 2001 2002 2003 2004 2005相对误差(%)0.1371 0.1399 0.1286 0.0995 0.0568 0.0054 0.0169 0.0107S1=246.99,S2=8.03,C=S2/S1=0.0330.35,这表明该模型的预测精度很高。6.1、对模型的评价6.1.1、优点1)模型一短期预报比较准确。2)模型二借用了 Logistic 人口增长模型,将各种影响人口的因素笼统归纳 到环境限制中,从外部数据着手,避免了批量数据处理,简单易行。3)模型三
31、所需数据较少,计算简单,模型思想已经较为成熟。结果准确度较高。154)所有模型均可编程实现,可以进行大规模的预测。6.1.2、不足1)模型一考虑因素很少,只有总人口数这一项。对于长期预测的结果误差偏差很大。2)模型二我们借用经典 Logistic 人口增长模型,将影响人口发展的各个 因素都归结在环境限制里面,过于笼统3) 模型的预测中很难将我国的特殊国情考虑在内,因此对于长期的预测会有一些偏差。7、参考文献1 周义仓,赫孝良. 数学建模实验M .西安交通大学出版社.2007 209-212.2http:/ 姜启源 谢金星 叶俊 数学模型M 北京:高等教育出版社 2010 9-154灰色预测模型
32、及其应用 ,http:/ 年 8 月 21 日。8、附表灰度预测程序:%y=54.505 57.83 55.79 53.63 50.9 46.3 45.17 44.3 43.56 39.92% h 为向后预测数目function x01,a,b,x11=huidu(x0,h)l=length(x0); xg=ones(1,l); xgn=0;%先不检验,预测后再检验x1=zeros(1,l);x1(1)=x0(1);for i=2:lx1(i)=x1(i-1)+x0(i);endz1=zeros(1,l);for i=2:lz1(i)=0.5*(x1(i)+x1(i-1);endYn=x0(2:l);B=-z1(2:l);ones(1,l-1); %向后预测数目 h h=1;if det(B*B)10-2a=10000; b=0; c=0; x01=10000; x11=10000;else16A=inv(B*B)*B*Yn;a=A(1); b=A(2);end%求出 a,b 后,计算 x1,还原为预测值for i=0:l+hx0k1(i+2)=(x1(1)-b/a)*(exp(-a*(i)-exp(-a*(i-1);endx01(1)=x0(1);x01(2:l)=x0k1(1,3:l+1);x11=x0k1(1,l+2:l+h+1);x11