以 Logistics 模型为基础的人口模型优化。
1 Logistics 增长模型
1.1 模型建立
传统的马尔萨斯人口增长模型将人口增长率 r 定为常数,从而人口数量 x 呈指数增长。但是现实中,人口增长受到自然资源和环境资源等的限制,存在一个上限,即最大人口容量 x m a x x_{max} xmax。
从而,人口增长率 r 应该与人口数量 x 相关:
{ d x d t = r ( x ) x x ( 0 ) = x 0 (1) \begin{cases} \frac{dx}{dt}=r(x)x \\ x(0)=x_0 \end{cases} \tag{1} {dtdx=r(x)xx(0)=x0(1)
其中,收到人口容量的影响,r(x) 应该为减函数,假设:
r ( x ) = r 0 − α x (2) r(x)=r_0-\alpha x \tag{2} r(x)=r0−αx(2)
r 0 r_0 r0 为固有增长率。
当人口达到最大容量 x m a x x_{max} xmax 时, r ( x m a x ) = 0 r(x_{max})=0 r(xmax)=0 ,可以得到 α = r 0 x m a x \alpha = \frac{r_0}{x_{max}} α=xmaxr0 ,从而方程 (1) 可以写成:
{ d x d t = ( r 0 − r 0 x x m a x ) x ( 0 ) = x 0 (3) \begin{cases} \frac{dx}{dt}=(r_0-\frac{r_0x}{x_{max}}) \\ x(0)=x_0 \end{cases} \tag{3} {dtdx=(r0−xmaxr0x)x(0)=x0(3)
求解微分方程 (3):
x ( t ) = x m a x 1 + ( x m a x x 0 − 1 ) e − r 0 t (4) x(t)=\frac{x_{max}}{1+(\frac{x_{max}}{x_0}-1)e^{-r_0t}} \tag{4} x(t)=1+(x0xmax−1)e−r0txmax(4)
1.2 参数估计与模型拟合
通过方程 (2) 和 α = r 0 x m a x \alpha =\frac{r_0}{x_{max}} α=xmaxr0 ,可以得到:
r ( x ) = r 0 − r 0 x m a x x (5) r(x)=r_0-\frac{r_0}{x_{max}}x \tag{5} r(x)=r0−xmaxr0x(5)
使用真实人口数据对方程 (5) 进行拟合,来计算参数 x m a x , r 0 x_{max}, r_0 xmax,r0。
将以上计算得到的参数代入方程 (4),得到预测人口数据 x(t) 。利用 2-范数对模型拟合误差做估计:
E r r = ∣ ∣ x ( t ) − x ∣ ∣ 2 Err=||x(t)-x||_2 Err=∣∣x(t)−x∣∣2
2 改进的 Logistics 增长模型
2.1 模型优化
人口增长率 r 不仅与人口数量 x 有关,同时也与时间 t 相关:
r ( x , t ) = ϕ ( x ) T ( t ) r(x, t)=\phi(x)T(t) r(x,t)=ϕ(x)T(t)
将上式带入方程 (1),得到优化的 Logistics 模型:
{ d x d t = ϕ ( x ) T ( t ) x x ( 0 ) = x 0 (6) \begin{cases} \frac{dx}{dt}=\phi (x) T(t)x \\ x(0)=x_0 \end{cases} \tag{6} {dtdx=ϕ(x)T(t)xx(0)=x0(6)
2.2 ϕ ( x ) \phi (x) ϕ(x) 拟合分析
从最开始的 Logistics 模型分析,设 ϕ ( x ) \phi (x) ϕ(x) 为人口数量的一次函数:
ϕ ( x ) = r 0 − α x \phi (x)=r_0-\alpha x ϕ(x)=r0−αx
其中, r 0 r_0 r0 为固有增长率。
当人口达到最大容量 x m a x x_{max} xmax 时, ϕ ( x m a x ) = 0 \phi (x_{max})=0 ϕ(xmax)=0 ,可以得到 α = r 0 x m a x \alpha = \frac{r_0}{x_{max}} α=xmaxr0 ,从而方程 (6) 可以写成:
{ d x d t = ( r 0 − r 0 r m a x x ) T ( t ) x x ( 0 ) = x 0 (7) \begin{cases} \frac{dx}{dt}=(r_0-\frac{r_0}{r_{max}}x)T(t)x \\ x(0)=x_0 \end{cases} \tag{7} {dtdx=(r0−rmaxr0x)T(t)xx(0)=x0(7)
求解微分方程 (7);
x ( t ) = x m a x ( x m a x x 0 − 1 ) e − ∫ 0 t r 0 T ( τ ) d τ + 1 (8) x(t)=\frac{x_{max}}{(\frac{x_{max}}{x_0}-1)e^{-\int_0 ^t r_0T(\tau)d\tau+1}} \tag{8} x(t)=(x0xmax−1)e−∫0tr0T(τ)dτ+1xmax(8)
2.3 T ( t ) T(t) T(t) 拟合分析
对方程 (8) 做整形:
∫ 0 t r 0 T ( τ ) d τ = l n x ( t ) ( x m a x − x 0 ) x 0 ( x m a x − x ( t ) ) (9) \int ^t _0 r_0 T(\tau)d\tau = ln\frac{x(t)(x_{max}-x_0)}{x_0(x_{max} - x(t))} \tag{9} ∫0tr0T(τ)dτ=lnx0(xmax−x(t))x(t)(xmax−x0)(9)
假设 T ( τ ) T(\tau) T(τ) 为关于 t 的 n 次多项式:
T ( t ) = a 1 t n + a 2 t t − 1 + . . . + a n t + a n + 1 T(t) = a_1t^n + a_2t^{t-1} + ... + a_nt + a_{n+1} T(t)=a1tn+a2tt−1+...+ant+an+1
将上式带入方程 (8),得到:
k 1 t n + 1 + k 2 t n + . . . + k n + 1 t = l n x ( t ) ( x m − x 0 ) x 0 ( x m − x ( t ) ) (10) k_1t^{n+1}+k_2t^n+...+k_{n+1}t=ln \frac{x(t)(x_m-x_0)}{x_0(x_m-x(t))} \tag{10} k1tn+1+k2tn+...+kn+1t=lnx0(xm−x(t))x(t)(xm−x0)(10)
其中, k 1 = r 0 a 1 n + 1 , k 2 = r 0 a 2 n , . . . , k n = r 0 a n 2 , k n + 1 = r 0 a n + 1 k_1=\frac{r_0a_1}{n+1},k_2=\frac{r_0a_2}{n},...,k_n=\frac{r_0a_n}{2},k_{n+1}=r_0a_{n+1} k1=n+1r0a1,k2=nr0a2,...,kn=2r0an,kn+1=r0an+1
通过真实人口数据对方程 (10) 进行拟合,得到系数:
k 1 , k 2 , . . . , k n + 1 k_1, k_2, ..., k_{n+1} k1,k2,...,kn+1
根据 T ( t ) T(t) T(t) 分别为为关于 t 的二、三、四次多项式时,估计拟合后的误差:
E r r = ∣ ∣ x ( t ) − x ∣ ∣ 2 (11) Err=||x(t)-x||_2 \tag{11} Err=∣∣x(t)−x∣∣2(11)
3 说明
改进的 Logistics 模型在 Logistics 模型的基础上,在考虑人口增长率的时候,加入了时间变量 t,即人口增长率为关于人口数 x 和时间 t 的函数。
改进的 Logistics 模型对人口数据的拟合误差更小,能够具有更高的拟合精度。
这里使用的 Logistics 模型和改进的 Logistics 模型都是比较粗糙的,没有考虑人口出生率、人口死亡率以及国家宏观调控、科技进步、国民生育率和生育期望的变化等诸多因素的影响,只是对人口数据的简单拟合。
对人口变化更加精确的模拟和预测需要考虑这些诸多因素,Logistics 模型还不具备这样的效果。