Advances in Applied Mathematics
Vol. 10  No. 10 ( 2021 ), Article ID: 46002 , 10 pages
10.12677/AAM.2021.1010367

基于Keras的LSTM网络在死亡率预测的应用

肖鸿民,李祥

西北师范大学数学与统计学院,甘肃 兰州

收稿日期:2021年9月22日;录用日期:2021年10月15日;发布日期:2021年10月26日

摘要

随着人口老龄化程度进一步加深,加之人口死亡率的持续下降和人口预期寿命的不断延长,对死亡率有更加有效的预测,在长寿风险的研究中尤为重要。在以往的死亡率预测中,死亡率模型的时间项大多采用传统的ARIMA时间序列方法进行预测。本文选取中国人口死亡率数据,以长短期记忆(LSTM)网络和全连接层为基础,构建基于循环神经网络的LSTM学习机,用于预测Lee-Carter模型的时间项。

关键词

死亡率预测,循环神经网络,时间序列分析,LSTM

Application of LSTM Networks Based on Keras in Mortality Prediction

Hongmin Xiao, Xiang Li

College of Mathematics and Statistics, Northwest Normal University, Lanzhou Gansu

Received: Sep. 22nd, 2021; accepted: Oct. 15th, 2021; published: Oct. 26th, 2021

ABSTRACT

As the aging degree of the population deepens, coupled with the continuous decline in population mortality and prolonged life expectancy, a more effective prediction of mortality is particularly important in the study of longevity risk. In previous mortality predictions, the time terms of mortality models were mostly predicted using traditional ARIMA time series methods. This paper selects Chinese population mortality data, based on long-short term memory (LSTM) network and dense layers, constructing a LSTM learning machine based on recurrent neural network to predict the time term of the Lee-Carter model.

Keywords:Mortality Prediction, Recurrent Neural Network, Analysis of Time Series, LSTM

Copyright © 2021 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

国家统计局2021年5月11日公布第七次全国人口普查主要数据结果。数据显示,全国人口共141,178万人,与2010年(第六次全国人口普查数据)的133,972万人相比,增加了7206万人,增长率为5.38%,平均增长率为0.53%,比2000年到2010年的年平均增长率0.57%下降0.04个百分点。近10年来我国人口继续以低速态势保持增长。其中,0~14岁人口为25,338万人,占比17.95%;15~59岁人口为89,438万人,占比63.35%;60岁及以上人口为26,402万人,占比18.70% (其中,65岁及以上人口为19,064万人,占比13.50%)。与2010年相比,0~14岁、15~59岁、60岁及以上人口的比重分别上升1.35个百分点、下降6.79个百分点、上升5.44个百分点。我国少儿人口比重回升,生育政策调整取得了积极成效。与此同时,更应该关注的应是人口老龄化程度进一步加深,加之人口死亡率的持续下降和人口预期寿命的不断延长,未来一段时期将持续面临人口长期均衡发展的压力。

死亡率作为决定人口规模、结构和分布变化的主要因素之一,对其预测显得尤为重要。死亡率预测应用在许多方面,并且有其特殊的意义。其中,在长寿风险领域,作为确定其成员年度缴款以及人口预测。由于其重要性,近几十年来,死亡率预测技术有了很大的发展和提高,涌现了多形式的死亡率模型。在国外,Lee等(1992) [1] 提出了一种将人口统计模型和时间序列联系在一起的对数双线性模型,即Lee-Carter模型(以下简称LC模型)。Renshaw等(2006) [2] 在LC模型的基础上加入了出生年效应,首次提出了RH模型并将其应用到英格兰和威尔士男性死亡率预测中。Cairns等(2011) [3] 通过对6个随机死亡率模型的分析,发现要从拟合和预测两个方面来判定一个模型的合理性。Li等(2013) [4] 运用扩展的LC模型方法对美国和日本死亡率数据进行拟合与预测。Enchev等(2017) [5] 利用6个国家的死亡率数据对共同年龄效应(CAE)等随机死亡率模型的拟合效果进行比较,通过模型预测发现CAE模型最优。Li等(2019) [6] 运用一个新的双人口死亡率预测模型对比利时、瑞典、瑞士和英国4个国家的高龄死亡率数据进行了拟合与预测。在国内研究中,李志生等(2010) [7] 运用2019对中国人口死亡率数据进行拟合和预测,之后黄顺林等(2010) [8] 运用RH模型对中国男性人口死亡率进行了预测,并将其应用到预期寿命和年金系数的估计中。韩猛等(2010) [9] 对LC模型进行了改进,通过一个双随机过程对LC模型中的时间项进行建模。曾燕等(2016) [10] 采用Boostrap方法与LC模型拟合死亡率数据,运用带漂移项的随机游走模型进行预测。LC模型对中国人口死亡率进行预测后,根据预测的死亡率数据对中国人口平均预期寿命进行计算。樊毅和张宁等(2018) [11] 基于中国人口死亡率数据,对8个死亡率经典模型进行了比较分析,发现APC模型对中国人口死亡率的拟合效果最优。王晓军等(2019) [12] 运用台湾高龄人口死亡率数据对贝叶斯分层模型等8种死亡率模型进行了比较分析,最后通过拟合中国大陆人口数据,发现CBD模型对我国大陆地区高龄死亡率的拟合和预测较好。

