R语言逻辑回归Logisitc逐步回归训练与验证样本估计分析心脏病数据参数可视化

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

原文出处:拓端数据部落公众号

 

在进行交叉验证之前,很自然地说“我会预烧 50%(比如说)我的数据来训练一个模型,然后用剩下的来拟合模型”。例如,我们可以使用训练数据进行变量选择(例如,在逻辑回归中使用一些逐步过程),然后,一旦选择了变量,就将模型拟合到剩余的观察集上。一个自然的问题通常是“这真的重要吗?”。

为了可视化这个问题,考虑我的(简单)数据集

使用心脏病数据,预测急诊病人的心肌梗死,包含变量:

  1. 心脏指数
  2. 心搏量指数
  3. 舒张压
  4. 肺动脉压
  5. 心室压力
  6. 肺阻力
  7. 是否存活

让我们生成 100 个训练样本(我们保留大约 50% 的观察值)。在它们中的每一个上,我们使用逐步过程,并保留剩余变量的估计值(以及它们的标准差)

  1.  
    M=matrix(NA,100,ncol(MODE))
  2.  
    for(i in 1:100){
  3.  
    reg=step(glm(PRO=="CS"~.,dataYE[idx,]))
  4.  
     

然后,对于 7 个协变量(和常数),我们可以查看拟合在训练样本上的模型中的系数值,以及拟合在验证样本上的模型上的值

  1.  
     
  2.  
    idx=which(!is.na(M[,j]))
  3.  
    plot(M[idx,j],M2[idx,j])
  4.  
    abline
  5.  
    segments

例如,对于截距,我们有以下

其中水平段是模型上拟合在训练样本上的参数的置信区间,垂直段是验证样本上的置信区间。蓝色部分表示某种一致性,而红色部分表示实际上,一个模型的系数为负,另一个模型为正。

我们还可以可视化两个估计量的联合分布,

  1.  
    for(j in 1:8){
  2.  
     
  3.  
    fa = kde(x=Z, H=H)
  4.  
    image(fat$eots[[1]],

在这里,几乎在对角线上,

这意味着两个样本的截距(或多或少)相同。然后我们可以查看其他参数。

 

在该变量上,它似乎在训练数据集上很显著(不知何故,这与它在逐步过程之后保留在模型中的事实一致)但在验证样本上不显著(或几乎不显著)。

其他的则更加一致(有一些可能的异常值)

在下一个问题上,我们在训练样本上又有显著性,但在验证样本上没有。

可能更有趣:

两者非常一致。


 

最受欢迎的见解

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

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

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

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

5.R语言混合效应逻辑回归Logistic模型分析肺癌

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

7.R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病

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

9.R语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测

posted @ 2022-06-15 16:02  拓端tecdat  阅读(218)  评论(0)    收藏  举报