本文的目的是完成一个逻辑回归分析。使你对分析步骤和思维过程有一个基本概念。
library(tidyverse)
library(broom)
这些数据来自一项正在进行的对镇居民的心血管研究。其目的是预测一个病人是否有未来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)
预测概率
根据这个概率,你是否认为这个病人在未来10年内有患冠心病的高风险?为什么?
risk
risk_m %>%
group_by(TenYearCHD, risk_predict) %>%
kable(format="markdown")
mutate( predict = if_else(.fitted > threshold, "1: Yes", "0: No"))
有多大比例的观察结果被错误分类?
依靠混淆矩阵来评估模型的准确性有什么缺点?
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
##
## 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,你会选择哪个模型?
step逐步回归
选择模型step(full_model )
kable(format = "markdown" )
最受欢迎的见解
1.R语言多元Logistic逻辑回归 应用案例
2.面板平滑转移回归(PSTR)分析案例实现
3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)
4.R语言泊松Poisson回归模型分析案例
5.R语言回归中的Hosmer-Lemeshow拟合优度检验
6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现
7.在R语言中实现Logistic逻辑回归
8.python用线性回归预测股票价格
9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标