当前位置:文档之家› 人口预测的最小二乘模型

人口预测的最小二乘模型

实验24 人口预测的最小二乘模型
据统计,上世纪六十年代世界人口数据如下:
表24-1 世界人口数据(单位:亿)
年1960 1961 1962 1963 1964 1965 1966 1967 1968 人口29.72 30.61 31.51 32.13 32.34 32.85 33.56 34.20 34.83
的方法就是数据拟合方法。

一、问题分析
据人口增长的统计资料和人口理论,当人口总数N 不是很大时,在不长的时期内,人口增长率与人口数N成正比,这就是著名的马尔萨斯人口模型,用微分方程描述为
dN
=(24.1)
bN
dt
其中,b为人口增长系数。

用分离变量法解常微分方程,得ln N = b t + a,即
=(24.2)
()a bt
N t e+
由此可知,马尔萨斯模型是人口数量按指数函数递增的模型。

由于指数函数表达式中a和b均未知,需要用人口数据来确定。

即用指数函数对数据进行拟合,确定指数函数中参数使指数函数与人口数据偏差(残差平方和)尽可能小。

下图是经数所拟合后的指数函数图形与原始数据散点图的对比,残差平方和为3.6974×10- 4
图24-1指数函数图形与原始数据散点图
为了计算方便,将上式两边同取对数,还原为ln N = a + b t,令
y = ln N或N = e y
- 160 - 第三章 综合实验
160
变换后的拟合函数为
y (t ) = a + b t (24-3)
由人口数据取对数(y = ln N )计算,得下表
表24-2 世界人口数据(单位:亿)
二、求解超定方程组的数学原理
根据表中数据及等式a + b t k = y k ( k = 1,2,……,9)可列出关于两个未知数a 、b 的9个方程的线性方程组
⎪⎪⎪⎪⎪
⎪⎩⎪
⎪⎪
⎪⎪
⎪⎨⎧=+=+=+=+=+=+=+=+=+5505
.319685322.319675133.319664920.319654763.319644698.319634503.319624213.319613918.31960b a b a b a b a b a b a b a b a b a (24-4)
由于这一问题中方程数目多于未知数个数,被称为超定方程组,用矩阵形式表示

AU = f (24-5)
显然A 矩阵的行数大于列数。

求解这一类方程组的数学原理是将等式左、右同时乘以A 的转置矩阵,得新的线性方程组
A T AU =A T f (24-6)
令G =A T A , b = A T f 。

得系数矩阵为方阵的线性方程组。

GU=b
求解得原方程组的最小二乘解(广义解)。

由于原方程组一般无解,将最小二乘解代入下式计算
R = f – A U (24-7)
通常会得非零向量,这一向量称为残差。

残差的内积可以用来度量最小二乘解的逼近程度。

实验24 人口预测的最小二乘模型 - 161 -
161
三、问题求解的计算机实验
输入下面命令
t=1960:1968;
N=[29.72 30.61,31.51 32.13,32.34 32.85,33.56 34.20,34.83]; f=log(N); A=[ones(9,1) t']; G=A'*A; b=A'*f'; U=G\b
a=U(1); b=U(2); R=f'-A*U; R'*R
Y=exp(a+b*t); tt=1960:8:2000; YY=exp(a+b*tt); plot(t,N,'*',t,Y) figure bar(tt,YY)
程序运行结果为U = -33.0383 0.0186
ans = 3.6974e-004
由方程组最小二乘解得:a =-33.0383,b =0.0186;残差向量的内积:
3.6974×10- 4。

代入拟合函数有
t e t N 0186.00383.33)(+-=
经计算
N (2000)= 64.1805
所以2000年的世界人口预测为64.1805亿。

这一数据基本反映了人口变化趋。

图24-2 预测的人口数据变化图。

相关主题