关于中国人口数据的死亡率模型研究,大多依赖于LC和APC等几个常见的随机死亡率模型。马海飞等(2020) [13] 对APC模型进行扩展,提出一个新的死亡率模型EAPC (Extended Age-Period-Cohort),通过比较模型的拟合效果和预测效果,并对其稳定性进行检验,发现EAPC模型更适合于拟合和预测中国的人口死亡率。肖鸿民等(2020) [14] 分别运用ARIMA方法和双随机过程对LC模型的时间项进行预测,通过比较它们的预测结果表明,经典ARIMA方法更适合目前中国的人口死亡率预测。近些年来,随着机器学习的不断深入,许多学者开始将机器学习方法应用到死亡率的预测研究中,而且发现其明显地提高了死亡率的预测效果。Deprez等(2017) [15] 发现了机器学习算法可以有效评估标准的动态死亡率预测模型(LC模型和RH模型)的拟合优度。Hainaut (2018) [16] 使用自编码器将死亡率中蕴含的信息进行编码和解码,并通过带漂移项的随机游走模型进行预测,其死亡率预测性能要优于LC模型和RH模型。Levan-tesi等(2019) [17] 基于决策树、随机森林、梯度提升树等树方法对死亡率数据进行拟合和预测,其效果显著优于LC模型、RH模型和Plat模型。陈宁(2019) [18] 在Hainaut (2018)提出的神经网络死亡率模型的基础上,根据我国人口死亡率数据的特征,对模型的估计方法和预测方法进行调整,构建了适合我国人口的神经网络死亡率模型。在模型的估计方法上,文章采用降噪自编码神经网络来提取潜在时间因子,在模型的预测方法上,应用ARIMA模型对潜在时间因子进行外推。通过将模型的预测结果与LC模型的预测结果进行对比,对模型的预测效果进行分析。结果表明,文章建立的神经网络死亡率模型的预测结果整体上优于LC模型的预测结果,该模型可以较好地预测我国人口死亡率。张连增等(2020) [19] 应用稀疏自编码器,建立死亡率的神经网络模型,使模型通过训练能够自行学习到死亡率的潜在特征,并将模型的拟合结果和预测结果与传统LC模型进行比较分析。结果显示,自编码器对死亡率的拟合效果与模型相近,而预测效果显著优于LC模型,说明自编码器显著提高了对死亡率的预测性能。

目前为止,大多死亡率的预测部分都是基于传统的ARIMA方法进行的,Wei Hong等(2020) [20] 提出LC-ANN模型,即将ANN用于死亡率模型LC的预测过程中,分别对马来西亚男性、女性死亡率进行预测,结果表明LC-ANN模型有着良好的预测能力。本文以我国人口死亡率数据为例,以经典死亡率模型(LC模型)为出发点,对模型进行参数估计,考虑其时间项受非线性因素的影响,尝试将LSTM网络融进基于循环神经网络的死亡率的预测分析过程,得到死亡率预测值,与传统的ARIMA预测方法进行比较。

2. 随机死亡率模型

2.1. 模型简介

LC模型假设对数死亡率与时间呈现关联性。以 m x , t 表示x岁的人在t年内的中心死亡率,在传统的LC模型中,中心死亡率 m x , t 的对数与年龄、时间的关系可用下式表示:

ln m x , t = α x + β x k t + ϵ x , t (1)

其中 m x , t 表示t年龄为x岁群体的中心死亡率; α x ( x=0,1,2, ) 为依赖年龄因子的参数,表示的是x岁人口对数死亡率的平均数; β x ( x = 0 , 1 , 2 , ) 表示年龄因子对时间的敏感度; k t 反映了死亡率随时间t的变化程度,通常称为死亡指数; ϵ x , t 为随机误差项。

