当前位置:首页 > 中国人口增长预测灰色模型全国数学建模大赛
中
摘要
国人口增长预测
针对题目所提要求,本文以中国人口的实际情况为背景,分析了近年来死亡率和出生率的变化趋势,建立了我国人口增长的短期预测模型;同时结合近年来中国人口发展出现的一些新特点,着重分析了老龄化进程、出生人口性别比、中国人口抚养比和总和生育率等因素对中国人口增长的影响,建立了中长期预测模型,较好地反映出我国人口的增长趋势。
为了对中国人口发展做短期的预测,通过近年来死亡率和出生率的变化趋势,建立GM(1,1)灰色模型,得出出生率和死亡率的短期预测。我们通过分析题目所给数据,提取出有效信息,计算归纳出2001年到2005年的出生率和死亡率,通过建立的模型对出生率和死亡率进行预测,较准确的估计出了人口增长的关键参数。利用公式?k?1??k/(1??k??k)来对短期内的总人数进行预测。建立的人口增长短期预测模型不仅符合中国人口的发展特点,而且简单易用,能在未知总人口数的情况下预测人口的相对发展变化,这一优点使得可以方便且准确的用于预测中国人口短期内的发展趋势。人口总数的短期预测如下:
2006 2007 2008
实际值(万)
131448 132129 132802
预测值
相对误差
??k?
0.218% 0.247% 0.277%
为了对中国人口发展做中长期的预测,考虑到短期模型在预测人口中长期发展中的局限性以及影响人口发展的众多因素的不确定性和它们之间关系的复杂性,我们从附件中提取出城、镇、乡三地人口、男女出生性别比、总和生育率、老龄人口比率等相关数据,对中国未来城、镇、乡三地人口比例、男女出生性别比、总和生育率、老龄人口比率等影响人口发展的主要因素做趋势预测,从而达到了对中国人口全方位的预测。 论文最后对模型的优缺点进行了分析和评价:
? 最主要的优点:将灰色模型用到人口预测中,不仅简单而且能达到比较准确的预测效
果。
? 最主要的缺点:GM(1,1)模型在其使用条件上存在着一定的限制,它使用于呈指数规律
发展变化的系统进行预测。也就是说我们默认了人口的指数增长方式。
关键词:灰色模型 出生率 死亡率 人口预测
一、问题重述
中国是一个人口大国,人口问题始终是制约我国发展的关键因素之一。根据已有数据,运用数学建模的方法,对中国人口做出分析和预测是一个重要问题。
近年来中国的人口发展出现了一些新的特点,例如,老龄化进程加速、出生人口性别比持续升高,以及乡村人口城镇化等因素,这些都影响着中国人口的增长。2007年初发布的《国家人口发展战略研究报告》(附录1) 还做出了进一步的分析。
关于中国人口问题已有多方面的研究,并积累了大量数据资料。附录2就是从《中国人口统计年鉴》上收集到的部分数据。
试从中国的实际情况和人口增长的上述特点出发,参考附录2中的相关数据(也可以搜索相关文献和补充新的数据),建立中国人口增长的数学模型,并由此对中国人口增长的中
短期和长期趋势做出预测;特别要指出你们模型中的优点与不足之处。
二、问题分析
进行了如下的分析:
Step1: 首先,对于中短期的人口预测,我们可以利用公式?k?1??k/(1??k??k)计
算的出。(?i-第i年人口总数,?i-第i年的出生率,?i第i年的死亡率)
Step2: 为了得到上述式子中未知的出生率和死亡率,分别建立模型对其进行预测。 Step3: 对中长期的人口发展趋势的预测,我们发现影响人口发展的因素众多且不确定。例如,
近年来中国人口发展中出现的一些新特点:老龄化进程加速、出生人口性别比持续升高以及乡村人口城镇化等。
Step4: 为了较好的反映出我国人口的增长趋势,我们要兼顾市镇乡人口分布、人口老龄化程
度、人口抚养比、出生人口性别比以及孕龄妇女生育率的影响因素。我们首先对数据进行人口系统结构分析,结合上面的中国人口短期的预测,我们分别建立多变量灰色预测模型GM(1,3),GM(1,4)。
Step5:最后对各因素进行综合考虑分析,得出结论。
三、模型假设
1. 假设附表中给的数据具有普遍意义,能很好的代表总体;
2. 在中长期的人口预测分析中,我们不考虑人口素质、结构、分布问题;
3. 在长期的人口预测分析中,我们假设影响人口增长的因素只有老龄化进程加速、出生人
口性别比持续升高以及乡村人口城镇化。
四、符号设定
?i 第i年中国人口总数 ?i 第i年的出生率 ?i 第i年的死亡率
? 参数向量
B 数据矩阵 Y 数据向量 a 发展系数 u 灰色作用量
五、模型建立与求解
(一)、中短期人口增长趋势分析与预测 模型准备
GM(1,1)模型是关于数列预测的一个变量、一阶微分的灰色预测模型。GM(1,1)模型是基于灰色系统的理论思想,将离散变量连续化,用微分方程代替差分方程,按时间累加后所形成的新的时间序列呈现的规律可用一阶线性微分方程的解来逼近,用生成数序列代替原始时间序列,弱化原始时间序列的随机性,这样可以对变化过程作较长时间的描述,进而建立微分方程形式的模型. 其建模的实质是建立微分方程的系数,将时间序列转化为微分方程,通过灰色微分方程可以建立抽象系统的发展模型。
对于中长期的人口分析与预测,我们建立GM(1,1)模型,对中短期内每年的出生率和死亡率做出预测。则根据第k年的人口总数与第k+1年的人口总数的关系?k?1??k/(1??k??k),就可以求出下一年的人口总数。以此类推,就可以对未来几年的人口总数做出预测。 根据所给的附表,计算出2001年到2005年的出生率和死亡率,见下表:
年份 死亡率 出生率 2001 0.0059342 0.011329 2002 0.0062436 0.010948 2003 0.0060979 0.010661 2004 0.0062232 0.010601 2005 0.0061843 0.009367
5.1 中长期内各年份死亡率的预测 则中国各年份的死亡率序列如下: 5.1.1模型建立及求解
B和数据向量Y
对X(1)做紧邻均值生成. 令Z(1)(k)?0.5x(1)(k)?0.5x(1)(k?1),得
Z(1)?(z(1)(2),z(1)(3),z(1)(4),z(1)(5))?(0.0090560,0.01522675,0.0213873,0.02759105)则数据矩阵
B及数据向量Y为
??z(1)(2)?(1)?z(3)B??(1)??z(4)?(1)???z(5)?a???T?1T?=?u?=(BB)BY ?1???0.0090560??1???0.01522675??1??0.0213873??1????0.027591051?1??, 1??1???0.00085308??=(BTB)?1BTYn=???
0.0062?? a??0.00085308,??0.0062
dx(1)?0.00085308x(1)=0.0062 dt?(1)根据预测公式,计算X(k)
?(1)(k?1)?-7.2653e?0.00085308k + 7.2712 x?(1)(k)X(1)根据预测公式,计算,得
?(1)(k)={0.0059342,0.0121294,0.0183193,0.0245039,0.0306832}(k=1, … ,5) X?(0)(k)X(2)累减生成序列,k=1,2, … ,5
?(1)(1)?x?(0)(1)?x(0)(1)=0.0059342,取k?2,3,4,5, 当k?1时,取x(1)(1)?(0)(k)?x??X(k)?x(k?1)得 由
?(0)?(x?(0)(1),x?(0)(2),x?(0)(3),x?(0)(4),x?(0)(5))?(0.0059342,0.0061952 ,0.0061899,0.0061846,0.0061793)x通过预测,得到实际值与预测值如下表:
2001 2002 2003 2004 2005
实际值
0.0059342 0.0062436 0.0060979 0.0062232 0.0061843
预测值
0.0059342
相对误差
0
??k?
0.0061952 0.0061899 0.0061846 0.0061793
0.775% 1.509% 0.620% 0.081%
因为
??k??10%,那就可得各年份死亡率的预测值,与现实值进行比较得出该模型精度较高,
可进行预测和预报。
我们可以利用此模型对中短期内的死亡率进行预测,具体结果如下表: 年份 2006 2007 2008 2009 2010 出生率 0.0061741 0.0061688 0.0061635 0.0061583 0.006153 ?(1)(1)根据预测公式,计算X(k),得
?(1)(k)={0.0059342,0.0121294,0.0183193,0.0245039,0.0306832}(k=1, … ,5) X?(0)(k)X(2)累减生成序列,k=1,2, … ,5
?(0)?(x?(0)(1),x?(0)(2),x?(0)(3),x?(0)(4),x?(0)(5))?(0.0059342,0.0061952 ,0.0061899,0.0061846,0.0061793)x原始序列:X(0)(k)=(0.0059342,0.0062436,0.0060979,0.0062232,0.0061843)
(3)计算绝对残差和相对残差序列
绝对残差序列:?={0,0.0000484,0.000092,0.0000386,0.000005} 相对残差序列:?={0,0.0078,0.0151,0.0062,0.0008} 相对残差不超过1.51%,模型精确度高。
(1) 计算序列x(0)(0)?与x(0)的绝对残差序列?(0)(k)
?(0)={0,0.0000484,0.000092, 0.0000386,0.000005}
min{?max{?(0)(0)(k) } = min{0,0.0000484,0.000092, 0.0000386,0.000005}= 0
(k) } = max{0,0.0000484,0.000092, 0.0000386,0.000005}= 0.000092
共分享92篇相关文档