首页 > 其他分享 >R语言预测人口死亡率:用李·卡特(Lee-Carter)模型、非线性模型进行平滑估计|附代码数据

R语言预测人口死亡率:用李·卡特(Lee-Carter)模型、非线性模型进行平滑估计|附代码数据

时间:2023-08-11 21:33:25浏览次数:43  
标签:DLNM 语言 模型 非线性 死亡率 Carter Lee

全文链接:http://tecdat.cn/?p=13663

最近我们被客户要求撰写关于预测人口死亡率的研究报告,包括一些图形和统计输出。

今天早上,我和同事一起分析死亡率。我们在研究人口数据集,可以观察到很多波动性

我们得到这样的结果:

 

图片

 

由于我们缺少一些数据,因此我们想使用一些广义非线性模型。因此,让我们看看如何获得死亡率曲面图的平滑估计。我们编写一些代码。

   

D=DEATH$Male
E=EXPO$Male
A=as.numeric(as.character(DEATH$Age))
Y=DEATH$Year
I=(A<100)
base=data.frame(D=D,E=E,Y=Y,A=A)
subbase=base[I,]
subbase=subbase[!is.na(subbase$A),]

第一个想法可以是使用Poisson模型,其中死亡率是年龄和年份的平稳函数,类似于

图片可以使用

   

persp(vZ,theta=-30,col="green",shade=TRUE,xlab="Ages (0-100)",
ylab="Years (1900-2005)",zlab="Mortality rate (log)")

死亡率曲面图

图片

 


点击标题查阅往期内容

图片

R语言Lee-Carter模型对年死亡率建模预测预期寿命

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

还可以提取年份的平均值,这是图片 Lee-Carter模型中系数的解释  

   
predAx=function(a) mean(predict(regbsp,newdata=data.frame(A=a,
Y=seq(min(subbase$Y),max(subbase$Y)),E=1)))
plot(seq(0,99),Vectorize(predAx)(seq(0,99)),col="red",lwd=3,type="l")

我们有以下平滑的死亡率

图片

 

回顾下李·卡特模型是

图片

可以使用以下方法获得参数估计值

   
persp(vZ,theta=-30,col="green",shade=TRUE,xlab="Ages (0-100)",
ylab="Years (1900-2005)",zlab="Mortality rate (log)")

粗略的死亡率曲面图是

图片

 

有以下  图片 系数。

   
plot(seq(1,99),coefficients(regnp)[2:100],col="red",lwd=3,type="l")

图片

 

这里我们有很多系数,但是,在较小的数据集上,我们具有更多的可变性。我们可以平滑李·卡特模型: 

图片

 代码片段

   

persp(vZ,theta=-30,col="green",shade=TRUE,xlab="Ages (0-100)", 
ylab="Years (1900-2005)",zlab="Mortality rate (log)")

现在的死亡人数是

图片

 

得出多年来随年龄变化的平均死亡率,

   
BpA=bs(seq(0,99),knots=knotsA,Boundary.knots=range(subbase$A),degre=3)
Ax=BpA%*%coefficients(regsp)[2:8]
plot(seq(0,99),Ax,col="red",lwd=3,type="l")

图片

 

然后,我们可以使用样条函数的平滑参数,并查看对死亡率曲面的影响

   
persp(vZ,theta=-30,col="green",shade=TRUE,xlab="Ages (0-100)",
ylab="Years (1900-2005)",zlab="Mortality rate (log)")

图片


图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《R语言预测人口死亡率:用李·卡特(Lee-Carter)模型、非线性模型进行平滑估计》。

点击标题查阅往期内容

R语言分布滞后非线性模型(DLNM)研究发病率,死亡率和空气污染示例
R语言分布滞后非线性模型(DLNM)空气污染研究温度对死亡率影响建模应用
R语言分布滞后线性和非线性模型(DLM和DLNM)建模
分布滞后线性和非线性模型(DLNM)分析空气污染(臭氧)、温度对死亡率时间序列数据的影响
R语言中的分布滞后非线性模型DLNM与发病率和空气污染示例
【视频】R语言中的分布滞后非线性模型(DLNM)与发病率,死亡率和空气污染示例
R语言分布滞后线性和非线性模型(DLNM)分析空气污染(臭氧)、温度对死亡率时间序列数据的影响
R语言分布滞后线性和非线性模型(DLMs和DLNMs)分析时间序列数据
R语言分布滞后非线性模型(DLNM)空气污染研究温度对死亡率影响建模应用R语言分布滞后非线性模型(DLNM)研究发病率,死亡率和空气污染示例R语言Lee-Carter模型对年死亡率建模预测预期寿命
R语言预测人口死亡率:用李·卡特(Lee-Carter)模型、非线性模型进行平滑估计
Tableau 数据可视化:探索性图形分析新生儿死亡率数据
R语言模拟人类生活预期寿命动态可视化动画图gif
r语言绘制动态统计图:绘制世界各国的人均GDP,出生时的预期寿命和人口气泡图动画动态gif图
R语言非参数模型厘定保险费率:局部回归、广义相加模型GAM、样条回归
R语言小数定律的保险业应用:泊松分布模拟索赔次数
R语言对巨灾风险下的再保险合同定价研究案例:广义线性模型和帕累托分布Pareto distributions分析
R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口

