population_simulation_projection

2024-01-23

人口模拟预测

基于人口数据,对人口死亡率、人口出生率进行简单建模,来粗略模拟预测人口数量演化和人口年龄结构变化。由于难以获取到人口结构分布细致的数据,性别比例和年龄结构尽可能使用可以获取到的数据进行建模模拟,来获取性别比例数据。但是由于性别比涉及到更复杂的社会学、生物学等多个领域的知识。我不是人口学家,没有足够的数据和专业能力,因此不保证建模获取到性别比例数据可靠。因此这里会做两种方案的模拟:考虑性别比例的模拟方案;假定性别比恒为 1:1 的方案。

1 人口死亡模型

Lee-Carter模型 是业界比较主流的人口死亡模型,认为人口的死亡率与时间和年龄相关,设 第 t 年的时候年龄为 x 岁的人群的死亡率为 $m(t, x)$,根据 Lee-Carter模型给出的死亡率公式:

\[m(x, t) = e^{a(x)} · (e^{b(x)})^{k(t)}\] \[\Rightarrow ln (m(x, t)) = a(x) + b(x) · k(t)\]

其中 $a(x), b(x), k(t)$ 需要通过历史数据拟合得到,在利用上面的公式预测未来不同年龄人群的失望率。

国家统计局普查数据可以得到近几次人口普查的人口数据。利用这些人口数据来拟合上面的参数。这里并不是为了得到绝对精确的预测,只是一时兴起,使用这些数据来拟合也够用了。

为了把死亡率拉到 100%,年龄范围的上限值需要取到比人口数据中最大年龄还要大一岁,并把该年龄的死亡率设定为 100%。

关于死亡率模型的说明,此模型中的死亡率指的是当年死亡率。例如,假设 100岁的死亡率为45%,是指一个100岁的人当年死亡的概率为 45%,这并不是一个人活到100岁的概率。其实根据人口数据也可以看出,一个人活到 100 岁的概率小于 1%。

2 人口出生模型

在这里,人口出生率仅考虑两个主要因素:育龄女性总体生育意愿,即从人口整体考虑,平均一名女性人口在其适合生育的年龄阶段希望生孩子的数量;生育意愿按年龄分布模型。这里模型看作是三个正态分布函数的加权叠加。

除此之外,在考虑性别比例的方案中,还会考虑性别比例对育龄女性数量的影响。

2.1 育龄女性总体生育意愿

一般来说,一名女性具备生育能力的年龄段大约是18岁~45岁,共计28年的时间长度。育龄女性总体生育意愿,指的是平均来讲一名女性希望在这28年的时间里生育几个孩子。

按照国家统计局的数据,2022年我国出生人口956万,而2022年18~45岁的女性人口数量约为2.63亿,如果每名女性的总体生育意愿为 w ,则2.63亿名女性生育人口在28年时间里将生育 $2.63 \times 10^8 \times w$ 个孩子,平均到每年为 $\frac{2.63 \times 10^8}{28}w=956 \times 10^4$ 个孩子。从而计算得到 $w \approx 1.018$。即,2022年的时候,育龄女性总体生育意愿为1.018个孩子。

由于女性人口只占总人口的一半,所以粗略来讲平均一名女性一生生育2个孩子才能维持人口稳定,也就是育龄女性总体生育意愿要达到 2。如果考虑到性别比例,这个期望值会更大一些。例如,假设男女占比分别为 53% 和 47%,这个期望值大概为 2.128。

总体生育意愿随时间变化的估算是对人口预测影响最大的因素。这里对 总体生育意愿随时间变化的估算使用两种方案:

  • 按照确定的方式给出三种可能的总体生育意愿随时间变化:
    • 乐观估计:以2022年育龄女性总体生育意愿为1.018为初始值,20年的时间(到2041年)总体生育意愿增长到 $2 \times 1.018$ ,之后稳定在这个数值;
    • 中性估计:以后若干年的时间里,育龄女性总体生育意愿一直维持在1.018左右,以1.018为均值、1.018/10 为标准差正态分布波动;
    • 悲观估计:以2022年育龄女性总体生育意愿为1.018为初始值,20年的时间(到2041年)总体生育意愿降低到 1.018/2 ,之后稳定在这个数值。
  • 使用上面的方法,根据近几次人口普查数据计算出相应的总体生育意愿,使用说这些数据,利用 LSTM 来预测总体生育意愿随时间变化的估算值。

2.2 生育意愿年龄分布模型

对于育龄女性来说,不同年龄段的人生育意愿是完全不同的。一般来讲,25~30岁左右的女性生育意愿较强,20岁以下比较弱,40岁以上的女性生育意愿已经很弱了。所以,生育意愿是不应该平均分配到18岁~45岁这28年间的。

这里采用正态分布叠加的方式来分配生育意愿。具体来说,认为生育意愿的分配率 y 满足:

\[y = 0.2 \times y_1 + 0.5 \times y_2 + 0.3 \times y_3\]

其中 $y_1, y_2, y_3$ 满足正态分布:

\[y_1 \sim N(31.5, \frac{31.5}{3}), y_1(x) = \frac{1}{\sqrt{2 \pi} \frac{31.5}{3}}·e^{- \frac{(x-31.5)^2}{2·(\frac{31.5}{3})^2}}\] \[y_2 \sim N(25, \frac{7}{3}), y_2(x) = \frac{1}{\sqrt{2 \pi} \frac{7}{3}}·e^{- \frac{(x-25)^2}{2·(\frac{7}{3})^2}}\] \[y_3 \sim N(28, \frac{10}{3}), y_3(x) = \frac{1}{\sqrt{2 \pi} \frac{10}{3}}·e^{- \frac{(x-28)^2}{2·(\frac{10}{3})^2}}\]

这样加权叠加后,仍然可以满足

$1 = \int _{- \infty} ^{+ \infty} y(x) · dx \approx \int _{18} ^{45} y(x) · dx$

的归一化关系。

根据上面的总体生育意愿 $w(t)$ 和按年龄分配率 $y(x)$,可以得到年龄为 x 的女性当年生育率为 $w(t)·y(x)$,假设 $P(x, t)$ 为第 t 年时年龄为 x 的人群数量,就可以计算得到第 t 年的出生人口:

\[B(t) = w(t) \int _{18} ^{45} P(x, t)·y(x)·dx = w(t)·\sum _{x=18} ^{45} P(x, t)·y(x)\]

有了 $B(t)$ 和 $m(x, t)$,就可以计算得到某一年的人口情况,也就是得到函数 $P(x, t)$ 的值了:

\[P(x, t) = \begin{cases} B(t - 1), & x = 0 \\ P(t - 1, x - 1)·(1 - m(t - 1, x - 1)), & x > 0 \end{cases}\]

3 人口演化粗略预测

有了上面的人口死亡模型人口出生模型,就可以预测人口演化情况了。

预测方法非常简单,但肯定比某些机构的预测更准