前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用

R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用

原创
作者头像
拓端
修改2020-07-10 17:09:05
1.2K0
修改2020-07-10 17:09:05
举报
文章被收录于专栏:拓端tecdat拓端tecdat

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

通常,我们在回归模型中一直说的一句话是“ 请查看一下数据 ”。

上一篇文章中,我们没有查看数据。如果我们查看单个损失的分布,那么在数据集中,我们会看到以下内容:

代码语言:javascript
复制
> n=nrow(couts)> plot(sort(couts$cout),(1:n)/(n+1),xlim=c(0,10000),type="s",lwd=2,col="green")

看来我们的数据库中有固定成本索赔。在标准情况下,我们如何处理?我们可以在这里使用混合分布,

  • 小额索赔的分布
https://latex.codecogs.com/gif.latex?{\color{Blue}%20f_1(}\cdot{\color{Blue}%20)}
https://latex.codecogs.com/gif.latex?{\color{Blue}%20f_1(}\cdot{\color{Blue}%20)}

,例如指数分布

  • 狄拉克分布
https://latex.codecogs.com/gif.latex?{\color{Magenta}%20\kappa}
https://latex.codecogs.com/gif.latex?{\color{Magenta}%20\kappa}

,即

https://latex.codecogs.com/gif.latex?{\color{Magenta}%20\delta_{\kappa}(}\cdot{\color{Magenta}%20)}
https://latex.codecogs.com/gif.latex?{\color{Magenta}%20\delta_{\kappa}(}\cdot{\color{Magenta}%20)}
  • 分布
https://latex.codecogs.com/gif.latex?{\color{Red}%20f_3(}\cdot{\color{Red}%20)}
https://latex.codecogs.com/gif.latex?{\color{Red}%20f_3(}\cdot{\color{Red}%20)}

,例如Gamma分布或对数正态分布

代码语言:javascript
复制
>  I1=which(couts$cout<1120)>  I2=which((couts$cout>=1120)&(couts$cout<1220))>  I3=which(couts$cout>=1220)>  (p1=length(I1)/nrow(couts))[1] 0.3284823>  (p2=length(I2)/nrow(couts))[1] 0.4152807>  (p3=length(I3)/nrow(couts))[1] 0.256237>  X=couts$cout>  (kappa=mean(X[I2]))[1] 1171.998

上一篇文章中,我们讨论了所有参数可能与某些协变量相关的想法,即

https://latex.codecogs.com/gif.latex?f(y | \ boldsymbol {X})%20 =%20p_1(\ boldsymbol {X})%20 {\ color {Blue}%20f_1(} y | \ boldsymbol {X} {\ color {Blue}%20)}%20 +%20p_2(\ boldsymbol {X})%20 {\ color {Magenta}%20 \ delta _ {\ kappa}(} y {\ color {洋红色}%20)}%20 +%20p_3(\ boldsymbol {X})%20 {\ color {Red}%20f_3(} y | \ boldsymbol {X} {\ color {Red}%20)}
https://latex.codecogs.com/gif.latex?f(y | \ boldsymbol {X})%20 =%20p_1(\ boldsymbol {X})%20 {\ color {Blue}%20f_1(} y | \ boldsymbol {X} {\ color {Blue}%20)}%20 +%20p_2(\ boldsymbol {X})%20 {\ color {Magenta}%20 \ delta _ {\ kappa}(} y {\ color {洋红色}%20)}%20 +%20p_3(\ boldsymbol {X})%20 {\ color {Red}%20f_3(} y | \ boldsymbol {X} {\ color {Red}%20)}

产生以下模型,

对于概率,我们应该使用多项式模型。回忆一下逻辑回归模型,如果

https://latex.codecogs.com/gif.latex?(\pi,1-\pi)=(\pi_1,\pi_2)
https://latex.codecogs.com/gif.latex?(\pi,1-\pi)=(\pi_1,\pi_2)

,则

