R语言泊松回归对保险定价建模中的应用:风险敞口作为可能的解释变量

简介: R语言泊松回归对保险定价建模中的应用:风险敞口作为可能的解释变量

在保险定价中,风险敞口通常用作模型索赔频率的补偿变量。如果我们必须使用相同的程序,但是一个程序的暴露时间为6个月,而另一个则是一年,那么自然应该假设平均而言,第二个驾驶员的事故要多两倍。这是使用标准(均匀)泊松过程来建模索赔频率的动机。

当然,在进行费率评估的过程中,这可能不是一个相关的问题,因为精算师需要预测年度索赔频率(因为保险合同应提供一年的保险期)。但是,更好地了解人们为什么会离开我们的投资组合(例如,在任期前取消保险单,或者某天不续签)可能会很有趣。

为了更具体和更好地理解,请考虑以下模型:考虑使用Poisson流程对索赔到达进行建模,以及专职于其保险公司的人员。


> n=983
> D1=as.Date("01/01/1993",'%d/%m/%Y')
> D2=as.Date("31/12/2013",'%d/%m/%Y')




> for(i in 1:n){
+   expo=D2-arrival[i]
+   w=0
+   while(max(w)<expo) w=c(w,max(w)+1+trunc(rexp(1,1/1000)))
+   exposure[i]=departure[i]-arrival[i]
+   N[i]=max(0,length(w)-2)}
> df=data.frame(N=N,E=exposure/365)

在这里,两次索赔之间的预期时间为1000天。泊松过程的(年度)强度在这里




> 365/1000
[1] 0.365

因此,如果我们对曝光的对数进行Poisson回归,我们应该获取一个相近参数




> log(365/1000)
[1] -1.007858

在这里,具有偏移量的常数的回归为




 
> summary(reg)


Call:


Deviance Residuals:
Min       1Q   Median       3Q      Max
-3.4145  -0.4673   0.2367   0.8770   3.6828


Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.04233    0.02532  -41.17   <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: 1116.9  on 982  degrees of freedom
Residual deviance: 1116.9  on 982  degrees of freedom
AIC: 3282.9


Number of Fisher Scoring iterations: 5

这与我们刚才所说的一致。如果我们以曝光量的对数作为可能的解释变量进行回归,则我们期望其系数接近1。





Call:


Deviance Residuals:
Min       1Q   Median       3Q      Max
-3.0810  -0.8373  -0.1493   0.5676   3.9001


Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.03350    0.08546  -12.09   <2e-16 ***
log(E)       1.00920    0.03292   30.66   <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: 2553.6  on 982  degrees of freedom
Residual deviance: 1064.2  on 981  degrees of freedom
AIC: 3762.7


Number of Fisher Scoring iterations: 5

如果我们保留偏移量并添加变量,我们可以看到它变得无用(对单位参数的测试)





Call:




Deviance Residuals:
Min       1Q   Median       3Q      Max
-3.0810  -0.8373  -0.1493   0.5676   3.9001


Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.033503   0.085460 -12.093   <2e-16 ***
log(E)       0.009201   0.032920   0.279     0.78
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


(Dispersion parameter for poisson family taken to be 1)


Null deviance: 1064.3  on 982  degrees of freedom
Residual deviance: 1064.2  on 981  degrees of freedom
AIC: 3762.7


Number of Fisher Scoring iterations: 5

在这里,我们确实具有纯泊松过程,因此曝光至关重要,因为泊松分布的参数与曝光成正比。但是我们不能从曝光中学到其他东西。如果考虑暴露的对数的泊松回归,将会得到什么?




> summary(reg)


Call:


Deviance Residuals:
Min       1Q   Median       3Q      Max
-0.3988  -0.3388  -0.2786  -0.1981  12.9036


Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept)     -2.83045    0.02822 -100.31   <2e-16 ***
log(exposition)  0.53950    0.02905   18.57   <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: 12931  on 49999  degrees of freedom
Residual deviance: 12475  on 49998  degrees of freedom
AIC: 16150


Number of Fisher Scoring iterations: 6

如果将曝光量添加到偏移量中,会发生什么情况?(我们使用非参数转换,可视化发生的情况)


plot(reg,se=TRUE)

有明显而显着的效果。时间越长,他们获得索赔的可能性就越小。实际上,无需进行回归即可观察到它。

> plot(h1$mids,h1$density,type='s',lwd=2,col="red")> lines(h0$mids,h0$density,type='s',col='blue',lwd=2)


蓝色为没有索赔人的风险密度,红色为有一个或多个索赔人的风险密度。

因此,在这里,我们不能假设参数的单位值。这意味着什么 ?我们可以重现这种行为吗?

为了更好地理解被保险人,请考虑两种可能的行为。第一个是:如果公司在没有索赔的几年后没有提供大幅折扣,则被保险人可能会离开公司。例如,如果被保险人在5年内没有索偿,那么5年后,他将离开公司(例如,获得更高的价格)。该代码




> df=data.frame(N=N,E=exposure/365)


如果我考虑的是1500天而不是5年。




> summary(reg)


Call:


Deviance Residuals:
Min       1Q   Median       3Q      Max
-1.5684  -0.9668  -0.2321   0.4244   3.6265


Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.50844    0.10286  -24.39   <2e-16 ***
log(E)       1.65738    0.04494   36.88   <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: 2567.31  on 982  degrees of freedom
Residual deviance:  885.71  on 981  degrees of freedom

此处,系数(明显)大于1。




> summary(reg)


Call:


