资源描述
中国人口增长预测
摘要
本文从中国人口的实际情况和人口增长的特点出发,根据题目和中国统计年鉴中的相关数据,建立了两个关于中国人口增长的数学模型,并对中国人口做出了分析和预测。
模型一:利用中国统计年鉴中 2000—2005 年人口的数据,运用灰色理论的基本原理建立 GM(1,1) 模型。该模型利用离散数据列进行生态处理,建立动态的微分方程,对我国近5年、10年、20年的总人口分别进行了预测。又根据中国人口城乡分布不同且总趋势也不同的特点,把全国人口分为城市人口、城镇人口、乡村人口三部分分别进行灰色预测。结果表明,该模型较好的反映并预测中国人口短中期和长期的变化情况。
模型二:按人口年龄结构特征,将人口分为幼年(0—14岁)男女、中年(15—49岁)男女、老年(50岁以上)男女。各年龄段的人口变化是由出生率、死亡率和转化为其他年龄段的转化人数决定的。根据各年龄段人口数量变化特点,对各年龄段转化人数引入转化因子,改进马尔萨斯模型,附带出生率、死亡率、生育率、出生性别比率等约束条件,建立了新的具有年龄结构的人口增长模型。结合我国人口的特点,运用已知数据和利用微分方程的数值解,预测出男性和女性幼年、中年、老年的人口数量。可反映中国不同年龄结构的人口分布情况。
关键词: 灰色预测;小误差频率;微分方程组;人口模型;转移因子
一.问题重述
中国是一个人口大国,人口问题始终是制约我国发展的关键因素之一。因此人口预测的科学性、准确性是至关重要的。英国人口学家马尔萨斯的人口指数增长模型和荷兰生物学家的Logistic模型都是经典的人口预测模型。但是,影响中国人口的因素较多,人口结构较复杂,这些模型对人口预测很粗略,甚至是不准确的。因此,我们要根据我国具体的人口结构现状(如老龄化进程加速)、人口的分布现状(如乡村人口城镇化)、人口比率现状(如出生人口性别比持续升高)等特点,来较准确、较具体地对中国人口进行预测,建立人口增长的数学模型,由此对中国人口中短期和长期增长趋势做出预测。
另外,由于影响人口因素所起的作用不同,按照重要次序考虑关键部分的因素作用,我们要对模型的优缺点做出说明和评判。
二.问题分析
人口预测方法很多,主要有一元线性回归法、人口自然增长法、马尔萨斯指数增长法、指数平滑法、指数增长法、Logistic法、宋健模型法和GM(1,1) 法等。不同的方法具有不同的适用范围和特点:一元线性回归法适用于数据直线趋势较明显的预测;自然增长率等资料准确可靠时,可采用人口自然增长法或马尔萨斯法;历史数据较少时,可采用指数平滑和移动平均数法;宋健模型法用于短期预测的精度较高;数据情况复杂并暗藏指数规律时可采用GM(1,1) 模型法。
三.模型建立与求解
3.1 模型一:灰色分析与预测模型
灰色系统理论主要应用于灰色控制、灰色分析、灰色预测、灰色规划、灰色决策等方面。灰色系统的一个基本观点是: 一切随机量都看作是在一定范围内变化的灰色量。对灰色量的处置不是找概率分布, 求统计规律, 而是用数据处理即数据生成的方式来找数据间规律。灰色系统理论的核心是GM(1,1) 模型。它是利用离散数据列进行生态处理后所建立的微分方程型的动态模型。
灰色预测
GM(Gery Model) 模型是进行系统动态分析和预测的模型, 模型推理主要可归纳为:
(1) 灰色系统理论基于关联空间概念及光滑离散函数的性质, 定义了灰导数, 灰微分方程, 从而建立灰微分方程模型;
(2) GM(1,1)模型对原始数据列采用生成的数据处理方法, 获得随机弱化, 规律性强化的生成数列,所以GM 模型是生态数据模型;
(3) GM(1,1)模型的检验方法有: 残差检验、关联度检验和后验差检验;
(4) 应用GM(1,1)模型进行预测所获得的数据,需要逆生成还原后才能使用。
GM(1,1)模型预测方法
(1) 设原始时间数据序列如下:
:……
(2) 作的一次累加,得到,
:
(3)构造B 矩阵, B 为均值生成数据矩阵,
(4)构造数据向量 Y。 向量 Y 为原始数据向量。
(5)辨识微分方程参数。白化形式的微分方程为:
式中的u,a为待估计的参数,可由以下方法求得:
计算A 向量
a 和u 组成的参数向量A 可由最小二乘法进行辩识。
(6) 建立GM(1,1)模型
其中 。
(7) 模型精度的检验
a. 后验差检验
预测(拟合) 的精度用后验差方法检验。
设原始数据的均值为
则方差为
又设拟合的残差为
;
其残差的均值为
;
则残差的方差为
;
后验差比例C为:
小误差频率P为:
检验标准见表1。
表1 模型检验标准
b. 残差大小检验:对模型值和实际值的误差进行逐点检验,是一种直观的逐点进行比较的算术检验。
定义残差 ,则残差序列 ,定义,平均模型相对误差为,给定α,当△<α成立时,称模型为残差合格模型。
c. 关联度检验:通过考察模型曲线与建模序列曲线的相似程度进行检验,属几何检验。的关联度为:
关联度,若对于给定的 ,有 ,则称模型为关联度合格模型。
(8) 预测。设需要预测的时段为T,用GM求出和,则 。
3.2 模型一求解
3.2.1 用灰色理论对中国一定时期的总人口数进行分析并作预测。
(1)首先选择2001年——2005年的数据
={ 127627, 128453, 129227, 129988, 130756}
(2)作的一次累加得到
={ 127627,256080,385307,515295,646051}
(3)构造矩阵B
B=,
(4)构造向量Y
Y={128453, 129227, 129988, 130756}
(5)识别微分方程参数,计算向量A
=
(6) 建立GM(1,1)模型,利用
得
=
利用求得
=
(7)选用后验差检验进行模型精度检验。得
参照表1,该结果符合模型检验标准,精确度好,用该模型对选择数据进行分析处理是可行的。
(8)作预测。设需要预测的时段为T,用GM求出和,则
。
用直接求出的值偏差会增大,我们将预测得到的结果加到实际值中,通过比较这样做预测的结果更好。
选择2001年~2005年人口总量数据, 模型精度P =1.000000, C=0.003558。
图1 2001~2005年的人口和预测值比较
通过图像及所得数据可以看出,预测效果很好。但数据比较少,用来做长期预测将因缺少参照使预测无意义。为此选用1978-2005年的数据做分析和预测。
选择1978年-2005年人口数据, 模型精度P=0.950000,C=0.298935,参照模型精度标准,该结果是合理的。预测5年,10年,20年的结果见图2,图3,图4。
图2 预测5年时间的人口和实际数据比较
图3 预测10年内的人口和实际数据比较
图4 预测20年的人口数和实际数据比较
分析数据来自《中国统计年鉴——2006》,从历史数据及预测数据图可以看出,中国总人口有螺旋型盘旋向上发展的趋势,该模型的预测值正好处在螺旋的中心线处,并且该螺旋线的中心线距离并不大,因此用该模型做中短期预测是可行的,做长期预测的结果也可以供参考。
3.2.2 用灰色理论对中国一定时期的城镇人口数进行分析并作预测。
选用2001年-2005年,1989年-2005年两个时期的人口做5年期预测,其预测精度分别为:
第一个时期:P=1.000000, C=0.031286
第二个时期:P=1.000000, C=0.140279
两个精度都满足灰色预测精度标准。
其结果分别如图5,图6所示
图5 用2001年-2005年数据对城镇人口做5年预测
图6 用1989年-2005年数据对城镇人口做5年预测
3.2.3 对中国一定时期的乡村人口数进行分析并作预测。
选用与城镇人口一样的两个时期对乡村人口做分析预测,预测精度分别为:
第一个时期:P=1.000000, C= 0.027923
第二个时期:P=0.550000, C=0.777750
从精度上就可以做判断,第二个时期是不满足要求的,综合较长的时期对农村人口已经不能起指导作用了。但通过图象可以发现存在的问题,分别如图7,图8所示:
图7 用2001年-2005年数据对乡村人口做5年预测
图8 用1989年-2005年数据对乡村人口做5年预测
从两图可看出,中国乡村人口是呈现下降趋势的,这与中国的城镇化建设有很大关系,同时随着GDP的增长,人民生活水平的提高以及近几年新农村建设的推进都将直接或一定程度上影响乡村人口总数。图8所示在1990中国乡村出现了大转变,用该模型直接分析预测1989年以来的人口数据是不合适的,观察发现,如果将1990年前后分为两段,而由灰色预测的特点,只选取近期的人口数据(即90年以后数据)即可。1990年-2005年中国乡村人口分析灰色分析的精度为:
P=1.000000, C=0.076164
结果符合模型精度标准,做中短期预测效果相当好,根据图象分析,在较短的一端时间内,尽管农村的生育率相对高些,由于在农村人口城市化的过程中,农村人数会有减少的趋势。根据流动人口的政策当农村城市一体化之后,农村的人口会达到稳定,或者减少的幅度会适当的缩小。原始数据预测数据图象如图9。
图9 用1995年-2005年数据对乡村人口做5年预测
预测人口的结果数据列表:
表2
总人口(2001-2005年)预测5年
原始值
127627 128453 129227 129988 130756
预测值
127627 1.284574e+005 1.292199e+005 1.299868e+005 1.307584e+005
1.315345e+005 1.323144e+005 1.330988e+005 1.338875e+005 1.346806e+005
表3
总人口1989-2005年预测5年
原始值
112704 114333 115823 117171 118517
119850 121121 122389 123626 124761
125786 126743 127627 128453 129227
129988 130756
预测值
112704 1.154836e+005 1.165101e+005 1.175457e+005 1.185904e+005
1.196445e+005 1.207080e+005 1.217809e+005 1.228633e+005 1.239554e+005
1.250571e+005 1.261687e+005 1.272901e+005 1.284216e+005 1.295630e+005
1.307146e+005 1.318765e+005 1.330486e+005 1.342302e+005 1.354220e+005
1.366242e+005 1.378368e+005
表4
总人口1989-2005年预测10年
原始值
112704 114333 115823 117171 118517
119850 121121 122389 123626 124761
125786 126743 127627 128453 129227
129988 130756
预测值
112704 1.154836e+005 1.165101e+005 1.175457e+005 1.185904e+005
1.196445e+005 1.207080e+005 1.217809e+005 1.228633e+005 1.239554e+005
1.250571e+005 1.261687e+005 1.272901e+005 1.284216e+005 1.295630e+005
1.307146e+005 1.318765e+005 1.330486e+005 1.342302e+005 1.354220e+005
1.366242e+005 1.378368e+005 1.390601e+005 1.402940e+005 1.415386e+005
1.427941e+005 1.440606e+005
3.3模型一结果分析
3.3.1 用灰色理论对中国一定时期的总人口数进行分析并作预测。
选择2001年-2005年人口总量数据, 预测效果很好。但数据太少,用来做长期预测将因缺少参照使预测无意义。由图一,经分析未来5年我国人口总数呈上升趋势。由灰色理论根据中国年鉴统计人口数据预测到2010年中国人口总数达到13.468亿。这个值是符合实际的。
选择1989年-2005年人口总量数据,参照模型精度标准,该组数据精度是很好的。同样方法预测5年(2006年-2010年)的中国人口总数。到2010年中国人口总数达到13.690亿。这个值也是符合实际的。
10年(2006年-2016年)、20年(2006年—2026年)总人口数预测结果都较符合实际。
分析数据来自《中国统计年鉴—2006》是比较权威的,从历史数据的实际及预测数据图可以看出,中国总人口有螺旋型盘旋向上发展的趋势,该模型的预测值正好处在螺旋的中心线处,并且该螺旋线的中心线距离并不大,因此用该模型做中短期预测是可行的,做长期预测的结果也可以供参考。
3.3.2 用灰色理论对中国一定时期的城镇人口数进行分析并作预测。
选用2001年-2005年统计年鉴中城镇人口数据,其精度达到灰色预测较好值,做5年(2006年-2010年)城镇人口数据预测精度较好,
选用1978年-2005年统计年鉴中城镇人口数据,其精度达到灰色预测较好值,做5年期(2006年-2010年)城镇人口数据预测精度较好,
3.3.3 对中国一定时期的乡村人口数进行分析并作预测。
选用2001年-2005年统计年鉴中乡村人口数据时,通过灰色预测值与实际值吻合较好,且总人口呈下降趋势,其中的因素可以认为是有农村往城镇的流动人口造成的。预测了5年(2006年-2010年)乡村人口数据。乡村人口数据预测精度较好。
考虑了出生率、人口结构、人口分布,建立模型二对今后人口进行详细预测。
3.4 模型二分析
人口增长的速度受到出生率、死亡率的影响,随着生活水平的提高死亡率大大减小,又因为中国的人口基数大,所以增长的人数是在不断增大,由于中国占世界四分之一的人口,所以中国的人口对世界影响是巨大的,有限的环境、空间和资源都要求我们对人口的数量控制,人口素质和质量的问题在对整体的把握上我们在以下的分析中会有所涉及。
我们着重对人口数量的各个因素考虑综合解决人口问题的预测和控制问题,由于男女出生比例,出生率和死亡率对人口的增长规模都有影响,老龄化的增长对人口的稳定发展起消极作用,人口的年龄结构对人口和经济发展以及资源利用甚至可持续发展起到不同的作用,这些因素综合考虑在内对人口数量建立以下的模型:
3.5模型二假设
1.假设农村人口、城市人口和城镇人口之间的出生率不影响所统计的数据。
2.假设育龄期男女比例对出生率影响不大。
3.6模型二建立
Malthus人口增长模型
在描述人口增长方面,仅考虑了出生率和死亡率两个因素。它预测人口数量随时间按照指数增长。当人口数量不大时,马氏模型在一定程度上反应了人口增长规律,但当人口数量较大时,马氏模型出现了较大偏差。
后来,逻辑斯蒂发现了改进的人口增长模型
Logistic人口增长模型是具有广泛应用的生物种群模型,可以用于物种竞争,产品销售,及未来人口的预测。事实上,人口增长受到多种因素的影响。就出生率和死亡率来讲,都受到很多因素如:婴儿死亡率,具有生育能力人群的比例及他们的死亡率,婴儿出生性别比,还包括人们对生育的态度卫生环境条件等等。因此,试着建立一个能比较综合反应人口增长的数学模型,来描述中国的人口增长并根据模型的实用性做出中短期长期的预测。
为简便,先建立增长率为线性的增长模型,
其中为男性人口,为女性人口,,分别为男性人口,女性人口的比例因子。
;
;
由于处在育龄期的人群比重对人口总数影响较大。我们将人口分幼年、中年和老年。划分标准:按照0—14岁为幼年期,15—64岁为劳动年龄,65岁以上作为老龄化的三个结构。(说明:按照生育率这个影响因素,在15—49岁的女性处在育龄期,刚好处在劳动年龄这一区间中。在讨论老龄化问题的时候年龄界定在65岁以上,如果在模型中将中年年龄限制在15—49岁,会有50—64岁这个年龄区间的空缺,但如果把这一年龄段单独拿出来讨论会增加模型的复杂性,所以把50—64岁人群的年龄划到中年年龄段里作为劳动年龄来分析,这样设对模型的求解和整体预测做到宏观的指导作用。
年龄动态变化的因素,时刻都有新生儿的出现,不停地从幼年到劳动年龄的转化以及从劳动年龄转化为老年人群的改变,在各个年龄组都会有死亡现象的发生,威胁着全中国的人口数量。
幼年期的男孩人口数跟男婴的出生率、男女出生比例、向中年男性转化率以及幼年的死亡率有关;劳动年龄的男性是由幼年男性转化来还有劳动年龄死亡率影响,还有一部分向老年过渡;老年时期的人群在理想假设的条件下,只有去世的和劳动年龄的人群转化来的,构成这样的动态变化的年龄体系。女性的年龄结构可以类似地推理分析。对各个年龄段内的男女比例都考虑在内,尤其是15~49岁年龄男女比例对生育率的作用是非常敏感的,这样就比较能精确地分析。
针对人口总数问题,我们建立以下六个微分方程:
; (1)
; (2)
; (3)
; (4)
; (5)
。 (6)
方程式中的符号说明:
:男性人口总数;
:女性人口总数;
:男性幼年的人口数,即男性岁的人口数;
:女性幼年的人口数,即女性岁的人口数;
:男性劳动年龄的人口数,即男性岁的人口数;
:女性劳动能力的人口数,几女性岁的人口数;
:男性老年人口数,即男性岁以上的人口数;
:女性老年人口数,即女性岁以上的人口数;
:生育率;
:性别比例;
:男性幼年时期的死亡率;
:男性劳动年领时期的死亡率;
:男性老年人的死亡率;
:男性从幼年时期到劳动年龄的转化率;
:男性从劳动年龄到老年时期的转化率;
:女性幼年时期的死亡率;
:女性劳动年龄时期的死亡率;
:女性老年人的死亡率;
:女性从幼年时期到劳动年龄的转化率;
:女性从劳动年龄到老年时期的转化率;
由于附件2所给表格中的数据为抽样调查数据,所以不足以衡量人口的增长变化和幅度范围,只能从男女比例和死亡率上面说明问题。同时,数据中的死亡率是各个年龄都分布的,对统计和计算都极为不利,需要划分年龄组或者年龄阶段来分析,根据模型的需要,我们从中国统计年鉴中分别找出2001—2006年的统计数据,分析这几年的男、女出生率和各个年龄阶段的死亡率,而幼年往劳动年龄的转化率和从劳动年龄到老年期的转化率是从各个阶段人数变化中比较推理出来的。选择出合理的初始数值,解微分方程得出数据验证现在的人口并且预测短中期和较长时期的人口数量。
在决定后几个变量的过程中综合考虑,对以下各种因素加以说明:
1. 年鉴中的人口数及构成提供了总人数和男女人口数和男女比例;
2. 人口出生率、死亡率和自然增长率所能提供有用的信息是全年统计的,出生率可以直接采用,死亡率是全年全国统计范围的,对我们分各个年龄阶段研究没有帮助;
3. 在按照年龄和性别分人口数表格中发现的是年龄层次为5岁一个层次的统计数据,然后整理成分幼年(0—14岁)、劳动年龄(15—64岁)和老年时期(65岁以上)的数据加以利用;
4. 由于不同年份统计人口调查数据采取的抽样比不同,我们经过处理变为同一比例运用到程序当中;
5. 在2002年整理的数据中,按照年龄和性别分人口数做的是2000年全国第五次人口普查的数据,给采集2001年数据带来了很大的不便,充分考虑到模型的实用性,我们补充了所有的数据进行研究。
3.7 模型二求解
选用Matlab7.0求解该微分方程组。试着求出该方程的解析解,但是由于方程的解不能直观的表示出来,因此我们选择微分方程的数值求解方法来求解微分方程组,取自变量的初始值终止值分别为0,6,做短期的预测。
模型求解及数据处理过程:
人口总数如图21
图21 人口总数变化情况
人口在1.5e+9范围内停留时间较长,但是随后人口呈现直线增长趋势,再看看各个年龄结构的变化情况,男性人口情况如图22,女性人口如图23
图22 男性人口变化情况 图23 女性人口变化情况
图22中星号表示未成年男性,方框表示成年男性,点表示老年男性。图23中加号表示未成年女性,圆圈表示成年女性,虚线表示老年女性。从图24还可以看出
图24 幼年、中年、老年男、女的人口数
开始阶段男性未成年人口数量高于成年女性人口数量,随后会低于女性的;开始阶段老年人女性人口数量高于男性,随后男性人口数高于女性人口数。这种不平衡会逐渐增加,到一定时候才减缓。
四.模型评价
4.1 模型一评价
模型优点:
1. 灰色模型所需的信息较少,易于操作,精度较高,能较好地反映系统的实际状况。
2. 检验有多种方式可以选择。
模型缺点:
1. 对于中国这种复杂的人口结构特征,灰色模型只能对人口总趋势预测。
2. 灰色模型直接用于短中期预测效果很好,用于中长期预测时需要更新A值才能得到理想的结果。
4.2 模型二评价
模型优点:
1. 跳出了传统的针对人口总数的建摸方法。建立了反映人口总数与内部结构关系的数学模型,从出生率与死亡率、性别比例、年龄结构、年龄结构之间的转化率等方面确定人口总数。
2.能根据中国实际情况改进Malthus模型,切合实际,预测更精确。
模型缺点:
1.模型采用微分方程,较难求出解析解,通常用初值解出数值解预测短中期和长期的人口数量。
2.模型中涉及的系数较多,模型系数较难确定,各个系数的取值都会对结果造成影响。
五.模型进一步分析与改进
模型一对人口总数的趋势预测较为准确,而模型二对人口内部结构数量预测较为具体,我们在做预测时,可以结合这两模型的优点去对中国人口进行全面预测。
下面可对模型二做进一步改进:
模型二中的微分方程(1)…(6)
…
中的参数…都是常数,在改进是可考虑为与时间有关的参变量。微分方程右端的线性关系函数还可考虑为非线性关系式,这样预测人口更能准确地描述人口结构内部的相互关系和变化情况。
六.参考文献
[1] 常淑玲,基于EXCEL建立人口灰色预测模型的研究,安徽农业科学, 2007,35(9): 2825-2826。
[2] 唐 芸,秦秀华,苏杰南,一种简易预测模型的应用,林业调查规划, 27(2): 2-3,2002年6月。
[3] 马宾,《中国人口控制:实践与对策》,中国国际广播出版社,1990年3月。
[4] 中华人民共和国国家统计局,
[5]李强,《应用社会学》,北京:中国人民大学出版社,1995年11月.
[6] 童星,《发展社会学与中国现代化》,北京:社会科学文献出版社,2005年5月。
[7]中国21世纪议程管理中心,中国21世纪人口、环境与发展白皮书, 2007年9月22日。
附件一
模型一程序
% 灰度预测
clear
clc
% 总人口
X=[127627 128453 129227 129988 130756];shidai=2001;
% X=[112704 114333 115823 117171 118517 119850 121121 122389 ...
% 123626 124761 125786 126743 127627 128453 129227 129988 130756];shidai=1989;
% % ---------------------------------------------------------------------
% 城镇人口
% X=[48064 50212 52376 54283 56212];shidai=2001;
% X=[29540 30195 31203 32175 33173 34169 35174 ...
% 37304 39449 41608 43748 45906 48064 50212 52376 54283 56212];shidai=1989;
% ---------------------------------------------------------------------
% % 乡村人口
% X=[79563 78241 76851 75705 74544];shidai=2001;
% X=[85947 85085 84177 83153 82038 80837 79563 78241 76851 75705 74544];shidai=1995; %第1995_2005,因为有几年数据没有
X=[83164 84138 84620 84996 85344 ...
85681 85947 85085 84177 83153 82038 80837 79563 78241 76851 75705 74544];shidai=1978;
X0=X;
n=length(X);
X1=cumsum(X);
for w=1:n-1%求B
B(w,1)=-0.5*(X1(w)+X1(w+1));
B(w,2)=1;
end
%求Y
Y=X(2:n)';
%求A& a,u
A=inv(B'*B)*B'*Y;
a=A(1);u=A(2);
% 建立G(1,1)模型
X_=length(X);
X1_(1)=X(1);
X_(1)=X(1);
for k=2:n%预测的累加值
X1_(k)=(X(1)-u/a)*exp(-a*(k-1))+u/a;
end
[X1',X1_'];
% X1_
for k=2:k%预测值
X_(k)=X1_(k)-X1_(k-1);
end
[X',X_'];
% 模型效果检验
X_mean=mean(X);%原始数据的均值
S1_2=var(X);%原始数据方差
e=X-X_;%拟合残差
e_mean=mean(e);%残差均值
S2_2=var(e);%残差方差
C=sqrt(S2_2/S1_2);
%小误差频率
P=length(find(abs(e-e_mean)<0.6745*sqrt(S1_2)))/length(e);
fprintf('\n模型检验标准\n')
fprintf('模型精度---P---C')
fprintf('\n好 >0.95 <0.35\n合格 >0.8 <0.5\n勉强 >0.7 <0.65\n不合格 <=0.7 >=0.65\n')
fprintf('\n模型精度---P---C\n%f, %f\n',P, C)
% 做中长期预测
TM=5;
for k=(n+1):(n+TM)
X1_(k)=(X(1)-u/a)*exp(-a*(k-1))+u/a; %预测累加和
X_(k)=X1_(k)-X1_(k-1);
X(k)=X_(k);%预测值加到原始值上参加运算
X1(k)=X1(k-1)+X(k);
n=length(X);
for w=1:n-1%求B
B(w,1)=-0.5*(X1(w)+X1(w+1));
B(w,2)=1;
end
%求Y
Y=X(2:n)';
%求A& a,u
A=inv(B'*B)*B'*Y;
a=A(1);u=A(2);
end
fprintf('\n原始值\n')
X0;
fprintf('\n')
fprintf('%d ',X0)
fprintf('\n')
fprintf('\n预测值\n')
fprintf('\n')
fprintf('%d ',X_)
fprintf('\n')
X_;
plot(shidai:(shidai+length(X0)-1),X0,'*',shidai:(shidai+length(X_)-1),X_,'o')
title('原始数据与预测数据')
xlabel('时间(年)')
ylabel('人口(万)')
legend('原始数据','预测数据')
clear
模型二程序
clear
clc
[T,Y]=ode45('moxing1',[0,10],[1242612226 151296641 368731331 12243362 133230953 349700856 119404448])
plot(T,Y(:,2),'r*',T,Y(:,3),'g-d',T,Y(:,4),'b.',T,Y(:,5),'r+',T,Y(:,6),'g:O',T,Y(:,7),'b-.')
figure
plot(T,Y(:,2),'r*',T,Y(:,3),'g-d',T,Y(:,4),'b.')
figure
plot(T,Y(:,5),'r+',T,Y(:,6),'g:o',T,Y(:,7),'b-.')
figure
plot(T,Y(:,1),'Rx')
function dy=moxing1(t,y)
% k1=0.0000015887;
% k2=0.0000015887;
k1=0.0116;
k2=0.0116;
xb1=0.06894714; xb2=0.06485286;
a11=0.002133333; a12=0.77067374422794; a13=0.06894714;
a21=0.002075714; a22=0.33052442463205;
a31=0.1233809;
b11=0.002055; b12=0.24001008723406; b13=0.06485286;
b21=0.001208571; b22=0.08215464402114;
b31=0.1162227;
dy=zeros(7,1);
dy(1)=k1*(y(2)+y(3)+y(4))+k2*(y(5)+y(6)+y(7));
dy(2)=-a11*y(2)-a12*y(2)+b13*xb1*y(6);
dy(3)=-a21*y(3)+a12*y(2)-a22*y(3);
dy(4)=-a31*y(4)+a22*y(3);
dy(5)=-b11*y(5)-b12*y(5)+b13*xb2*y(6);
dy(6)=-b21*y(6)+b12*y(5)-b22*y(6);
dy(7)=-b31*y(7)+b22*y(6);
模型二计算转化参数的程序
clear
clc
zr2000=1242612226;
zr2001=1267454828;
r2000=[151296641 368731331 12243362 133230953 349700856 119404448];
r2001=[151508826 362691588 132607476 133868120 352525441 134256490];
xb=51.53/48.47;%=1.06313183412420
nvshengbi=0.06485286;
nanshengbi=0.06894714;
rnan(1,:)=r2000(1:3);
rnan(2,:)=r2001(1:3);
rnv(1,:)=r2000(4:6);
rnv(2,:)=r2001(4:6);
rnan;
rnv;
fprintf('\n男性转化比例\n')
% 男性
laosi=0.1233809;%老年死亡率
zhsi=0.002075714;%中年死亡率
ren=rnan;
% ren(2,3)=ren(1,3)*(1-laosi)+zh2lao;
zh2lao=ren(2,3)-ren(1,3)*(1-laosi);
% ren(2,2)=ren(1,2)*(1-zhsi)+sh2zh-zh2lao;
sh2zh=ren(2,2)-ren(1,2)*(1-zhsi)+zh2lao;
sh2zh_bi=sh2zh/ren(1,1)
zh2lao_bi=zh2lao/ren(1,2)
fprintf('\n女性转化比例\n')
% 女性
laosi=0.1162227;%老年死亡率
zhsi=0.001208571;%中年死亡率
ren=rnv;
% ren(2,3)=ren(1,3)*(1-laosi)+zh2lao;
zh2lao=ren(2,3)-ren(1,3)*(1-laosi);
% ren(2,2)=ren(1,2)*(1-zhsi)+sh2zh-zh2lao;
sh2zh=ren(2,2)-ren(1,2)*(1-zhsi)+zh2lao;
sh
展开阅读全文