https://latex.codecogs.com/gif.latex?\log%20\frac{\pi}{1-\pi}=\log%20\frac{\pi_1}{\pi_2}%20=\boldsymbol {X}%27 \ boldsymbol {\ beta}
https://latex.codecogs.com/gif.latex?\log%20\frac{\pi}{1-\pi}=\log%20\frac{\pi_1}{\pi_2}%20=\boldsymbol {X}%27 \ boldsymbol {\ beta}

https://latex.codecogs.com/gif.latex?\pi_2%20=%20\frac{1}{1+\exp(\boldsymbol{X}%27\boldsymbol{\beta})}
https://latex.codecogs.com/gif.latex?\pi_2%20=%20\frac{1}{1+\exp(\boldsymbol{X}%27\boldsymbol{\beta})}

要导出多元扩展

https://latex.codecogs.com/gif.latex?\pi_3%20=%20\frac{1}{1+\exp(\boldsymbol{X}%27\boldsymbol{\beta}_1)+\exp (\ boldsymbol {X}%27 \ boldsymbol {\ beta} _2)}
https://latex.codecogs.com/gif.latex?\pi_3%20=%20\frac{1}{1+\exp(\boldsymbol{X}%27\boldsymbol{\beta}_1)+\exp (\ boldsymbol {X}%27 \ boldsymbol {\ beta} _2)}

同样,可以使用最大似然,因为

在这里,变量

https://latex.codecogs.com/gif.latex?Y_{i}
https://latex.codecogs.com/gif.latex?Y_{i}

  (分为三个级别)分为三个指标(就像标准回归模型中的任何分类解释变量一样)。从而,

https://latex.codecogs.com/gif.latex?\log%20\mathcal{L}(\boldsymbol{\beta},\boldsymbol{y})\propto%20\sum_{i=1}^n %20 \ sum_ {j = 1} ^ 2%20 \ left(Y_ {i,j}%20 \ boldsymbol {X} _i%27 \ boldsymbol {\ beta} _j \ right)%20-%20n_i \ log \左[1 + 1 + \ exp(\ boldsymbol {X}%27 \ boldsymbol {\ beta} _1)+ \ exp(\ boldsymbol {X}%27 \ boldsymbol {\ beta} _2)\ right]
https://latex.codecogs.com/gif.latex?\log%20\mathcal{L}(\boldsymbol{\beta},\boldsymbol{y})\propto%20\sum_{i=1}^n %20 \ sum_ {j = 1} ^ 2%20 \ left(Y_ {i,j}%20 \ boldsymbol {X} _i%27 \ boldsymbol {\ beta} _j \ right)%20-%20n_i \ log \左[1 + 1 + \ exp(\ boldsymbol {X}%27 \ boldsymbol {\ beta} _1)+ \ exp(\ boldsymbol {X}%27 \ boldsymbol {\ beta} _2)\ right]

对于逻辑回归,然后使用牛顿拉夫森(Newton Raphson)算法在数值上计算最大似然。在R中,首先我们必须定义级别,例如

代码语言:javascript
复制
> couts$tranches=cut(couts$cout,breaks=seuils,+ labels=c("small","fixed","large"))

然后,我们可以定义一个多分类logistic模型回归

使用一些选定的协变量

代码语言:javascript
复制
> formula=(tranches~ageconducteur+agevehicule+zone+carburant,data=couts)# weights:  30 (18 variable)initial  value 2113.730043 iter  10 value 2063.326526iter  20 value 2059.206691final  value 2059.134802 converged

输出在这里

代码语言:javascript
复制
Coefficients:      (Intercept) ageconducteur agevehicule      zoneB      zoneCfixed  -0.2779176   0.012071029  0.01768260 0.05567183 -0.2126045large  -0.7029836   0.008581459 -0.01426202 0.07608382  0.1007513           zoneD      zoneE      zoneF   carburantEfixed -0.1548064 -0.2000597 -0.8441011 -0.009224715large  0.3434686  0.1803350 -0.1969320  0.039414682Std. Errors:      (Intercept) ageconducteur agevehicule     zoneB     zoneC     zoneDfixed   0.2371936   0.003738456  0.01013892 0.2259144 0.1776762 0.1838344large   0.2753840   0.004203217  0.01189342 0.2746457 0.2122819 0.2151504          zoneE     zoneF carburantEfixed 0.1830139 0.3377169  0.1106009large 0.2160268 0.3624900  0.1243560

