Leslie 模型
模型基本
前面介绍了 Malthus 和 Logistic 两种预测人口数(或者说生物数量:草履虫、微生物)的模型,今天接着讲 Leslie 矩阵模型。
虽然前面的预测都是从问题的数据出发,通过数据之间的联系得出拟合出预测方程,简单的很;但是由于只需要较少的数据可以得到方程,往往精度比较低(尽管可以通过调整拟合所需的数据多少来提升精度,但还是有限)。如果需要考虑到种群间 (以人为例) 的年龄结构,那么前面两种模型便不是这么适合,虽然人口总数可以通过原先的两种模型用总的增长率直接求出,但是不同年龄段的人的增长率是不一样的,所以如果想提高人口总数预测的准确率,则不妨考虑不同年龄段的 “繁殖率” 和 “死亡率” 。
由 Leslie 在20世纪40年代用向量形式的差分方程 Leslie (莱斯利)矩阵模型描述女性人口变化规律。
百度百科:Leslie 矩阵模型利用某一初始时刻种群的年龄分布,动态预测种群年龄分布随时间的演变过程。这是一个线性的种群数量动力学模型,通过 Leslie 矩阵可以得出,当时间充分时,种群的年龄分布趋于稳定,总数量趋于指数增长、指数衰变,或保持不变。
模型构建
现以考虑女性人口数量为例:
假设女性的最大年龄为 s 岁,将 s 岁分成 n 组,即 n 个年龄区间,其中
Δ
i
=
[
(
i
−
1
)
s
n
,
i
s
n
]
,
i
=
1
,
2
,
…
…
,
n
Delta_{i} = [ frac{(i-1)s}{n},frac{is}{n}] , i = 1,2,……,n
Δi=[n(i−1)s,nis],i=1,2,……,n
为第
i
i
i 组所属的年龄区间,设第
i
i
i 组的女性在
t
k
t_{k}
tk 时的人数为
x
i
k
(
i
=
1
,
2
,
…
…
,
n
)
x^{k}_{i} (i=1,2,……,n)
xik(i=1,2,……,n),则女性人口年龄分布向量为
x
k
=
(
x
1
k
,
x
2
k
,
…
…
,
x
n
k
)
T
x^{k}=(x^{k}_{1},x^{k}_{2},……,x^{k}_{n})^{T}
xk=(x1k,x2k,……,xnk)T
易知,
x
x
x 随时间
t
t
t 变化,不妨考虑每隔
s
n
frac{s}{n}
ns 年观察一次,不考虑同一时间间隔内的变化(将时间离散化)。设初始时间为
t
0
t_{0}
t0 ,则
t
k
=
t
0
+
k
s
n
t_{k} = t_{0}+kfrac{s}{n}
tk=t0+kns;假设只考虑自然生育、衰老和死亡引起的人口变化(不考虑其它天灾人祸,难测量的变量),设第
i
i
i 组女性的生育率为
a
i
a_{i}
ai (第
i
i
i 组女性在
s
n
frac{s}{n}
ns 年生育的女婴数,男婴不考虑,
a
i
≥
0
a_{i}geq 0
ai≥0),存活率为
b
i
b_{i}
bi (第
i
i
i 组女性在
s
n
frac{s}{n}
ns 年依旧活着的人数与原来人数之比,
0
≤
b
i
≤
1
0leq b_{i}leq1
0≤bi≤1),则死亡率可以表示为
1
−
b
i
1-b_{i}
1−bi ,这些数据一般可以通过查找相应资料获得也可以通过其它预测方法得到,比如时间序列预测。
当
t
=
t
k
t = t_{k}
t=tk 时,第1组女性(女婴)是
t
k
−
1
t_{k-1}
tk−1 时由各组女性生育的,所以其数量可以表示为:
x
1
k
=
a
1
x
1
k
−
1
+
a
2
x
2
k
−
1
+
…
…
+
a
n
x
n
k
−
1
x^{k}_{1} = a_{1}x^{k-1}_{1}+a_{2}x^{k-1}_{2}+……+a_{n}x^{k-1}_{n}
x1k=a1x1k−1+a2x2k−1+……+anxnk−1
第
i
i
i 组
(
i
≥
2
)
(i geq 2)
(i≥2) 的女性是
t
k
−
1
t_{k-1}
tk−1 时刻由第
i
−
1
i-1
i−1 组女性经过
s
n
frac{s}{n}
ns 年存活下来的,可以表示为:
x
i
k
=
b
i
−
1
x
i
−
1
k
−
1
(
i
≥
2
)
x^{k}_{i} = b_{i-1}x^{k-1}_{i-1} qquad(i geq 2)
xik=bi−1xi−1k−1(i≥2)
用矩阵表示:
[
x
1
k
x
2
k
x
3
k
⋮
x
n
k
]
=
[
a
1
a
2
⋯
a
n
−
1
a
n
b
1
0
⋯
0
0
0
b
2
⋯
0
0
⋮
⋮
⋱
⋮
⋮
0
0
⋯
b
n
−
1
0
]
[
x
1
k
−
1
x
2
k
−
1
x
3
k
−
1
⋮
x
n
k
−
1
]
left[ begin{matrix} x^{k}_{1} \ x^{k}_{2} \ x^{k}_{3} \ vdots \ x^{k}_{n} \ end{matrix} right]= left[ begin{matrix} a_{1} & a_{2} & cdots & a_{n-1} & a_{n} \ b_{1} & 0 & cdots & 0 & 0 \ 0 & b_{2} & cdots & 0 & 0 \ vdots & vdots & ddots & vdots & vdots \ 0 & 0 & cdots & b_{n-1} & 0 \ end{matrix} right] left[ begin{matrix} x^{k-1}_{1} \ x^{k-1}_{2} \ x^{k-1}_{3} \ vdots \ x^{k-1}_{n} \ end{matrix} right]
⎣⎢⎢⎢⎢⎢⎡x1kx2kx3k⋮xn