R语言精算学:使用链梯法Chain Ladder和泊松定律模拟和预测未来赔款数据
时间:2022-07-22
本文章向大家介绍R语言精算学:使用链梯法Chain Ladder和泊松定律模拟和预测未来赔款数据,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
原文链接:http://tecdat.cn/?p=13923
我们停止使用模拟方法,通过对增量进行泊松回归,我们获得了与链梯法Chain Ladder方法完全相同的结果
> Y [,1] [,2] [,3] [,4] [,5] [,6][1,] 3209 1163 39 17 7 21[2,] 3367 1292 37 24 10 NA[3,] 3871 1474 53 22 NA NA[4,] 4239 1678 103 NA NA NA[5,] 4929 1865 NA NA NA NA[6,] 5217 NA NA NA NA NA> summary(reg2)Call:glm(formula = y ~ as.factor(ai) + as.factor(bj), family = poisson, data = base)Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 8.05697 0.01551 519.426 < 2e-16 ***as.factor(ai)2001 0.06440 0.02090 3.081 0.00206 ** as.factor(ai)2002 0.20242 0.02025 9.995 < 2e-16 ***as.factor(ai)2003 0.31175 0.01980 15.744 < 2e-16 ***as.factor(ai)2004 0.44407 0.01933 22.971 < 2e-16 ***as.factor(ai)2005 0.50271 0.02079 24.179 < 2e-16 ***as.factor(bj)1 -0.96513 0.01359 -70.994 < 2e-16 ***as.factor(bj)2 -4.14853 0.06613 -62.729 < 2e-16 ***as.factor(bj)3 -5.10499 0.12632 -40.413 < 2e-16 ***as.factor(bj)4 -5.94962 0.24279 -24.505 < 2e-16 ***as.factor(bj)5 -5.01244 0.21877 -22.912 < 2e-16 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for poisson family taken to be 1) Null deviance: 46695.269 on 20 degrees of freedomResidual deviance: 30.214 on 10 degrees of freedom (15 observations deleted due to missingness)AIC: 209.52Number of Fisher Scoring iterations: 4 [,1] [,2] [,3] [,4] [,5] [,6][1,] 3155.7 1202.1 49.8 19.1 8.2 21.0[2,] 3365.6 1282.1 53.1 20.4 8.8 22.4[3,] 3863.7 1471.8 61.0 23.4 10.1 25.7[4,] 4310.1 1641.9 68.0 26.1 11.2 28.7[5,] 4919.9 1874.1 77.7 29.8 12.8 32.7[6,] 5217.0 1987.3 82.4 31.6 13.6 34.7[1] 2426.985
注意到泊松定律的变化太小
Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 8.05697 0.02769 290.995 < 2e-16 ***as.factor(ai)2001 0.06440 0.03731 1.726 0.115054 as.factor(ai)2002 0.20242 0.03615 5.599 0.000228 ***as.factor(ai)2003 0.31175 0.03535 8.820 4.96e-06 ***as.factor(ai)2004 0.44407 0.03451 12.869 1.51e-07 ***as.factor(ai)2005 0.50271 0.03711 13.546 9.28e-08 ***as.factor(bj)1 -0.96513 0.02427 -39.772 2.41e-12 ***as.factor(bj)2 -4.14853 0.11805 -35.142 8.26e-12 ***as.factor(bj)3 -5.10499 0.22548 -22.641 6.36e-10 ***as.factor(bj)4 -5.94962 0.43338 -13.728 8.17e-08 ***as.factor(bj)5 -5.01244 0.39050 -12.836 1.55e-07 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 (Dispersion parameter for quasipoisson family taken to be 3.18623) Null deviance: 46695.269 on 20 degrees of freedomResidual deviance: 30.214 on 10 degrees of freedom (15 observations deleted due to missingness)AIC: NANumber of Fisher Scoring iterations: 4
通常,通过构造皮尔逊残基的形式为
我们已经在定价过程中看到,分母的方差可以被预测代替,因为在泊松模型中,期望和方差是相同的。所以我们考虑
> round(matrix(base$erreur,n,n),1) [,1] [,2] [,3] [,4] [,5] [,6][1,] 0.9 -1.1 -1.5 -0.5 -0.4 0[2,] 0.0 0.3 -2.2 0.8 0.4 NA[3,] 0.1 0.1 -1.0 -0.3 NA NA[4,] -1.1 0.9 4.2 NA NA NA[5,] 0.1 -0.2 NA NA NA NA[6,] 0.0 NA NA NA NA NA
值得关注的是,如果是渐近的良好估计,则在有限距离处不是这种情况,因为我们对方差有一个偏估计。 另外,应该校正方差估计量
然后是应使用的皮尔逊残基。
> E [1] 1.374976e+00 3.485024e-02 1.693203e-01 -1.569329e+00 1.887862e-01 [6] -1.459787e-13 -1.634646e+00 4.018940e-01 8.216186e-02 1.292578e+00[11] -3.058764e-01 -2.221573e+00 -3.207593e+00 -1.484151e+00 6.140566e+00[16] -7.100321e-01 1.149049e+00 -4.307387e-01 -6.196386e-01 6.000048e-01[21] -8.987734e-15
通过对这些残基进行重采样。为简单起见,我们将生成一个小矩形
> round(matrix(Tb,n,n),1) [,1] [,2] [,3] [,4] [,5] [,6][1,] 3115.8 1145.4 58.9 46.0 6.4 26.9[2,] 3179.5 1323.2 54.5 21.3 12.2 NA[3,] 4245.4 1448.1 61.0 7.9 NA NA[4,] 4312.4 1581.7 68.7 NA NA NA[5,] 4948.1 1923.9 NA NA NA NA[6,] 4985.3 NA NA NA NA NA
这样我们就可以做几件事
- 使用Chain Ladder方法完成流量三角形,即计算我们认为未来几年将支付的平均金额
- 生成未来几年的付款方案,根据泊松定律(以我们刚刚计算的平均金额为中心)生成付款
- 产生比Poisson定律方差更大的定律的支付方案。理想情况下,我们希望模拟拟泊松定律,但这不是真实定律。另一方面,我们可以记住,在这种情况下,伽玛定律应该给出一个很好的近似值。
最后一点,我们将使用以下代码生成准定律,
> rqpois = function(n, lambda, phi, roundvalue = TRUE) {+ b = phi+ a = lambda/phi+ r = rgamma(n, shape = a, scale = b)+ if(roundvalue){r=round(r)}+ return(r)+ }
然后,我们将执行一个小函数,该函数将从三角形计算出未来的平均付款额或各付款场景的总和数,
它仍然会生成三角形的数据包。但是,可以生成负增量的三角形。简而言之,当我们支付负数时,将为空值。这样,对分位数的影响(先验)将可以忽略不计。
如果我们查看最佳估计的分布,我们得到
polygon(c(D$x[I],rev(D$x[I])),c(D$y[I],rep(0,length(I))),col="blue",border=NA)
但是,我们还可以在下面将基于泊松定律(等散)的情景可视化
在后一种情况下,我们可以扣除99%的未来付款额。
> quantile(VRq,.99) 99% 2855.01
因此,有必要将拨备金额增加约15%,以确保公司能够在99%的情况下履行承诺,
> quantile(VRq,.99)-2426.985 99% 428.025
- Java Web基础入门
- Java中Optional使用注意事项
- 使用awk来解析dump文件 (73天)
- IntelIj IDEA运行JUnit Test OutOfMemoryError
- git pull fails “unable to resolve reference” “unable to update local ref”
- 使用dropwizard(5)--加入swagger
- 使用hint来调优sql语句(72天)
- 用R语言对城管事件数据分析
- 使用dropwizard(4)-加入测试-jacoco代码覆盖率
- goldengate学习-安装篇(71天)
- 使用dropwizard(6)-国际化-easy-i18n
- 配置不同环境下启用swagger,在生产环境关闭swagger
- 使用ControllerAdvice注意事项,Ambiguous @ExceptionHandler method mapped for [class org.springframework.web.
- rac节点无法启动ORA-29702的问题及分析(70天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ubuntu系统修改时区和时间的方法
- CentOS7 LNMP+phpmyadmin环境搭建 第一篇虚拟机及centos7安装
- flutter 输入框组件TextField的实现代码
- Mac通过不同终端SSH连接远程服务器的讲解
- Linux关于透明大页的使用与禁用介绍
- linux中使用grep命令详解
- linux下使用cmake编译安装mysql的详细教程
- Linux CentOS 7.0中java安装与配置环境变量的步骤详解
- Linux下进程数量的限制pid_max的配置方法
- linux 进程数最大值修改方法
- Linux通过设备号找到设备的方法
- linux环境下安装 openOffice 并启动服务 的方法
- Linux下如何查杀stopped进程详解
- Linux文件服务器实战详解(匿名用户)
- ubuntu16.0.4 设置固定ip地址的方法