暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

拓端数据部落 2023-04-07
355

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


我们已经看到了如何考虑风险敞口,计算包含风险敞口的多个数量(经验均值和经验方差)的非参数估计量点击文末“阅读原文”获取完整代码数据

相关视频


让我们看看如果要对二项式变量建模。

 

这里的模型如下:

  • 未观察到该期间的索赔数量 

  • 索偿的数量  

 

 

 

 

考虑一种情况,其中关注变量不是索偿的数量,而仅仅是索偿发生的标志。然后,我们希望将事件模型对比,解释为不发生发生。鉴于我们只能观察vs   。利用泊松过程模型,我们可以获得

这意味着在一年的前六个月中没有索赔的概率是一年中没有索赔的平方根。假设可以通过一些链接函数(使用GLM术语)表示为一些协变量来解释没有索赔的概率,

现在,因为我们确实观察到  而不是  

我们有

我们将使用的数据集







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

> sinistres = merge(contrat,nombre)
> sinistres$nonsin = (sinistres$nbre==0)

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

很好,但是很难用标准函数处理。尽管如此,始终有可能通过数值计算给定的最大似然估计量。









> 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

现在,让我们看看基于标准回归模型的替代方案。例如对数线性模型(Logistic回归算法)。因为暴露数是年概率的幂因为

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




Error: no valid set of coefficients has been found: please supply starting values

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






> 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

所以我决定放弃。实际上,问题出在接近1 的事实。因为

其中接近0,所以我们可以用泰勒展开,

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

现在可以完美运行了。

现在,要查看最终模型,我们回到Poisson回归模型,因为我们确实有概率模型

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

>  regreff=glm((1-nonsin)~1+offset(log(exposition)),
+ data=sinistres,family=binomial(link="log"))

预测

> exp(coefficients(regreff))
(Intercept)
0.06776376

可与逻辑回归比较,






> 1-exp(param)/(1+exp(param))
[1] 0.06747777

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




(Intercept)
0.07279295

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









> lines(age,1-yml1,type="l",col="purple")
> abline(h=exp(coefficients(regreff)),lty=2)

 


点击标题查阅往期内容


PYTHON用户流失数据挖掘:建立逻辑回归、XGBOOST、随机森林、决策树、支持向量机、朴素贝叶斯和KMEANS聚类用户画像


左右滑动查看更多


01

02

03

04



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

 




点击文末“阅读原文”

获取全文完整代码数据资料


本文选自《R语言逻辑回归和泊松回归模型对发生交通事故概率建模》。


点击标题查阅往期内容

Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
R语言集成模型:提升树boosting、随机森林、约束最小二乘法加权平均模型融合分析时间序列数据
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
R语言基于树的方法:决策树,随机森林,Bagging,增强树
R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测
spss modeler用决策树神经网络预测ST的股票
R语言中使用线性模型、回归决策树自动组合特征因子水平
R语言中自编基尼系数的CART回归决策树的实现
R语言用rle,svm和rpart决策树进行时间序列预测
python在Scikit-learn中用决策树和随机森林预测NBA获胜者
python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模和交叉验证
R语言里的非线性模型:多项式回归、局部样条、平滑样条、 广义相加模型GAM分析
R语言用标准最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类
R语言ISLR工资数据进行多项式回归和样条回归分析
R语言中的多项式回归、局部回归、核平滑和平滑样条回归模型
R语言用泊松Poisson回归、GAM样条曲线模型预测骑自行车者的数量
R语言分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
如何用R语言在机器学习中建立集成模型?
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
在python 深度学习Keras中计算神经网络集成模型
R语言ARIMA集成模型预测时间序列分析
R语言基于Bagging分类的逻辑回归(Logistic Regression)、决策树、森林分析心脏病患者
R语言基于树的方法:决策树,随机森林,Bagging,增强树
R语言基于Bootstrap的线性回归预测置信区间估计方法
R语言使用bootstrap和增量法计算广义线性模型(GLM)预测置信区间
R语言样条曲线、决策树、Adaboost、梯度提升(GBM)算法进行回归、分类和动态可视化
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
R语言随机森林RandomForest、逻辑回归Logisitc预测心脏病数据和可视化分析
R语言用主成分PCA、 逻辑回归、决策树、随机森林分析心脏病数据并高维可视化
Matlab建立SVM,KNN和朴素贝叶斯模型分类绘制ROC曲线
matlab使用分位数随机森林(QRF)回归树检测异常值



文章转载自拓端数据部落,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论