标签:DLNM,语言,模型,非线性,死亡率,Carter,Lee
From: https://www.cnblogs.com/tecdat/p/17623982.html

相关文章

  • LeetCode 1049.最后一块石头的重量II
    1.题目:1049. 最后一块石头的重量II有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x<=y。那么粉碎的可能结果如下:如果 x==y,那么两块石头都会被完全粉......
  • Leetcode 977. 有序数组的平方(Squares of a sorted array)
    题目链接给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序.示例1:输入:nums=[-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为[16,1,0,9,100]排序后,数组变为[0,1,9,16,100]示例2:输入:nums=[-7,-3,2,3,11]输......
  • 大模型时代的程序员:不会用AIGC编程,未来5年将被淘汰?
    作者|郭炜策划|凌敏前言下面是一段利用Co-Pilot辅助开发的小视频,这是ApacheSeaTunnel开发者日常开发流程中的一小部分。如果你还没有用过Co-Pilot、ChatGPT或者私有化大模型帮助你辅助开发的话,未来的5年,你可能很快就要被行业所淘汰。因为这些善于使用AIGC辅助编......
  • 一文详解Apipost数据模型功能
    在Apipost数据模型中用户可以预先创建多个数据模型,并在API设计过程中重复利用这些模型来构建API创建数据模型在左侧导航点击「数据模型」-「新建数据模型」在右侧工作台配置数据模型参数引入数据模型在API设计预定义响应期望下点击引用数据模型,并选择需要导入的数据模型即可将创建......
  • 开启想象翅膀:轻松实现文本生成模型的创作应用,支持LLaMA、ChatGLM、UDA、GPT2等模型,开
    开启想象翅膀:轻松实现文本生成模型的创作应用,支持LLaMA、ChatGLM、UDA、GPT2等模型,开箱即用1.介绍TextGen实现了多种文本生成模型,包括:LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型,开箱即用。1.1最新更新[2023/06/15]v1.0.0版本:新增ChatGLM/LLaMA/Bloom模......
  • k8s 网络模型
    容器网络通信模式在Host模式中,各容器共享宿主机的根网络名称空间,它们使用同一个接口设备和网络协议栈,因此,用户必须精心管理共享同一网络端口空间容器的应用与宿主机应用,以避免端口冲突。Bridge模式对host模式进行了一定程度的改进,在该模式中,容器从一个或多个专用网络(地址池)中获......
  • mapreduce编程模型介绍
    任何技术点在你未曾接触过的时候,都是觉得雾里看花,水中望月,既遥远又神秘,但是当你尝试学习并通过实践对其脉络掌握清楚以后,就会觉得原来这么简单,技术就是那么一回事儿。mapreduce分布式编程模型是google在2004年提出来的,目的是为了解决海量数据的处理,我们通过一段时间的应用,对mapredu......
  • 7个顶级开源数据集来训练自然语言处理(NLP)和文本模型
    推荐:使用NSDT场景编辑器快速助你搭建可二次编辑的3D应用场景 NLP现在是一个令人兴奋的领域,特别是在像AutoNLP这样的用例中,但很难掌握。开始使用NLP的主要问题是缺乏适当的指导和该领域的过度广度。很容易迷失在各种论文和代码中,试图吸收所有内容。要意识到的是,当涉及到NLP......
  • 时序分析:Python 中的 ARIMA 模型
    推荐:使用NSDT场景编辑器快速助你搭建可二次编辑的3D应用场景什么是ARIMA模型?ARIMA模型是用于分析和预测时间序列数据的统计模型。ARIMA方法明确迎合了时间序列中的标准结构,为制作熟练的时间序列预测提供了一种简单而强大的方法。ARIMA代表自回归积分移动平均线。它结合了三......
  • 鹏业安装算量软件_模型界面增加属性表
    鹏业安装算量软件8月在线培训继续进行培训时间下午时段:周一、三、五(15:00-16:00)晚上时段:周二、四(19:30-20:30)培训内容周一:消防喷淋周二:消火栓、给排水周三:通风空调(空调水、空调风)周四:桥架电缆消防电周五:照明插座综合布线培训频道链接:https://wx.vzan.com/live/pc/channel-detail......