R语言用Copulas模型的尾部相依性分析损失赔偿费用

简介: R语言用Copulas模型的尾部相依性分析损失赔偿费用

原文链接:http://tecdat.cn/?p=22226


两个随机变量之间的相依性问题备受关注,相依性(dependence)是反映两个随机变量之间关联程度的一个概念点击文末“阅读原文”获取完整代码数据


它与相关性(correlation)有区别,常用的相关性度量是Pearson相关系数,它只度量了两个随机变量之间的线性关系,其值不仅依赖于它们的Copula函数,而且还依赖它们的边缘分布函数。


直观地说,Copula函数就是两个(或多个)随机变量的联合分布可以表示为它们的边缘分布函数的函数,这个函数就是Copula函数,它与随机变量的边缘分布没有关系,所反映的是两个(多个)随机变量之间的“结构”,这种结构包含了两个随机变量相依性的全部信息。


Joe(1990)尾部相依性指数


Joe(1990)提出了一个(强)尾部相依性指数。例如,对于下尾,可以考虑

也就是

  • 上下尾(经验)相依性函数

我们的想法是绘制上面的函数。定义

下尾

对上尾来说,其中是 ,相依的生存copula ,即

其中

现在,我们可以很容易地推导出这些函数的经验对应关系,即:

因此,对于上尾,在右边,我们有以下图形

而对于下尾,在左边,我们有

点击标题查阅往期内容


matlab使用Copula仿真优化市场风险数据VaR分析


01

02

03

04



损失赔偿数据


Copula函数在经济、金融、保险等领域有广泛的应用.早在1998年Frees和Valdez(1998)研究了索赔额与管理费之间的关系,采用了Copula函数对其进行刻画并应用于保费的定价。

对于代码,考虑一些真实的数据,比如损失赔偿数据集。

损失赔偿费用数据有1,500个样本和2个变量。这两栏包含赔偿金付款(损失)和分配的损失调整费用(alae)。后者是与解决索赔相关的额外费用(如索赔调查费用和法律费用)。

我们的想法是,在左边绘制下尾函数,在右边绘制上尾函数。

现在,我们可以将这个图形,与一些具有相同Kendall's tau参数的copulas图形进行比较


高斯copulas


如果我们考虑高斯copulas 。