LC模型对死亡率的拟合和预测分为两步,第一步基于死亡率数据,对参数 α x β x k t 运用1极大似然估计方法进行估计。第二步对时间因子 k t 建立时间序列模型,并预测未来的时间因子,将预测值代入LC模型中,并根据 α x β x 的估计值,得到预测的死亡率数值。

2.2. 参数估计

对上述随机死亡率模型进行参数估计时,都假定死亡人数 D x , t ,服从参数为 λ x , t 的泊松分布, λ x , t = m x , t E x , t ,即

D x , t ~ Poisson ( m x , t E x , t ) (2)

其中, m x , t = exp ( α x + β x k t ) D x , t 表示年龄为x、时间为t的死亡人数, E x , t 表示年龄为x、时间为t的暴露人数。

根据以上假设,对于任一年龄x、时刻t,似然函数(不考虑下标)和对数似然函数可以表示为

L ( d ; λ ) = λ d d ! e λ (3)

l = ln L ( d ; λ ) = d ln ( λ ) λ ln ( d ! ) (4)

若假设每一年龄的死亡相对独立,则总体对数似然函数表示为:

l ( α , β , k ) = x , t [ d x , t ln ( λ x , t ) λ x , t ln ( d ! ) ] = x , t [ d x , t ( α x + β x k t ) E x , t exp ( α x + β x k t ) ] + c (5)

对于一个给定的模型,用 θ 来代表待估计的参数向量,运用牛顿迭代法得到各参数的估计值,牛顿迭代公式如下:

θ ^ ( n + 1 ) = θ ^ ( n ) L ( n ) / θ 2 L ( n ) / θ 2 (6)

其中, θ ^ ( n ) 是第n次迭代参数, L ( n ) = L [ θ ^ ( n ) ]

因此LC模型参数迭代具体内容为:

α ^ x ( n+1 ) = α ^ x ( n ) t D x,t D ^ x,t ( n ) t D ^ x,t ( n ) ,  β ^ x ( n+1 ) = β ^ x ( n ) ,  k ^ t ( n+1 ) = k ^ t ( n ) (7)

k ^ t ( n + 2 ) = k ^ t ( n + 1 ) x ( D x , t D ^ x , t ( n + 1 ) ) β ^ x ( n + 1 ) x D ^ x , t ( n + 1 ) ( β ^ x ( n + 1 ) ) 2 , α ^ x ( n + 2 ) = α ^ x ( n + 1 ) , β ^ x ( n + 2 ) = β ^ x ( n + 1 ) (8)

β ^ x ( n + 3 ) = β ^ x ( n + 2 ) t ( D x , t D ^ x , t ( n + 2 ) ) k ^ t ( n + 2 ) t D ^ x , t ( n + 2 ) ( k ^ t ( n + 2 ) ) 2 , α ^ x ( n + 3 ) = α ^ x ( n + 2 ) , k ^ t ( n + 3 ) = k ^ t ( n + 2 ) (9)

其中 D ^ x , t ( n ) = E x , t exp ( α ^ x ( n ) + β ^ x ( n ) k ^ t ( n ) ) D ^ x , t ( n ) 为第n步迭代得到的死亡数估计值。利用更新的参数重新计算对数似然函数,当参数更新使对数似然函数收敛(即增加量很小,通常小于10−10)时停止迭代,得到参数估计值。

3. LSTM神经网络

3.1. 理论准备

LSTM (Long Short Term Memory, LSTM)网络 [21] [22],是一种RNN (Recurrent Neural Network,循环神经网络)特殊的类型,可以学习长期依赖序列的信息,通过训练时在“时间上的反向传播”来克服梯度消失的问题。LSTM网络可以用来构建大规模的递归神经网络来处理机器学习中复杂的序列问题,与此同时,得到不错的效果。

与RNN [23] 不同的是,他在算法中加入了一个判断信息有用与否的“处理器”,这个处理器的作用结构被称作是激活单元(cell)。一个cell中被放置了三扇门,分别叫做输入门(Input Gate)、遗忘门(Forget Gate)、输出门(Output Gate)。一个信息进入LSTM网络中,只有符合信息的才会留下,不符合的信息则通过遗忘门被遗忘。有了这种机制的存在,理论上减少了梯度爆炸(消失)的风险。

3.2. 模型构建

时间序列预测相对是较困难的一类问题。最简单明了的思路就是寻找当前和过去数据 ( X t , X t 1 , ) 与未来数据 ( X t + 1 ) 之间的关系,一般情况下将这种关系表示成为一个回归问题。本文应用R软件中的keras包,以LSTM网络回归为出发点,通过keras包中的keras_model_sequential,layer_lstm,layer_dense函数建立神经网络,compile函数编译模型的优化目标,并用fit函数进行拟合。

