R语言逻辑回归和泊松回归模型对发生交通事故概率建模

摘要:
使用泊松过程模型,我们可以得出一年前六个月无索赔的概率是一年无索赔的平方根。事实上,使用这两个模型,可以进行更复杂的回归分析,以可视化年龄对交通事故发生或未发生概率的影响。
 

R语言逻辑回归和泊松回归模型对发生交通事故概率建模第1张

R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

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

 

我们已经看到了如何考虑风险敞口,计算包含风险敞口的多个数量(经验均值和经验方差)的非参数估计量。让我们看看如果要对二项式变量建模。

这里的模型如下:

  • 未观察到https://latex.codecogs.com/gif.latex?N_iR语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​该期间的索赔数量 https://latex.codecogs.com/gif.latex?[0,1]R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张
  • 索偿的数量  https://latex.codecogs.com/gif.latex?Y_iR语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

 R语言逻辑回归和泊松回归模型对发生交通事故概率建模第9张R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

考虑一种情况,其中关注变量不是索偿的数量,而仅仅是索偿发生的标志。然后,我们希望将事件模型https://latex.codecogs.com/gif.latex? {N = 0 }R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​对比https://latex.codecogs.com/gif.latex? {N%3E0 }R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​,解释为不发生发生。鉴于我们只能观察https://latex.codecogs.com/gif.latex? {Y = 0 }R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​vs   https://latex.codecogs.com/gif.latex? {Y%3E0 }R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​。利用泊松过程模型,我们可以获得

https://latex.codecogs.com/gif.latex?mathbb{P}(Y=0)%20=%20mathbb{P}(N=0)^ER语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

这意味着在一年的前六个月中没有索赔的概率是一年中没有索赔的平方根。假设可以https://latex.codecogs.com/gif.latex?oldsymbol{X}R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​通过一些链接函数(使用GLM术语)表示为一些协变量来解释没有索赔的概率,

https://latex.codecogs.com/gif.latex?mathbb {P}(N = 0 | boldsymbol {X})= h( boldsymbol {X} ^ { text { sffamily%20T}} \粗体符号{ beta})R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

现在,因为我们确实观察到  https://latex.codecogs.com/gif.latex?YR语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​而不是  https://latex.codecogs.com/gif.latex?NR语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

我们有

https://latex.codecogs.com/gif.latex?mathbb{P}(Y=0|oldsymbol{X},E)=h(oldsymbol{X}^{ ext{sffamily%20T} } boldsymbol { beta})^ ER语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

我们将使用的数据集







> T1= contrat$nocontrat[I==FALSE]
> nombre2 = data.frame(nocontrat=T1,nbre=0)

> sinistres = merge(contrat,nombre)
> sinistres$nonsin = (sinistres$nbre==0)
R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

我们可以考虑的第一个模型基于标准的逻辑回归方法,即

https://latex.codecogs.com/gif.latex?mathbb {P}(Y = 0 | boldsymbol {X},E)= left( frac { exp( boldsymbol {X} ^ {文字{ sffamily%20T}} boldsymbol { beta})} {1+ exp( boldsymbol {X} ^ { text { sffamily%20T}} boldsymbol { beta})} right)^ ËR语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

很好,但是很难用标准函数处理。尽管如此,始终有可能通过数值计算给定的最大似然估计量https://latex.codecogs.com/gif.latex?(Y_i,oldsymbol{X}_i,E_i)R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​。









> optim(fn=logL,par=c(-0.0001,-.001),
+ method="BFGS")
$par
[1] 2.14420560 0.01040707
$value
[1] 7604.073
$counts
function gradient 
      42       10 
$convergence
[1] 0
$message
NULL


R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

现在,让我们看看基于标准回归模型的替代方案。例如对数线性模型Logistic回归算法)。因为暴露数是年概率的幂,所以如果https://latex.codecogs.com/gif.latex?hR语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​是指数函数(或  https://latex.codecogs.com/gif.latex?h^{-1}R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​对数链接函数)  ,因为

https://latex.codecogs.com/gif.latex?mathbb{P}(Y=0|oldsymbol{X},E)=exp(E+oldsymbol{X}^{ ext{sffamily% 20T}} boldsymbol { beta})R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

现在,我们对其进行编码,




Error: no valid set of coefficients has been found: please supply starting values
R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

尝试了所有可能的方法,但是无法解决该错误消息,






> reg=glm(nonsin~ageconducteur+offset(exposition),
+ data=sinistresI,family=binomial(link="log"),
+ control = glm.control(epsilon=1e-5,trace=TRUE,maxit=50),
+ start=startglm,
+ etastart=etaglm,mustart=muglm)
Deviance = NaN Iterations - 1 
Error: no valid set of coefficients has been found: please supply starting values
R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

