Logistic 回归在护理风险预测中的应用
1. 一句话告诉你这是什么
Logistic 回归是用多个自变量预测一个二分类结局的方法。在护理研究中回答”哪些因素独立影响事件是否发生”——例如年龄和合并症能否预测住院患者是否发生跌倒。
2. 什么时候用,什么时候别用
适合用
- 结局是二分类变量(如跌倒/未跌倒、出院/死亡)
- 想计算某个因素的调整后 OR 值(优势比)
- 需要做风险因素筛选并控制混杂变量
不适合用
- 结局为连续变量或有序多分类(应用线性回归或有序 Logistic)
- 事件数太少(通常要求每组至少 10-15 个事件/非事件)
- 预测因子之间存在完全分离(某自变量完美预测结局,系数无法估计)
3. 数据准备清单
- 结局变量编码为 0/1(未发生/发生)
- 分类变量做哑变量编码或因子化
- 样本量满足 EPV 准则:事件数 ( 为自变量数)
- 无完全分离或多重共线性
- 缺失值处理(优先考虑多重插补而非行删除)
4. 方法直觉
Logistic 回归不直接预测 0 或 1,而是预测”事件发生的概率”,并用 logit 连接函数将概率映射到 的线性空间:
等式左边是 log-odds(对数优势比)。对系数 取指数 就得到 OR——“X 每增加一个单位,事件优势乘以多少”。OR > 1 表示风险增加,OR < 1 表示风险降低。
点击展开:概率预测与决策阈值
由上式可推得预测概率公式:
研究人员通常取 0.5 为分类阈值,也可根据临床需求调整(如跌倒筛查偏向灵敏度高,可降低阈值至 0.3)。
5. R 代码(复制即可跑)
library(broom)
library(pROC)
# 模拟护理研究数据
set.seed(2026)
n <- 500
df <- data.frame(
age = rnorm(n, mean = 70, sd = 12), # 年龄
bmi = rnorm(n, mean = 24, sd = 4), # BMI
los = rpois(n, lambda = 10), # 住院天数
fall = rbinom(n, size = 1, prob = 0.2) # 是否跌倒(结局)
)
# 拟合模型
fit <- glm(fall ~ age + bmi + los,
data = df, family = binomial(link = "logit"))
# 模型摘要
summary(fit)
# OR 值及 95% CI
tidy(fit, conf.int = TRUE, exponentiate = TRUE) # ⬅ exponentiate = TRUE 输出 OR
# 模型预测与 AUC
df$pred <- predict(fit, type = "response")
roc_obj <- roc(df$fall, df$pred)
auc(roc_obj) # ⬅ AUC > 0.7 可接受
6. 结果怎么读
| 项目 | 值(示例) | 含义 |
|---|---|---|
| 年龄 OR | 年龄每增加 1 岁,跌倒风险增加 4% | |
| BMI OR | BMI 每增 1 单位,风险降低 5%(不显著) | |
| 住院天数 OR | 住院每多 1 天,风险增加 12% | |
| AUC | 模型区分能力可接受 |
7. 论文里怎么写
中文: 采用二分类 Logistic 回归分析住院患者跌倒的风险因素。多因素分析显示,住院天数是跌倒的独立预测因素(OR = 1.12, 95% CI [1.04, 1.21], ),而年龄和 BMI 的效应未达到统计学显著水平。模型 AUC = 0.73,区分能力可接受。
English: Binary logistic regression was used to identify risk factors for falls among hospitalized patients. Multivariable analysis revealed that length of stay was an independent predictor of falls (OR = 1.12, 95% CI [1.04, 1.21], ), whereas the effects of age and BMI were not statistically significant. The model showed acceptable discrimination (AUC = 0.73).
8. 三个最常见的坑
- 把 OR 当作 RR。 队列研究中 OR 会高估发生率较高 ( ) 的事件效应,此时应优先考虑 Poisson 回归或 log-binomial 回归。
- 事件数不足仍强行建模。 EPV(每变量事件数)低于 10 时系数估计不稳定,建议用 Firth 惩罚似然或 Bayesian 方法。
- 忽略线性假设。 Logit 与连续自变量的关系需满足线性——如果不满足,可尝试加入平方项或使用限制立方样条(rcs)。
在线运行
在线运行
点击"运行"按钮,在浏览器中执行 R 分析。首次使用需等待 WebR 初始化。