人口演化的研究
问题的提出
? 人口的增长情况是当前世界引起普遍关注的问题,
早在 18世纪人们就开始进行人口预报工作了。
? 20世纪 90年代,我们经常可以在报刊上看见关于
人口增长的预报,说到 20世纪末,或 21世纪中叶,
全世界(或某地区)的人口将达到多少多少亿。
这些人口预报的数值是从哪里来的?准确不准确?
? 你能不能对当地人口数目的演化进行一下估算?
问题的分析
? 从整体来说,人口的变化由两个因素决定:出生
和死亡。出生使得人口增加,死亡使得人口减少。
? 对于局部地区来说,除了出生和死亡外,影响人
口的变化还有两个因素:迁入和迁出。迁入使得
局部人口增加,迁出使得局部人口减少。
? 在迁入、迁出人口的差别不大时,人口的变化主
要由出生率和死亡率决定。
? 根据上面的分析,我们不难建立起人口演化模型。
等比数列模型 分析
? 要预报未来若干年的人口,最重要的影响因素自
然是当年的人口和以后这些年的增长率(即人口
出生率减去死亡率),根据这两个数据进行人口
预报是十分容易的。
? 例如根据国家统计局 1990年 10月 30日发表的公报,
1990年 7月 1日我国人口总数为 11.6亿,过去 8年
的平均年增长率为 14.8‰ 。如果以后的年增长率
保持这个数字,那么容易算出 1年后我国人口为
? 11.6× ( 1+ 0.0148)= 11.77(亿),
? 10年后即 2000年将为
? 11.6× ( 1+ 0.0148) ^10= 13.44(亿)。
? 这种算法用式子表示也十分简单。
等比数列模型 模型
? 记当年人口为 x0,k年后人口为 xk,年增长率为 r,
则递推公式为
? x k+1 = x k ( 1+ r ) (1)
? 而相应的通项公式,即预报公式为
? x k = x 0 (1+r)^ k (2)
? 上面的公式给出了人口演化的一个简单模型。
? 从数学上说,(2)式表示一个等比数列的通项公式,
上述模型又可以称为等比数列模型。
等比数列模型 检验
? 上面的模型是否正确?我们需要实践检验。
? 经检验,由 (2)式给出的模型与 19世纪以前欧洲一
些地区的人口统计数据可以很好地吻合。这说明
了等比数列模型基本上是合理的。
? 然而当人们用 19世纪以后许多国家的人口统计资
料与等比数列模型相比较时,却发现了相当大的
差异。
? 例如,根据统计资料,1790年与 1800年美国的实
际人口分别为 x0 = 3.9 和 x1 = 5.3 (百万人 ),由此
可以推算出 1790年到 1800年的增长率为
? r = (x 1 - x 0 ) / x 0 (3)
等比数列模型 检验
? 为了方便,我们取 10年为时间单位,假定每 10年
的人口增长率 r = 35.9 % 保持不变,由等比数列
模型可以推算出美国 19世纪,20世纪的人口预报
数。
? 下表列出了美国 19世纪,20世纪的实际人口统计
数据与这个模型的比较结果 (单位为百万人 )。
? 实际人口统计数据与理论模型预报结果的比较:
? 由表中的数据容易看出等比数列模型的预报结果
远远超过了实际人口的增长,误差最高的时候达
到了 480%,这样的结果是绝对不能接受的。。
等比数列模型 误差分析
? 引起这么大的误差的原因究竟是什么呢?
? 因为在等比数列模型中人口增长是按指数的形式
变化的,因此人口增长率是个关键参数,必须认
真分析。
? 下面让我们来看看每 10年的 实际人口增长率与理
论增长率的情况,
? 上图说明造成人口预报有巨大误差的根源是等比
数列模型对每 10年人口的增长率估计不当。这个
事实对 r 是常数的基本假设提出了异议。
? 为了得到较准确的结果,我们需要对等比数列模
型进行修正。
阻滞增长模型 分析
? 根据表中给出的数据,容易看出美国人口
每 10年的实际增长率随着人口的增加而逐
渐下降,并不是一个常数。
? 人们还发现,在地广人稀的加拿大领土上,
法国移民后代的人口比较符合指数增长模
型,而同一血统的法国本土居民人口的增
长却远低于这个模型。为什么会出现这种
现象?
阻滞增长模型 分析
? 为什么会出现这种现象?
? 产生上述现象的主要原因是,随着人口的增加,
自然资源、环境条件等因素对人口继续增长的阻
滞作用越来越显著。
? 当人口较少时(相对于资源而言),人口增长率
变化不大,通常可以近似地看作常数。
? 当人口增加到一定数量后,由于资源的限制,增
长率就会随着人口的继续增加而逐渐减少,再也
不能作为常数处理了。
? 许多国家人口增长的实际情况完全证实了这点。
阻滞增长模型 建立
? 由此看来,考虑到资源的限制后,必须修改等比
数列模型关于人口增长率是常数这个基本假设。
? 不失一般性,我们可以将人口增长率 r 表示为人
口 x的函数 r (x),而将自然资源和环境条件所能
容纳的最大人口数量记为 xM,称为最大人口容
量。
? 按照前面的分析,r (x) 应是人口 x 的减函数。
? 一个最简单的假定是设 r (x) 为 x的线性函数,即
? r (x) = a – b x, (4)
阻滞增长模型 建立
? r (x) = a – b x, (4)
? 由于当 x = xM 时,r ( x ) = 0,不难得到
? a = b xM 。因此 (4)式可以化为
? r (x) = b ( xM – x ),(5)
? 这里 b xM 相当于 x = 0 时的人口增长率,可以称
为初始增长率,系数 b 由人口统计数据确定。显
然对于任意的 x > 0,人口增长率 r ( x ) < b xM 。
? 现在,人口演化方程 (1)应该改写为
? x k+1 = x k [1+ r (x k)] = x k [1+ b(x M - x k )]
阻滞增长模型 建立
? 现在,人口演化方程 (1)应该改写为
? x k+1 = x k [1+ b(x M - x k )] (6)
? 由于方程 (6)考虑到了自然资源和环境条件对人口
增长的阻滞作用,它所对应的模型称为阻滞增长
模型。
? 你能不能说说公式中系数 b 的实际意义,并根据
它的意义给它起一个适当的名字吗?
? 系数 b 反映了人口增加对增长率的阻滞作用,可
以称为人口增长率的阻滞系数。
? 到此,我们的数学建模工作完成了吗?
阻滞增长模型 参数
? 公式( 6)给出了阻滞增长情况下,人口变
化的规律。从理论上来说,模型已经完成。
? 然而,公式( 6)中除了变量 x 之外,还有
b 和 xM 两个参数没有确定,因此从应用的
角度来说,模型还没有完成。
? 那么,应该如何确定这两个参数呢?
? 从原则上说,这两个参数可以根据人口的
统计数据来确定。
阻滞增长模型 参数
? 假定我们已经得到了初始的人口统计数据 x0,x1
和 x2,将它们代入到方程( 6)中,我们得到
? x 1 = x 0 [1+ b (x M - x 0 ) ]
? x 2 = x 1 [1+ b (x M - x 1 ) ]
? 由上面两个式子,很容易求出参数 b 和 xM 的值。
? 以美国 19世纪,20世纪的人口演化为例,应用统
计表中的数据,代入上面的方程,我们可以解出
参数的值分别为
? xM = 1042.7,b = 0.36032
阻滞增长模型 求解
? 阻滞增长模型的人口增长方程为
? x k+1 = x k [1+ b(x M - x k )] (6)
? 由于上面的递推关系右边出现了自变量的平方项,
因此 (6)式是一个非线性的递推方程。
? 一般来说,非线性方程 (6)式求不出通项公式,这
下怎么办?
? 没关系,我们可以用数值方法来求问题的近似解。
? 先把已知的初始数据 x0 代入到( 6)式的右边,
我们得到 x1 ;
? 再把所得到的数据 x1 代入到( 6)式的右边,我
们又得到 x2 ;
阻滞增长模型 求解
? 先把已知的初始数据 x0 代入到( 6)式的右边,
我们得到 x1 ;
? 再把所得到的数据 x1 代入到( 6)式的右边,我
们又得到 x2 ;
? 经过这样反复的代入,我们不难算出所要求的所
有 xk 。
? 这种通过反复代入来进行求解的方法,称为迭代
法。
? 迭代法是数值计算中非常常用的方法,我们一定
要掌握好。
阻滞增长模型 检验
? 为了确保人口预报的可靠性,我们同样必须对上
面的阻滞增长模型进行检验。
? 下表列出了美国 19世纪,20世纪的实际人口统计
数据与阻滞增长模型的比较结果。
? 实际人口统计数据与理论模型计算结果的比较,
? 两种理论模型与实际的相对误差的比较,
? 由表中的数据容易看出阻滞增长模型的结果比等
比数列模型的有了很大的改进。
? 但是预报的人口数和人口增长率与实际情况的误
差仍然相当大,最高误差还超过 100%。
阻滞增长模型 误差分析
? 阻滞增长模型已经考虑到了增长率变化的因素,
为什么还有这么大的误差?
? 从图中我们容易看出无论是人口数还是增长率的
误差都随着时间而迅速增加,这又是为什么?
? 我们回顾一下模型的建立过程,在模型中我们把
参数近似地当成了常数。然而,我们对这些参数
的具体取值的确定却存在着问题。
? 在确定参数的时候,我们用了 1790年,1800年和
1810年的实际人口数据。虽然这些数据是准确的,
但由此得到的参数值却不一定是适当的。
阻滞增长模型 误差分析
? 随着时间的推移,误差就会逐渐显现。
? 如果不能及时地调整,时间相隔的越久,由于积
累效应,误差就越大。
? 这就很好地说明了图表中反映的情况。
? 那么,应该如何来对参数的误差进行调整呢?
?, 实践是检验真理的唯一标准, 。误差是对实际
情况的偏离,调整的标准和方法是充分利用最新
的实际数据。
? 除了参数之外,对模型在理论上是否也要修正?
?, 饭要一口一口地吃,,先调整了参数再看情况。
阻滞增长模型 调整
? 通过上面的分析,我们发现误差的出现和增加与
确定参数值仅仅用到几个初始数值有关。
? 如果我们利用不同年份的数据,将得到不同的参
数值。
? 按照模型的假设,参数应当取为常数,怎么取?
? 最简单的办法是对所有可能的参数值求平均数,
一般来说,这样做比较适当。
? 对于前面的例子,我们可以算出参数的平均值为
? xM = 268.73373822, b = 32.839460191
阻滞增长模型 调整
? 调整后的参数为
? xM = 268.73373822, b = 32.839460191
? 将调整后的参数代入 (6)式,就得到了经过调整的
模型。
? 利用初始数据 x0, 我们不难用迭代法递推出一组
新的理论数据。
? 经过调整后的阻滞增长模型是否正确?仍然需要
实践检验。
? 如果新的理论数据与实际情况比较一致,表明调
整后的阻滞增长模型能够较好地反映客观规律。
? 否则,说明阻滞增长模型本身存在问题。
阻滞增长模型 再检验
? 下面是这组新的理论结果与实际情况的对比。
? 实际人口统计数据与理论模型计算新结果的比较,
? 由上面的数据,我们看到在多数情况下,理论计
算结果的相对误差不超过 10%。
? 由于影响人口数目的因素非常多,一个简单的模
型能够达到这样的准确度已经相当不错了。总的
来说调整后的阻滞增长模型还是可以接受的。
? 如果考虑到由于从欧洲大批移民或战争的影响,
人口增长率会有些波动。阻滞增长模型应该说是
相当准确的。
进一步改进
? 总的来说,阻滞增长模型在描述人口的演化问题
上取得了明显的成功。
? 然而,要把它用到实际问题之中还需进一步改进。
主要有以下几个方面:
? 1,在公式 (4)中,我们采用了一个最简单的假定,
即设 r ( x ) 为 x的线性函数。一般情况下,应该考
虑 r ( x ) 为 x的非线性函数。非线性近似,比如说
抛物线近似,包括了线性近似为特例,往往更加
准确。
进一步改进
? 2,对于一个特定地区的人口演化,需要考虑人口
的迁入和迁出因素。这个问题的研究与城市的形
成和发展有密切的关系。
? 3,为了决定人口政策,我们必须进一步考虑人口
的年龄分布问题。不同年龄层次的人数各是多少?
育龄妇女的人数又是多少?建立一个人口演化的
依龄模型。
? 这些问题我们将留给同学们自己去考虑。
实际人口与等比数列模型的比较
年 份 实际数 理论数 误差 % 年 份 实际数 理论数 误差 %
1800 5.3 5.3 0.0 1900 76.0 113.9 49.8
1810 7.2 7.2 0.0 1910 92.0 154.7 68.2
1820 9.6 9.8 2.0 1920 106.5 210.3 97.5
1830 12.9 13.3 3.1 1930 123.2 285.8 132.0
1840 17.1 18.1 5.7 1940 131.7 388.4 194.9
1850 23.2 24.6 5.9 1950 150.7 527.8 250.2
1860 31.4 33.4 6.3 1960 179.3 717.2 300.0
1870 38.6 45.4 17.5 1970 204.0 974.7 377.8
1880 50.2 61.7 22.8 1980 226.5 1324.6 484.8
1890 62.9 83.8 33.2
实际人口与两种模型计算结果的比较
0
200
400
600
800
1000
1200
1400
1820 1860 1900 1940 1980
êμ ?ê
μè ±è
×è ?í
两种模型计算的增长率的相对误差
-50
0
50
100
150
200
250
300
350
400
450
1820 1860 1900 1940 1980
μè ±è
×è ?í
实际人口与调整的阻滞增长模型的比较
年 份 实际数 理论数 误差 % 年 份 实际数 理论数 误差 %
1800 5.3 5.2 -2.6 1900 76.0 71.2 -6.3
1810 7.2 6.8 -5.2 1910 92.0 88.4 -4.0
1820 9.6 9.0 -6.2 1920 106.5 107.8 1.3
1830 12.9 11.9 -8.0 1930 123.2 129.0 4.7
1840 17.1 15.6 -8.8 1940 131.7 151.1 14.7
1850 23.2 20.4 -12.0 1950 150.7 172.8 14.7
1860 31.4 26.6 -15.2 1960 179.3 193.1 7.7
1870 38.6 34.5 -10.7 1970 204.0 210.9 3.4
1880 50.2 44.4 -11.6 1980 226.5 225.8 -0.3
1890 62.9 56.5 -10.1
等比数列模型 人口增长率
0
5
10
15
20
25
30
35
40
1 8 2 0 ?ê 1 8 6 0 ?ê 1 9 0 0 ?ê 1 9 4 0 ?ê 1 9 8 0 ?ê
êμ ?ê
àí ??