Deviance Residuals:
Min       1Q   Median       3Q      Max
-1.5684  -0.9668  -0.2321   0.4244   3.6265


Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.50844    0.10286  -24.39   <2e-16 ***
log(E)       0.65738    0.04494   14.63   <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: 1114.24  on 982  degrees of freedom
Residual deviance:  885.71  on 981  degrees of freedom
AIC: 2897.9

这里显然存在偏见:长时间待在办公室的人更可能发生事故。这与我们的想法一致,因为客户的风险较低。

第二种行为是:有时,被保险人对索赔的处理方式不满意,他们可能会在第一次索赔后离开。考虑一种情况,在一项索赔之后,被保险人很可能(例如,概率为50%)离开公司。与其假设被保险人不喜欢理赔管理,不如考虑汽车被严重损坏以至于他不能再开车了。因此,支付保险费将毫无用处。这里的代码



> for(i in 1:n){
+   expo=D2-arrival[i]
+   w=0




+   exposure[i]=departure[i]-arrival[i]}
> df=data.frame(N=N,E=exposure/365)


在这里,在每次索赔之后,被保险人扔硬币查看他是否取消合同。






Deviance Residuals:
Min        1Q    Median        3Q       Max
-2.28402  -0.47763  -0.08215   0.33819   2.37628


Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept)  0.09920    0.04251   2.334   0.0196 *
log(E)       0.30640    0.02511  12.203   <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: 666.92  on 982  degrees of freedom
Residual deviance: 498.29  on 981  degrees of freedom
AIC: 2666.3

这次,参数(再次显着)小于1。







Deviance Residuals:
Min        1Q    Median        3Q       Max
-2.28402  -0.47763  -0.08215   0.33819   2.37628


Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept)  0.09920    0.04251   2.334   0.0196 *
log(E)      -0.69360    0.02511 -27.625   <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: 1116.87  on 982  degrees of freedom
Residual deviance:  498.29  on 981  degrees of freedom
AIC: 2666.3

现在的情况已经大不相同了,因为那些待久的人应该不会遇到很多离开的机会。显然,他们没有太多要求。如果某人的风险敞口很大,那么上面输出中的负号表示该人平均应该没有太多债权。

如我们所见,这些模型产生了相当大的差异输出。注意,可能有更多的解释。例如,根据提取数据的方式,

  • 在过去的二十年中,所有遵守的政策,
  • 到现在为止所有在特定日期生效的政策
  • 在某个特定日期生效的所有政策,直到之后的一年
  • 现在生效的所有政策

到目前为止,我们一直在使用第一种方法,但是其他方法会产生不同的解释。

相关文章
|
2月前
|
存储 数据可视化 数据挖掘
R语言在生物信息学中的应用
【10月更文挑战第21天】生物信息学是生物学、计算机科学和信息技术相结合的交叉学科,主要研究生物大分子信息的存储、处理、分析和解释。R语言作为一种强大的统计分析工具,被广泛应用于生物信息学领域。本文将介绍R语言在生物信息学中的应用,包括基因组学、转录组学、蛋白质组学、代谢组学等方面,帮助读者了解R语言在生物信息学中的重要性和应用前景。
71 4
|
2月前
|
机器学习/深度学习 数据采集 人工智能
R语言是一种强大的编程语言,广泛应用于统计分析、数据可视化、机器学习等领域
R语言是一种广泛应用于统计分析、数据可视化及机器学习的强大编程语言。本文为初学者提供了一份使用R语言进行机器学习的入门指南,涵盖R语言简介、安装配置、基本操作、常用机器学习库介绍及实例演示,帮助读者快速掌握R语言在机器学习领域的应用。
97 3
|
2月前
|
机器学习/深度学习 并行计算 数据挖掘
R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域
【10月更文挑战第21天】R语言是一种强大的统计分析工具,广泛应用于数据分析和机器学习领域。本文将介绍R语言中的一些高级编程技巧,包括函数式编程、向量化运算、字符串处理、循环和条件语句、异常处理和性能优化等方面,以帮助读者更好地掌握R语言的编程技巧,提高数据分析的效率。
56 2
|
3月前
|
数据采集
基于R语言的GD库实现地理探测器并自动将连续变量转为类别变量
【9月更文挑战第9天】在R语言中,可通过`gd`包实现地理探测器。首先,安装并加载`gd`包;其次,准备包含地理与因变量的数据框;然后,使用`cut`函数将连续变量转换为分类变量;最后,通过`gd`函数运行地理探测器,并打印结果以获取q值等统计信息。实际应用时需根据数据特点调整参数。
161 8
|
3月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
3月前
|
机器学习/深度学习 算法 数据挖掘
R语言中的支持向量机(SVM)与K最近邻(KNN)算法实现与应用
【9月更文挑战第2天】无论是支持向量机还是K最近邻算法,都是机器学习中非常重要的分类算法。它们在R语言中的实现相对简单,但各有其优缺点和适用场景。在实际应用中,应根据数据的特性、任务的需求以及计算资源的限制来选择合适的算法。通过不断地实践和探索,我们可以更好地掌握这些算法并应用到实际的数据分析和机器学习任务中。
|
4月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
4月前
|
机器学习/深度学习 资源调度 算法
R语言逻辑回归与分类模型的深度探索与应用
【8月更文挑战第31天】逻辑回归作为一种经典的分类算法,在R语言中通过`glm()`函数可以轻松实现。其简单、高效且易于解释的特点,使得它在处理二分类问题时具有广泛的应用价值。然而,值得注意的是,逻辑回归在处理非线性关系或复杂交互作用时可能表现不佳,此时可能需要考虑其他更复杂的分类模型。
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
52 3