R语言学习笔记:Logistic模型与选择(二)

在获得预测模型之后,我们可以根据模型计算出每个人患心脏病的概率,同时为这个概率划定一条分界线,如概率大于0.5时认为此人有心脏病,概率小于0.5时则认为此人没有心脏病

P(A) = [e^(kx+b)]/[1+e^(kx+b)]=1/2

刚刚的模型k=0.0159,b=3.66,解得x(SBP)=230.2

在图上加入分界线

abline (v = 230.2, lwd = 5, col = 'blue')


可以看出该分界线存在问题比较多,黑色点在线右边的多,大多红色点在左边,因此如何寻找分界线需要进一步研究

随着分界线向右移动,一方面“假阳性”会越来越少,但是另一方面,“真阳性”也会越来越少,二者的关系图叫做ROC curve

假阳性:1-Specificity(假阳性的数量占总数的比例),实际是0,却被我们归成1

真阳性:Sensitivity,实际是1

```

library(pROC)

log.fit2 = glm (Heart.Disease. ~SBP, data = fram_data.f, family = binomial (logit))

log.fit2.roc = roc (fram_data.f$Heart.Disease., log.fit2$fitted, plot = T, col = 'blue')

```


Specificity向右减少,Sensitivity增加,好的预测模型曲线下面的面积应该大

当前AUC(Area Under Curve):0.6375

如何确定最佳分界线的位置?首先绘制出假阳性和分界线的位置的图

```

plot (log.fit2.roc$thresholds, 1-log.fit2.roc$specificities, col = 'green', pch = 16, xlab = 'Threshold on proib', ylab = 'False Positive', main = 'Thresholds vs. False Positive')

```


可以看到在0.3附近接近分界线最佳位置

你可能感兴趣的:(R语言学习笔记:Logistic模型与选择(二))