R语言模拟保险模型中分类器的ROC曲线不良表现

简介: R语言模拟保险模型中分类器的ROC曲线不良表现

在课程中进行案例研究(使用真实数据)时,学生都会惊讶地发现很难获得“好”模型,而当试图对索赔的概率进行建模时,他们总是会惊讶地发现AUC较低。因为保险中存在很多'随机性'。

更具体地说,我决定进行一些模拟,并计算AUC以查看发生了什么。而且由于我不想浪费时间进行拟合模型,因此我们假设每次都有一个完美的模型。因此,我想表明AUC的上限实际上很低!因此,这不是建模问题,而是保险业的基础问题。

我们使用协变量(例如在汽车保险中的汽车驾驶员的年龄或在人寿保险中的保单持有人的年龄等)。然后我们使用它们来训练模型。然后,我们使用从混淆矩阵获得的ROC曲线来检查我们的模型是否良好。在这里,我不会尝试构建模型。我会预测每次真实基础概率超过阈值!

在这里 p(\ omega_1)表示索赔损失,欺诈等的可能性。这里存在异质性,这种异质性可以很小,也可以很大。请看下面的图表来说明,

在这两种情况下,平均有25%的机会要求赔偿损失。但是在左边,存在更多的异构性,更多的分散性。为了说明这一点,我使用了箭头。

考虑一些带有伯努利变量的数据集 y,用这些概率得出p( omega),p ω )。然后,我们假设我们能够得到一个完美的模型:我不会基于某些协变量来估计模型,在这里,我假设我完全知道概率。更具体地说,为了生成概率向量,在这里我使用具有给定均值和给定方差的Beta分布(以捕获上面提到的异质性).


a=m*(m*(1-m)/v-1)
b=(1-m)*(m*(1-m)/v-1)
p=rbeta(n,a,b)

从这些概率中,我模拟了索赔或死亡的发生,

 

Y=rbinom(n,size = 1,prob = p)

然后,我计算出“完美”模型的AUC,

 

auc.tmp=performance(prediction(p,Y),"auc")

然后,我将生成许多样本,以计算AUC的平均值。我们可以对Beta分布的均值和方差的许多值执行此操作。这是代码

Vm=seq(.025,.975,by=.025)
Vi=seq(.01,.5,by=.01)
V=outer(X = Vm,Y = Vi, Vectorize(function(x,y)
Sim_AUC_mean_inter(x,y)$moy_AUC))
library("RColorBrewer")
image(Vm,Vi,V,
xlab="Probability (Average)",
ylab="Dispersion (Q95-Q5)",
col=
colorRampPalette(brewer.pal(n = 9, name = "YlGn"))(101))
contour(Vm,Vi,V,add=TRUE,lwd=2)
 

 

x轴上,我们有索赔的平均概率。当然,这里是对称的。在y轴上,我们具有分散性:投资组合中的异质性越低,其混合性就越小。例如,平均有30%的机会要求损失,分散度为20%(这意味着在投资组合中,90%的被保险人有20%至40%的机会主张损失),我们平均有60%的AUC。

根据我的经验,在汽车保险中,90%的被保险人有3%到20%的机会要求赔偿,在那种情况下,即使(平均)概率很小,也期望AUC很难高于60%或65%。

相关文章
|
6月前
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
|
6月前
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
2月前
|
机器学习/深度学习 算法 前端开发
R语言基础机器学习模型:深入探索决策树与随机森林
【9月更文挑战第2天】决策树和随机森林作为R语言中基础且强大的机器学习模型,各有其独特的优势和适用范围。了解并熟练掌握这两种模型,对于数据科学家和机器学习爱好者来说,无疑是一个重要的里程碑。希望本文能够帮助您更好地理解这两种模型,并在实际项目中灵活应用。
|
2月前
|
机器学习/深度学习
R语言模型评估:深入理解混淆矩阵与ROC曲线
【9月更文挑战第2天】混淆矩阵和ROC曲线是评估分类模型性能的两种重要工具。混淆矩阵提供了模型在不同类别上的详细表现,而ROC曲线则通过综合考虑真正率和假正率来全面评估模型的分类能力。在R语言中,利用`caret`和`pROC`等包可以方便地实现这两种评估方法,从而帮助我们更好地理解和选择最适合当前任务的模型。
|
3月前
|
资源调度 数据挖掘
R语言回归分析:线性回归模型的构建与评估
【8月更文挑战第31天】线性回归模型是统计分析中一种重要且实用的工具,能够帮助我们理解和预测自变量与因变量之间的线性关系。在R语言中,我们可以轻松地构建和评估线性回归模型,从而对数据背后的关系进行深入的探索和分析。
|
6月前
【R语言实战】——Logistic回归模型
【R语言实战】——Logistic回归模型
|
6月前
|
机器学习/深度学习 数据可视化
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
R语言Stan贝叶斯回归置信区间后验分布可视化模型检验|附数据代码
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
R语言从数据到决策:R语言在商业分析中的实践
【9月更文挑战第1天】R语言在商业分析中的应用广泛而深入,从数据收集、预处理、分析到预测模型构建和决策支持,R语言都提供了强大的工具和功能。通过学习和掌握R语言在商业分析中的实践应用,我们可以更好地利用数据驱动企业决策,提升企业的竞争力和盈利能力。未来,随着大数据和人工智能技术的不断发展,R语言在商业分析领域的应用将更加广泛和深入,为企业带来更多的机遇和挑战。
|
17天前
|
数据挖掘 C语言 C++
R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。
【10月更文挑战第21天】时间序列分析是一种重要的数据分析方法,广泛应用于经济学、金融学、气象学、生态学等领域。R语言是一种强大的统计分析工具,提供了丰富的函数和包用于时间序列分析。本文将介绍使用R语言进行时间序列分析的基本概念、方法和实例,帮助读者掌握R语言在时间序列分析中的应用。
39 3
|
6月前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化

热门文章

最新文章