为了可视化协变量的影响,还可以使用样条函数

代码语言:javascript
复制
> library(splines)> reg=(tranches~bs(agevehicule))# weights:  15 (8 variable)initial  value 2113.730043 iter  10 value 2070.496939iter  20 value 2069.787720iter  30 value 2069.659958final  value 2069.479535 converged

例如,如果协变量是汽车的寿命,那么我们有以下概率

代码语言:javascript
复制
> predict(reg,newdata=data.frame(agevehicule=5),type="probs")    small     fixed     large 0.3388947 0.3869228 0.2741825

对于0到20岁的所有年龄段,

例如,对于新车,固定成本所占的比例很小(在这里为紫色),并且随着车龄的增长而不断增加。如果协变量是驾驶员居住地区的人口密度,那么我们获得以下概率

代码语言:javascript
复制
# weights:  15 (8 variable)initial  value 2113.730043 iter  10 value 2068.469825final  value 2068.466349 converged> predict    small     fixed     large 0.3484422 0.3473315 0.3042263

基于这些概率,可以在给定一些协变量(例如密度)的情况下得出索赔的预期成本。但首先,定义整个数据集的子集

代码语言:javascript
复制
> sbaseA=couts[couts$tranches=="small",]> sbaseB=couts[couts$tranches=="fixed",]> sbaseC=couts[couts$tranches=="large",]

阈值由

代码语言:javascript
复制
> (k=mean(sousbaseB$cout))[1] 1171.998

然后,让我们运行四个模型,

代码语言:javascript
复制
> reg > regA > regB > regC 

现在,我们可以基于这些模型计算预测,

代码语言:javascript
复制
> pred=cbind(predA,predB,predC)

为了可视化每个组成部分对溢价的影响,我们可以计算概率,预期成本(给定每个子集的成本),

代码语言:javascript
复制
> cbind(proba,pred)[seq(10,90,by=10),]       small     fixed     large    predA    predB    predC10 0.3344014 0.4241790 0.2414196 423.3746 1171.998 7135.90420 0.3181240 0.4471869 0.2346892 428.2537 1171.998 6451.89030 0.3076710 0.4626572 0.2296718 438.5509 1171.998 5499.03040 0.3032872 0.4683247 0.2283881 451.4457 1171.998 4615.05150 0.3052378 0.4620219 0.2327404 463.8545 1171.998 3961.99460 0.3136136 0.4417057 0.2446807 472.3596 1171.998 3586.83370 0.3279413 0.4056971 0.2663616 473.3719 1171.998 3513.60180 0.3464842 0.3534126 0.3001032 463.5483 1171.998 3840.07890 0.3652932 0.2868006 0.3479061 440.4925 1171.998 4912.379

现在,可以将这些数字绘制在图形中,

(水平虚线在我们的数据集中是索赔的平均费用)。


This image has an empty alt attribute; its file name is image.png
This image has an empty alt attribute; its file name is image.png

专栏

精算科学

关于结合数学、统计方法以及程序语言对经济活动来做风险分析、评估的见解。

探索专栏


参考文献

1.用SPSS估计HLM层次线性模型模型

2.R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

3.基于R语言的lmer混合线性回归模型

4.R语言Gibbs抽样的贝叶斯简单线性回归仿真分析

5.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

6.使用SAS,Stata,HLM,R,SPSS和Mplus的分层线性模型HLM

7.R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化

8.R语言用线性回归模型预测空气质量臭氧数据

9.R语言分层线性模型案例

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文链接:http://tecdat.cn/?p=14017
  • 精算科学
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档