所以我决定放弃。实际上,问题出在https://latex.codecogs.com/gif.latex?mathbb{P}(Y=0)R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​接近1 的事实。因为

https://latex.codecogs.com/gif.latex?mathbb{P}(Y%3E0)=1-mathbb{P}(Y=0)%20=%201-[1-mathbb{P }(N%3E0)] ^ ER语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

其中https://latex.codecogs.com/gif.latex?mathbb{P}(N%3E0)R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​接近0,所以我们可以用泰勒展开,

https://latex.codecogs.com/gif.latex?mathbb{P}(Y%3E0)sim1-1+Ecdot%20mathbb{P}(N%3E0)]=Ecdot% 20 mathbb {P}(N%3E0)]R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

在这里,暴露数不再显示为概率的幂,而是相乘。如果我们考虑对数链接函数,那么我们可以合并暴露数的对数。

现在可以完美运行了。

现在,要查看最终模型,我们回到Poisson回归模型,因为我们确实有概率模型https://latex.codecogs.com/gif.latex?mathbb{P}(Y=cdot)R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张​。

现在我们可以比较这三个模型。我们还应该包括没有任何解释变量的预测。对于第二个模型(实际上,它运行时没有任何解释变量),我们运行

>  regreff=glm((1-nonsin)~1+offset(log(exposition)),
+ data=sinistres,family=binomial(link="log"))
R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

预测

> exp(coefficients(regreff))
(Intercept) 
 0.06776376
R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

可与逻辑回归比较,






> 1-exp(param)/(1+exp(param))
[1] 0.06747777
R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

但是与泊松模型有很大的不同,




(Intercept) 
 0.07279295
R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

我们产生一个图表比较那些模型,









> lines(age,1-yml1,type="l",col="purple")
> abline(h=exp(coefficients(regreff)),lty=2)
R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

R语言逻辑回归和泊松回归模型对发生交通事故概率建模第60张R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张

在这里观察到这三个模型是完全不同的。实际上,使用两个模型,可以进行更复杂的回归分析(例如使用样条曲线),以可视化年龄对发生或不发生交通事故概率的影响。如果将泊松回归(仍为红色)和对数二项式模型与泰勒展开进行比较,我们得到

R语言逻辑回归和泊松回归模型对发生交通事故概率建模第62张R语言逻辑回归和泊松回归模型对发生交通事故概率建模第2张


参考文献

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

免责声明:文章转载自《R语言逻辑回归和泊松回归模型对发生交通事故概率建模》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇机器学习总结-谱聚类java异常处理中的return和throw下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

批处理命令篇--配置免安装mysql

免安装版的mysql是进行软件绿色发布的绝佳助手,本文介绍一种使用批处理命令自动配置mysql的方法。 (1)建立三个文件,分别是:service install.bat,temp.txt,update.sql。 (2)在temp.txt文件中写入如下内容: set PathTemp= (3)在update.sql文件中写入如下内容: use mysql...

JDK安装

转自:http://www.cnblogs.com/smyhvae/p/3788534.html 【正文】 1、安装JDK开发环境 下载网站:http://www.oracle.com/ 开始安装JDK: 修改安装目录如下: 确定之后,单击“下一步”。 注:当提示安装JRE时,可以选择不要安装。 2、配置环境变量: 对于Java程序开发而言,主要...

MATLAB的基本元素

MALTAB程序的基本数据单元是数组,MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_).只有前31个字符是有效的;如果超过了31 个字符,基余的字符将被忽略。如果声明两个变量,两变量名只有第32 个字符不同,那么MATLAB 将它们当作同一变量对待。要注意的是:确保你所声明的变量名前31 个字符是独一无二的。否则,MATLAB 将无...

掌握VS2010调试 -- 入门指南

Reference from : http://blog.csdn.net/kingzone_2008/article/details/8133048 1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间。通常,debug是指发现缺陷并改...

shell 脚本 常用命令

Shell 脚本常用命令  Shell脚本是Linux开发工作中常用的工具,但是我一直没有找到一个适合自己的简明扼要的HandBook。在工作过程中整理了一下,贴在这里已备查看。 1           Shell中的特殊符号 1.1           $  美元符号。用来表示变量的值。如变量NAME的值为Mike,则使用$NAME就可以得到“Mike...

Idea 软件使用快捷键归纳01

<1>CTRL+P 方法参数提示 <2>ctrl+/ 单行注释 <3>Ctrl+Alt+MIDEA 重复代码快速重构(抽取重复代码快捷键) <4>alt+enter自我修复,出现红色错误代码的解决方案(注意:光标必须定位在红色错误代码处) 可以实现自动导包 <5>ctrl+alt+L自动格式化代码...