注意到dr1?dt,就可得到
?p?r??p?t??u(r,t)p(r,t) (1)
这是人口密度函数p(r,t)的一阶偏微分方程。 其中,p(r,0)?p0(r),称为初始密度函数;
p(0,t)?f(t):表示t时刻单位时间出生的婴儿数,称为婴儿出生率。
方程及定解条件写作:
??p?p??r??t??u(r,t)p(r,t)? (2) p(r,0)?p0(r)??p(0,t)?f(t)??
p0(r)的具体数值可由人口调查资料得到,但函数解析式未知,需要构造出来;
f(t)则对预测和控制人口起着重要作用,同样需要构造出它的函数解析式。
该方程的求解较为复杂,很难得出p(r,t)的解析解。在社会安定的局面下和不太长的时间内,死亡率大致与时间无关,于是可近似地假设u(r,t)?u(r) 由特征线法可得解为:
???u(s)ds?p0(r?t)er?tp(r,t)??r?u(s)ds??f(t?r)e0?r0?t?rt?r (3)
为了得到人口密度函数p(r,t)的解析解,我们需要对如下函数作出相应的参数估计,得到如下函数针对于中国人口情况的解析式,从而建立起中国人口增长连续模型。
(1)死亡率u(r)的参数估计
前面假设在短时期内死亡率函数u(r)不依赖于时刻t,且在稳定社会中成立。根据2001年—2005年年龄从0到90+死亡率的数据利用MATLAB7.0.1绘出五年内的各年龄死亡率的原始数据曲线(见图1)。
4
3002502001501005000102030405060708090 图1 2001-2005年年龄为0-90+死亡率(‰)
由图1,我们发现2001年-2005年五条死亡率原始数据曲线基本相同,即u(r)与t无关,为此我们对五条数据曲线取算术平均值,得到死亡率u(r)对应于
r?0,1,2?90的具体数值。进而我们采用Logit函数进行曲线拟合,该函数模型
1为:
u(r)?1?ea?br
为了知道Logit函数对于死亡率数据曲线的拟合优劣程度,我们对拟合函数Logit函数利用MATLAB中的regress命令进行了统计回归分析,步骤如下: 首先,我们对函数u(r)?y?ln[1u(r)11?ea?br进行标准化处理:
?1]?a?br
其次,利用regress命令进行统计回归分析,得到回归系数的估计值a、b以及
检验统计量R2、F、p的结果,如下表;同时绘出函数曲线图(见图2)
表2 回归系数和检验统计量
回归系数 检验统计量 a b R2 F p 8.3652 0.0683 0.8758 627.3816 0.0000 由图2可知原始数据曲线与Logit函数曲线差异明显,且由表1可知,F值远
5
远超过F检验的临界值,p?0.0000远小于置信水平?(??0.05),只有
R2?0.8758说明因变量y?ln[1u(r)?1]的87.58%可由统计回归模型确定,确定性
还不够充分。为此我们对Logit函数模型进行了改进,改进后的Logit函数模型为:
u(r)?1?e1a?br?cr2
改进后的Logit函数模型与前面的Logit函数模型处理方法相同: 首先,我们对函数u(r)? y?ln[1u(r)11?ea?br进行标准化处理
2?1]?a?br?cr
其次,利用regress命令进行统计回归分析,得到回归系数的估计值a、b以及检验统计量R2、F、p的结果,见表2;同时绘出改进后的Logit函数曲线图(见图3)
表2 回归系数和检验统计量
a 回归系数 b c 2R 检验统计量 0.25F p 7.1912 -0.0108 0.0009 0.9558 951.4919 0.0000 0.250.20.20.15 0.10.150.1 0.05 00 1020304050607080900.0500102030405060708090图2 Logit函数的死亡率曲线图 图3 改进的Logit函数的死亡率曲线图
6
由图3可知原始数据曲线与改进的Logit函数曲线基本相同,且由表1可知,F值远远超过F检验的临界值,p?0.0000远小于置信水平?(??0.05),
R2?0.9558说明因变量y?ln[1u(r)?1]的95.58%可由统计回归模型确定,因此死
亡率可表示为
u(r)?1?e17.1912?0.0108r?0.0009r2
(2) 人口初始密度函数p0(r)的参数估计
首先我们根据2001年—2005年年龄为0—90+的人口密度值,利用MATLAB绘出 原始数据曲线,见图4。
3000250020001500100050000102030405060708090 图4 2001年—2005年年龄为0—90+的人口密度原始数据曲线
观察图4可知,5年的5条原始数据曲线基本相同,但由于图形并不是某些基本曲线的形式,且我们并不需要利用人口初始密度函数p0(r)进行预测,我们的目的只是要找到其曲线形式尽可能逼近原始数据曲线的函数,考虑到任何形式的函数都可以进行泰勒展开,故我们利用高次多项式对5条原始数据曲线分别进行拟合。拟合的多项式函数为:p0(r)?a16r16?a15r15??a2r2?a1r?a0
我们利用MATLAB绘出2001年—2005年的5条十六次多项式曲线,见图5—图9。
7
2500 3000200030002500 0 10203040506070809020001500150010001000500500000102030405060708090图5 2001年拟合的人口密度函数曲线 图6 2002年拟合的人口密度函数曲线 2500300030002500 2000 1000 1500500200015001000 500001020304050607080900102030405060708090 图7 2003年拟合的人口密度函数曲线 图8 2004年拟合的人口密度函数曲线
0
30002500200015001000500 00102030405060708090
图9 2005年拟合的人口密度函数曲线 8