4. 预测结果分析

4.1. 数据来源

本文采用的数据来源于1995~2017年的《中国人口统计年鉴》,选取连续23年的中国人口0~90岁死亡率数据。大部分日历年死亡率数据的末组都为90+ (90岁及以上用90+表示),因此本文的年龄上限设为90。

4.2. 参数估计

选取上述数据1995~2013年的死亡率数据,结合(7)、(8)、(9)式对LC模型进行参数估计,结果如下表,见表1。从图1中可以看出,参数 α x 表示x岁人口对数死亡率的平均水平,随着年龄的增长,其值呈现了先下降后上升的趋势; β x 作为年龄因子对时间的敏感度,其低年龄的值较高,高年龄的值逐渐趋向0,表明低年龄人群对对死亡率时间因子的变化更加敏感,高年龄组人口死亡率的时间敏感度较小; k t 的估计值随着时间的推移而逐渐降低。

Figure 1. Parameters estimation

图1. 参数估计

Table 1. Estimates of α ^ x and β ^ x

表1. α ^ x β ^ x 的估计值

4.3. 死亡率预测

对得到的时间项估计值进行最大–最小特征缩放,见表2。划分数据集,取1995~2011年数据作为训练集,2012~2017年数据集为测试集,带入前文搭建好的神经网络模型进行训练、拟合和预测,预测结束后将预测数据进行反归一化,得到预测值,见表3

4.4. 比较分析

图2所示,通过与实际死亡率数据以及传统的ARIMA方法预测值比较,基于循环神经网络的LSTM学习机在预测中国人口死亡率的应用中有良好的效果。下面我们尝试适当地改变LSTM学习机的网络结构,寻求更适合中国人口死亡率预测的神经网络结构,同样得到新的死亡率预测值,与前面的两次结果作比较。

图3所示,在适当的改变LSTM网络层单元数后,预测值(RNN-LSTM2)明显优于前文所提到的ARIMA方法得到的预测值与起初的神经网络预测(RNN-LSTM1),故充分展示了神经网络在死亡率预测中的优越性。

Table 2. Time-term estimated value after feature scaling

表2. 经过特征缩放后的时间项估计值

Table 3. Mortality estimated value (Unit: %)

表3. 死亡率估计值(单位:%)

Figure 2. Comparison of actual mortality with ARIMA and RNN-LSTM estimated value

图2. 实际死亡率与ARIMA及RNN-LSTM估计值的比较

Figure 3. Comparison between the predicted value of changing the number of cells in the LSTM network layer and the predicted value of the ARIMA method

图3. 改变LSTM网络层单元数预测值与真实值及ARIMA方法预测值的比较

5. 结论

死亡率的下降和预期寿命的延长显然成为我国人口发展的主要趋势,由此带来的长寿风险不容忽视,特别是在养老金体系中,基本养老保险、企业补充养老保险以及商业养老保险都需重视未来死亡率发展趋势,并采取相应的措施来应对长寿风险。以往的死亡率时间项大多都是运用传统的ARIMA方法进行线性外推,考虑到非线性因素的影响,本文应用基于Keras的LSTM循环神经网络预测模型,不仅解决了RNN神经网络中存在的梯度消失和梯度爆炸问题,同时也解决了很多古典线性方法难以适应多个变量或多输入的时间序列预测问题,因此该模型能够应用于死亡率的预测。本文通过对我国数据的拟合预测,可以核实基于循环神经网络的LSTM学习机在预测中国人口死亡率的应用中有良好的效果,并且在适当的改变网络结构后,发现得到的死亡率预测值明显优于传统的ARIMA方法得到的预测值。

基金项目

国家自然科学基金资助项目(12061066);甘肃省自然科学基金(20JR5RA528)。

文章引用

肖鸿民,李 祥. 基于Keras的LSTM网络在死亡率预测的应用
Application of LSTM Networks Based on Keras in Mortality Prediction[J]. 应用数学进展, 2021, 10(10): 3477-3486. https://doi.org/10.12677/AAM.2021.1010367

