R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
原文链接:http://tecdat.cn/?p=22410
本文旨在进行一个逻辑回归研究。帮助你掌握分析步骤和思维过程的基础知识。
library(tidyverse)
library(broom)
这些数据源自一项正在进行的对镇居民的心血管研究项目。该项目旨在预测每位病人在未来十年内是否会有冠心病的风险。该数据集包含详细的信息内容。
-
男性:0=女性;1=男性
-
年龄。
-
教育。1 = 高中以下;2 = 高中;3 = 大学或职业学校;4 = 大学以上
-
当前是否吸烟。0=不吸烟;1=吸烟者
-
cigsPerDay: 每天抽的烟数量(估计平均)。
-
BPMeds: 0 = 不服用降压药;1 = 正在服用降压药
-
中风。0 = 家族史中不存在中风;1 = 家族史中存在中风
-
高血压。0 =高血压在家族史上不流行;1 =高血压在家族史上流行
-
糖尿病:0 = 没有;1 = 有
-
totChol: 总胆固醇(mgdL)
-
sysBP: 收缩压(mmHg)
-
diaBP: 舒张压(mmHg)
-
BMI: 体重指数
-
心率
-
葡萄糖:总葡萄糖mgdL
-
TenYearCHD: 0 = 患者没有未来10年冠心病的风险; 1 = 患者有未来10年冠心病的风险
加载并准备数据
read_csv("framingham.csv") %>%
drop_na() %>% #删除具有缺失值的观察值
ageCent = age - mean(age),
totCholCent = totChol - mean(totChol),
拟合逻辑回归模型
glm(TenYearCHD ~ age + Smoker + CholCent,
data = data, family = binomial)

预测
对于新病人
data_frame(ageCent = (60 - 49.552),
totCholCent = (263 - 236.848),

预测对数几率
predict(risk_m, x0)

预测概率

根据该概率值,您认为该病人在未来十年内是否会发生冠心病的风险较高?其主要原因可能包括他的生活方式、饮食习惯以及是否有家族遗传史等
risk

混淆矩阵
risk_m %>%
group\_by(TenYearCHD, risk\_predict) %>%
kable(format="markdown")

mutate( predict = if_else(.fitted > threshold, "1: Yes", "0: No"))

有多少比例的观测数据被错误分类? 基于混淆矩阵评估模型准确性的有哪些不足?
ROC曲线
ggplot(risk\_m\_aug,
oc(n.cuts = 10, labelround = 3) +
geom_abline(intercept = 0) +

auc(roc )$AUC

该医生打算利用你的模型的结果来协助挑选符合条件的病人加入一项新的心脏病预防项目。
她询问最适合该项目用于筛选病人的阈值是多少?
基于ROC曲线分析,请问您会向医生推荐哪个合适的阈值?原因是什么?
假设
为什么我们不绘制原始残差?
ggplot(data = risk aes(x = .fitted, y = .resid)) +
labs(x = "预测值", y = "原始残差")

分级的残差图
plot(x = fitted, y = resid,
xlab = "预测概率",
main = "分级后的残值与预测值的对比",



## # A tibble: 2 x 2
## currentSmoker mean_resid
## <fct> <dbl>
## 1 0 -2.95e-14
## 2 1 -2.42e-14
检查假设:
- 线性?- 随机性?- 独立性?
系数的推断
如何确定currentSmoker1这一指标?
在统计学领域中,totalCholCent是否扮演着预测心脏病高风险的关键角色?
通过使用检验统计量及对应的P值来支持你的结论。
通过置信范围来进一步验证结论。
偏离偏差检验
glm(TenYearCHD ~ ageCent + currentSmoker + totChol,
data = heart_data, family = binomial)

anova

AIC

根据偏离偏差检验,你会选择哪个模型?
基于AIC,你会选择哪个模型?
使用step逐步回归选择模型
step(full_model )


kable(format = "markdown" )


最受欢迎的见解
点击标题查阅往期内容
R语言用局部加权回归(Lowess)对logistic逻辑回归诊断和残差分析
R语言混合效应逻辑回归(mixed effects logistic)模型分析肺癌数据
通过R语言分别运用主成分PCA(Principal Component Analysis)、逻辑回归(Logistic Regression)、决策树(Decision Tree)以及随机森林(Random Forest)对心脏疾病相关特征进行研究,并同时进行多维数据分析处理。
R语言使用Metropolis- Hasting抽样算法进行逻辑回归
R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析
在 R 语言环境中对 logit 模型施加惩罚项以实现 LASSO 和 岭 回归方法,在面对高维度数据时进行特征选择并进行分类问题的实例分析
注
R语言多元分类的逻辑回归模型用于在混合分布中模拟单个风险损失值评估的应用
利用Rcpp加速Metropolis-Hastings采样用于估计贝叶斯逻辑回归模型的参数
更多内容,请点击左下角“阅读原文 ”查看报告全文



**关注我们
**
案例精选、技术干货 第一时间与您分享

长按二维码加关注
更多内容,请点击左下角“阅读原文 ”查看报告全文