> copgauss=normalCopula(paramgauss)
> Lga=function(z) pCopula(c(z,z),copgauss)/z
> Rga=function(z) (1-2*z+pCopula(c(z,z),copgauss))/(1-z)
> lines(c(u,u+.5-u\[1\]),c(Lgs,Rgs)

Gumbelcopula


或Gumbel的copula。

> copgumbel=gumbelCopula(paramgumbel, dim = 2)
> lines(c(u,u+.5-u\[1\])

置信区间


但是由于我们没有任何置信区间,所以仍然很难得出结论(即使看起来Gumbel copula比Gaussian copula更适合)。一个策略可以是从这些copula曲线中生成样本,并可视化。对于高斯copula曲线

> nsimul=500
> for(s in 1:nsimul){
+ Xs=rCopula(nrow(X),copgauss)
+ Us=rank(Xs\[,1\])/(nrow(Xs)+1)
+ Vs=rank(Xs\[,2\])/(nrow(Xs)+1)
+ lines(c(u,u+.5-u\[1\]),MGS\[s,\],col="red")

包括–逐点–90%的置信区间

> Q95=function(x) quantile(x,.95)
> lines(c(u,u+.5-u\[1\]),V05,col="red",lwd=2)

高斯copula曲线  

Gumbel copula曲线

尽管统计收敛的速度会很慢,评估底层的copula 曲线是否具有尾部相依性简单。尤其是当copula 曲线表现出尾部独立性的时候。比如考虑一个1000大小的高斯copula 样本。这是我们生成随机方案后得到的结果。

或者我们看一下左边的尾巴(用对数比例)

现在,考虑10000个样本。

在这些图上,如果极限是0,或者是某个严格的正值,是相当难以断定的(同样,当感兴趣的值处于参数的支持边界时,这是一个经典的统计问题)。所以,一个简单的想法是考虑一个较弱的尾部相依指数。

===


Ledford 和_Tawn(1996)_尾部相关系数


描述尾部相依性的另一种方法可以在Ledford & Tawn(1996)中找到。假设和具有相同的分布。现在,如果我们假设这些变量是(严格)独立的。

但如果我们假设这些变量是(严格的)同单调性的(即这里的变量是相等的,因为它们有相同的分布),则

所以,有这样一个假设:

那么a=2可以解释为独立性,而a=1则表示强(完美)正相依性。因此,考虑进行如下变换,得到[0,1]中的一个参数,其相依性强度随指数的增加而增加,例如

为了推导出尾部相依指数,假设存在一个极限,即

这将被解释为一个(弱)尾部相依指数。因此定义函数

下尾巴(在左边)

上尾(在右边)。计算这些函数的R代码非常简单。

> L2emp=function(z) 2*log(mean(U<=z))/
> R2emp=function(z) 2*log(mean(U>=1-z))/
+ log(mean((U>=1-z)&(V>=1-z)))-1
> plot(c(u,u+.5-u\[1\]),c(L,R),type="l",ylim=0:1,
> abline(v=.5,col="grey")


高斯copula函数


同样,也可以将这些经验函数与一些参数函数进行对比,例如,从高斯copula函数中得到的函数(具有相同的Kendall's tau)。

> copgauss=normalCopula(paramgauss)
> Lgs =function(z) 2*log(z)/log(pCopula(c(z,z),
+ copgauss))-1
> Rgas =function(z) 2\*log(1-z)/log(1-2\*z+
+ pCopula(c(z,z),copgauss))-1
> lines(c(u,u+.5-u\[1\])

Gumbel copula


> copgumbel=gumbelCopula(paramgumbel, dim = 2)
> L=function(z) 2*log(z)/log(pCopula(c(z,z),
+ copgumbel))-1
> R=function(z) 2\*log(1-z)/log(1-2\*z+
+ pCopula(c(z,z),copgumbel))-1
> lines(c(u,u+.5-u\[1\]),c(Lgl,Rgl),col="blue")

同样,我们观察置信区间,Gumbel copula在这里提供了一个很好的拟合


极值copula


我们考虑copulas族中的极值copulas。在双变量的情况下,极值可以写为

其中 为Pickands相依函数,它是一个凸函数,满足于

观察到,在这种情况下:

其中 肯德尔系数,可写成

例如

那么,我们就得到了Gumbel copula。现在,我们来看(非参数)推理,更准确地说,是相依函数的估计。最标准的估计器的出发点是观察 是否有copula函数


具有分布函数

而反过来,Pickands相依函数可以写成

因此,Pickands函数的自然估计是

其中, 是经验累积分布函数


这是Capéràa, Fougères & Genest (1997)中提出的估计方法。在这里,我们可以用

> Z=log(U\[,1\])/log(U\[,1\]*U\[,2\])
> h=function(t) mean(Z<=t)
> a=function(t){
function(t) (H(t)-t)/(t*(1-t))
+ return(exp(integrate(f,lower=0,upper=t,
+ subdivisions=10000)$value))
> plot(c(0,u,1),c(1,A(u),1),type="l"

整合得到Pickands相依函数的估计值。上图中可以直观地看到上尾的相依指数。

> A(.5)/2
[1] 0.405
相关文章
|
3月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
2月前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
53 3
|
3月前
|
数据采集 数据可视化 数据挖掘
R语言在金融数据分析中的深度应用:探索数据背后的市场智慧
【9月更文挑战第1天】R语言在金融数据分析中展现出了强大的功能和广泛的应用前景。通过丰富的数据处理函数、强大的统计分析功能和优秀的可视化效果,R语言能够帮助金融机构深入挖掘数据价值,洞察市场动态。未来,随着金融数据的不断积累和技术的不断进步,R语言在金融数据分析中的应用将更加广泛和深入。
|
3月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
R语言在数据科学中的应用实例:探索与预测分析
【8月更文挑战第31天】通过上述实例,我们展示了R语言在数据科学中的强大应用。从数据准备、探索、预处理到建模与预测,R语言提供了完整的解决方案和丰富的工具集。当然,数据科学远不止于此,随着技术的不断发展和业务需求的不断变化,我们需要不断学习和探索新的方法和工具,以更好地应对挑战,挖掘数据的潜在价值。 未来,随着大数据和人工智能技术的普及,R语言在数据科学领域的应用将更加广泛和深入。我们期待看到更多创新的应用实例,为各行各业的发展注入新的动力。
|
4月前
|
数据采集 存储 数据可视化
R语言时间序列分析:处理与建模时间序列数据的深度探索
【8月更文挑战第31天】R语言作为一款功能强大的数据分析工具,为处理时间序列数据提供了丰富的函数和包。从数据读取、预处理、建模到可视化,R语言都提供了灵活且强大的解决方案。然而,时间序列数据的处理和分析是一个复杂的过程,需要结合具体的应用场景和需求来选择合适的方法和模型。希望本文能为读者在R语言中进行时间序列分析提供一些有益的参考和启示。
|
4月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
7月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
7月前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
4月前
|
机器学习/深度学习 数据采集
R语言逻辑回归、GAM、LDA、KNN、PCA主成分分类分析预测房价及交叉验证
上述介绍仅为简要概述,每个模型在实施时都需要仔细调整与优化。为了实现高度精确的预测,模型选择与调参是至关重要的步骤,并且交叉验证是提升模型稳健性的有效途径。在真实世界的房价预测问题中,可能还需要结合地域经济、市场趋势等宏观因素进行综合分析。
88 3