人口预测的最小二乘模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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预测的人口数据变化图

相关文档
最新文档