参考文献

  1. 1. Lee, R.D. and Carter, L.R. (1992) Modeling and Forecasting US Mortality. Journal of American Statistical Association, 87, 659-675. https://doi.org/10.2307/2290201

  2. 2. Renshaw, A.E. and Haberman, S. (2006) A Cohort-Based Extension to the Lee-Carter Model for Mortality Reduction Factors. Insurance: Mathematics and Economics, 38, 556-570. https://doi.org/10.1016/j.insmatheco.2005.12.001

  3. 3. Cairns, A.J.G., Blake, D., Dowd, K., et al. (2011) Mortality Density Forecasting: An Analysis of Six Stochastic Mortality Models. Insurance: Mathematics and Economics, 48, 355-367. https://doi.org/10.1016/j.insmatheco.2010.12.005

  4. 4. Li, N., Lee, R. and Gerland, P. (2013) Extending the Lee-Carter Method to Model the Rotation of Age Patterns of Mortality Decline for Long-Term Projections. Demography, 50, 2037-2051. https://doi.org/10.1007/s13524-013-0232-2

  5. 5. Enchev, V., Kleinow, T. and Cairns, A.J.G. (2017) Multi-Population Mortality Models: Fitting, Forecasting and Comparisons. Scandinavian Actuarial Journal, 2017, 319-342. https://doi.org/10.1080/03461238.2015.1133450

  6. 6. Li, J. and Liu, J. (2019) A Logistic Two-Population Mortality Projection Model for Modelling Mortality at Advanced Ages for Both Sexes. Scandinavian Actuarial Journal, 2019, 97-112. https://doi.org/10.1080/03461238.2018.1511464

  7. 7. 李志生, 刘恒甲. Lee-Carter的估计和应用——基于中国数据分析[J]. 中国人口科学, 2010(3): 47-56.

  8. 8. 黄顺林, 王晓军. 加入出生年效应的死亡率预测及其在年金系数估计中的应用[J]. 统计与信息论, 2010(5): 81-86.

  9. 9. 韩猛, 王晓军. Lee-Carter模型在中国城市人口死亡率预测中的应用与改进[J]. 保险研究, 2010(10): 3-9.

  10. 10. 曾燕, 陈曦, 邓颖璐. 创新的动态人口死亡率预测及其应用[J]. 系统工程理论与实践, 2016, 36(7): 1710-1718.

  11. 11. 曹园. 基于Lee-Carter模型的我国死亡率预测[J]. 统计与决策, 2018(9): 32-36.

  12. 12. 樊毅, 张宁. 基于全人口死亡率数据的随机死亡率模型拟合效果比较[J]. 统计与决策, 2018(23): 33-37.

  13. 13. 王晓军, 陆倩. 高龄人口死亡率预测模型的比较与选择[J]. 保险研究, 2019(3): 82-102.

  14. 14. 马海飞, 肖鸿民, 赵弘宇. 一种新的死亡率模型及基于中国人口数据的比较分析[J]. 经济数学, 2020, 37(3): 99-106.

  15. 15. 肖鸿民, 马海飞, 康彦玲. 两种死亡率预测方法的比较[J]. 统计与决策, 2020, 36(23): 5-8.

  16. 16. Deprez, P., Shevchenko, P.V. and Wüthrich, M.V. (2017) Machine Learning Techniques for Mortality Modeling. European Actuarial Journal, 7, 337-352. https://doi.org/10.1007/s13385-017-0152-4

  17. 17. Hainaut, D. (2018) A Neural-Network Analyzer for Mortality Forecasting. ASTIN Bulletin: The Journal of the IAA, 48, 481-508. https://doi.org/10.1017/asb.2017.45

  18. 18. 陈宁. 基于神经网络死亡率模型的我国死亡率预测及应用[D]: [硕士学位论文]. 天津: 天津财经大学, 2019.

  19. 19. 张连增, 申晴, 丁宁. 自编码器在死亡率预测中的应用研究[J]. 保险研究, 2020(7): 83-93.

  20. 20. Hong, W.H., et al. (2020) Forecasting Mortality Rates Using Hybrid Lee-Carter Model, Artificial Neural Network and Random Forest. Complex & Intelligent Systems, 7, 163-189. https://doi.org/10.1007/s40747-020-00185-w

  21. 21. Giuseppe Ciaburro, Balaji Venkateswaran. R语言实现[M]. 李洪成, 译. 北京: 机械工业出版社, 2018.

  22. 22. 贾明珠. 基于机器学习的时间序列分析方法研究与应用[D]: [硕士学位论文]. 西安: 西安科技大学, 2020.

  23. 23. 杨丽, 吴雨茜, 王俊丽, 刘义理. 循环神经网络研究综述[J]. 计算机应用, 2018, 38(S2): 1-6+26.

  24. NOTES

    1极大似然估计法的一个优点是不需要对kt 的估计值进行修正,因为该方法直接假设死亡数服从泊松分布,而SVD (Singular Value Decomposition)法求出的kt的估计值需要进一步修正。

期刊菜单