R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为1

简介: R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为

本文利用R语言,通过逐步逻辑回归模型帮助客户分析两个实际案例:麻醉剂用量对手术病人移动的影响以及汽车购买行为预测点击文末“阅读原文”获取完整代码数据

相关视频


image.png

通过构建模型并解释结果,我们探究了各自变量对因变量的影响程度。同时,借助ROC曲线可视化分析,评估了模型的预测性能。本文旨在为相关领域的研究提供方法学参考和实际应用指导。

R语言分析麻醉剂用量(conc)对手术病人是否移动(nomove)的影响

在医学实践中,麻醉剂用量的精确控制对于手术过程的顺利进行和病人的术后恢复至关重要。随着医疗技术的不断发展,数据分析和统计学方法在医学研究中的应用日益广泛。本文旨在通过逻辑回归模型,探究麻醉剂用量(conc)对手术病人是否移动(nomove)的影响。逻辑回归是一种广泛应用于二元响应变量分析的统计方法,它可以帮助我们理解自变量与因变量之间的概率关系。本文使用的数据集包含了一组医学数据,其中变量conc表示麻醉剂的用量,而nomove作为因变量,用于表示手术病人是否有所移动。

首先载入数据集并读取部分文件,为了观察两个变量之间关系,我们可以利cdplot函数来绘制条件密度图

head(anesthetic)

d3d7fb4806ec1b13bcbab242408cf496.png

chart.Correlation(anesthetic,  
                  method="spearman",  
                  histogram=TRUE,  
                  pch=16)

518b10b69ab7d8c95386a3a5506ee3b4.png

cdplot(factor(nomove)~conc,data=anesthetic,main='条件密度图',ylab='病人移动',xlab='麻醉剂量')

cb1cfe4c6793a58eb2c34824771f8d47.png

从图中可见,随着麻醉剂量加大,手术病人倾向于静止。下面利用logistic回归进行建模,得到intercept和conc的系数为-6.47和5.57,由此可见麻醉剂量超过1.16(6.47/5.57)时,病人静止概率超过50%。

00c03702d48817701e82cbf6ee7dc728.png

偏差残差:这是逻辑回归模型拟合后每个观测值与模型预测值之间的差异。从最小值-1.76666到最大值2.06900,我们可以看到数据点的分布。通常,我们希望这些残差接近0,并且分布均匀。

系数

  • 截距 (Intercept) : -6.469。这是当模型中的其他变量都为0时,预测值的起点。这里的截距为负,可能意味着在没有其他因素影响时,某个特定的结果(例如,响应变量为1的概率)是较低的。
  • conc: 5.567。这是anes1数据集中conc变量的系数。它表示当conc每增加一个单位时,响应变量(通常是二元结果,如1或0)的对数几率平均增加5.567个单位。这通常意味着conc与响应变量之间存在正相关关系。

显著性代码:输出还提供了系数的显著性水平。例如,'***' 表示该系数的p值小于0.001,是非常显著的。这意味着我们可以非常确信conc与响应变量之间的关系不仅仅是偶然的。

分散参数:对于二项分布家族,分散参数通常被设为1,这里也是如此。

偏差统计

  • Null偏差:这是仅包含截距的模型的偏差,用于比较完整模型的效果。在这里,Null偏差为82.911,表示在没有其他预测变量的情况下,模型与数据的拟合程度。
  • 残差偏差:这是包含所有预测变量的完整模型的偏差。残差偏差为55.508,比Null偏差小,说明添加conc变量后,模型对数据的拟合度有所提高。

AIC (赤池信息准则) :这是一个衡量模型拟合度的指标,同时考虑了模型的复杂性和拟合度。较低的AIC值通常表示模型更好。这里的AIC为59.508。

Fisher评分迭代次数:在逻辑回归模型拟合过程中,算法使用了5次迭代来收敛到最终的系数估计。

综上所述,anes1数据集中的conc变量与响应变量之间存在显著的正相关关系,而逻辑回归模型在拟合数据方面表现良好。这些结果提供了关于conc如何影响响应变量的有用信息。

对模型做出预测结果

根据不同的临界值threshold来计算TPR和FPR,之后绘制成图

for (i in 1:n){  
   
  threshold=data$prob[i]  
   
  tp=sum(data$prob>threshld&data$obs==1)  
   
  fp=sum(data$prob>thresold&data$obs==0)  
   
  tn=sum(data$prob)

c78c49c2c60ca6bbdd58ab85ba7d73d2.png

61b8d403b1f43d045e4dbc8c1a29080d.png

上面的方法是使用原始的0-1数据进行建模,即每一行数据均表示一个个体,另一种是使用汇总数据进行建模,先将原始数据按下面步骤进行汇总

gate(aneshetic[,c('move','nostheic$conc),FUN=sum)


对于汇总数据,有两种方法可以得到同样的结果,一种是将两种结果的向量合并做为因变量,如anes2模型。另一种是将比率做为因变量,总量做为权重进行建模,如anes3模型。这两种建模结果是一样的。

796027e363f91ec0ac211e51d50d5c61.png

根据logistic模型,我们可以使用predict函数来预测结果,下面根据上述模型来绘图:


18269e02613154b96a320d6553fc2d21.png


R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2:https://developer.aliyun.com/article/1501205

相关文章
|
4天前
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
【R语言实战】——带有新息为标准学生t分布的金融时序的GARCH模型拟合预测
|
4天前
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
【R语言实战】——带有高斯新息的金融时序的GARCH模型拟合预测及VAR/ES风险度量
|
4天前
【R语言实战】——Logistic回归模型
【R语言实战】——Logistic回归模型
|
4天前
|
数据可视化 数据挖掘 API
【R语言实战】聚类分析及可视化
【R语言实战】聚类分析及可视化
|
4天前
|
机器学习/深度学习 数据可视化
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为2
R语言逻辑回归logistic模型ROC曲线可视化分析2例:麻醉剂用量影响、汽车购买行为
|
4天前
|
Web App开发 数据可视化 数据挖掘
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
利用R语言进行聚类分析实战(数据+代码+可视化+详细分析)
|
4天前
|
数据采集 数据可视化
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
利用R语言进行因子分析实战(数据+代码+可视化+详细分析)
|
4天前
利用R语言进行典型相关分析实战
利用R语言进行典型相关分析实战
|
4天前
|
机器学习/深度学习 算法
R语言分类回归分析考研热现象分析与考研意愿价值变现
R语言分类回归分析考研热现象分析与考研意愿价值变现
|
4天前
|
数据可视化 定位技术
R语言贝叶斯INLA空间自相关、混合效应、季节空间模型、SPDE、时空分析野生动物数据可视化
R语言贝叶斯INLA空间自相关、混合效应、季节空间模型、SPDE、时空分析野生动物数据可视化

热门文章

最新文章