人口预测的最小二乘模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验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
根据表中数据,预测公元2000年世界人口会超过 60亿。作出这一预测结果所用 的方法就是数据拟合方法。
一、问题分析
据人口增长的统计资料和人口理论,当人口总数
N 不是很大时,在不长的
时期内,人口增长率与人口数 N 成正比,这就是著名的马尔萨斯人口模型,用微
分方程描述为
由此可知,马尔萨斯模型是人口数量按指数函数递增的模型。由于指数函数表达 式中a 和b 均未知,需要用人口数据来确定。即用指数函数对数据进行拟合,确 定指数函数中参数使指数函数与人口数据偏差(残差平方和)尽可能小。下图是 经数所拟合后的指数函数图形与原始数据散点图的对比,残差平方和为 3.6974 杓-4
为了计算方便,将上式两边冋取对数,还原为
y = ln N
或
In N = a + b t ,令
N = e y
变换后的拟合函数为
dN dt
bN
其中,b 为人口增长系数。用分离变量法解常微分方程,得 N(t) a bt
e
(24.1)
In N = b t + a ,即
(24.2)
图24-1指数函数图形与原始数据散点图
y(t) = a + b t (24-3) 由人口数据取对数(y = In N )计算,得下表
表24-2世界人口数据(单位:亿)
二、求解超定方程组的数学原理
根据表中数据及等式a + b t k = y k ( k = 1, 2, ……,9)可列出关于两个未知数
a、b的9个方程的线性方程组
a 1960
b 3.3918
a 1961
b 3.4213
a 1962
b 3.4503
a 1963
b 3.4698
a 1964
b 3.4763
a 1965
b 3.4920
a 1966
b 3.5133
a 1967
b 3.5322
a 1968
b 3.5505
(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) 通常会得非零向量,这一向量称为残差。残差的内积可以用来度量最小二乘解的
逼近程度。
三、问题求解的计算机实验
输入下面命令
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=[o
nes(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 XI0"
4
。
代入拟合函数有
33.0383 0.0186t
N (t) e
经计算
N(2000)= 64.1805
所以2000年的世界人口预测为64.1805亿。这一数据基本反映了人口变化趋。
图24-2预测的人口数据变化图