在最近的一篇论文中,诺顿等人。(2018)声明
当导致优势比估计的统计模型具有不同的解释变量时,无法比较来自同一研究的不同优势比,因为每个模型具有不同的任意比例因子。也不能将一项研究的优势比的大小与另一项研究的优势比的大小进行比较,因为不同的样本和不同的模型规格将具有不同的任意比例因子。进一步的暗示是,多项研究中给定关联的优势比的大小不能在荟萃分析中综合。
一个小型模拟说明了这一点(R 代码在问题的底部)。假设真实模型是:
res_1 res_2 res_3 res_4
1.679768 1.776200 2.002157 2.004077
很明显,只有研究人员 3 和 4 的正确优势比约为而研究人员 1 和 2 则没有。如果省略的变量与其他预测变量不相关,则线性回归中不会发生这种情况。来自逻辑回归的估计值的行为方式不同(Mood 2010)。我必须承认,这个结果让我很惊讶,虽然这个问题似乎是众所周知的. 埃尔南等人。(2011)将此称为“数学上的怪异”而不是偏见。
我的问题:
- 如果优势比在研究和模型之间基本上无法比较,我们如何将不同研究的结果结合起来以获得二元结果?
- 无数荟萃分析确实结合了来自不同研究的优势比,其中每项研究可能针对一组不同的协变量进行调整,可以说什么呢?它们本质上是无用的吗?
参考
[1]:心情,C.(2010 年)。逻辑回归:为什么我们不能做我们认为我们能做的事,以及我们能做些什么。欧洲社会学评论,26(1),67-82。
[2]:诺顿 EC、Dowd BE、Maciejewski ML (2018):优势比 - 当前的最佳实践和使用。JAMA 320(1):84-85。
[3]:诺顿 EC,Dowd BE(2017 年):对数赔率和 Logit 模型的解释。健康服务水库。53(2):859-878。
[4]: Hernán MA, Clayton D, Keiding N (2011):辛普森悖论被揭开。国际流行病学杂志 40:780-785。
披露
该问题(包括 R 代码)是用户timdisher在datamethods上提出的问题的修改版本。
R代码
set.seed(142857)
n_sims <- 1000 # number of simulations
out <- data.frame(
treat_1 = rep(NA, n_sims)
, treat_2 = rep(NA, n_sims)
, treat_3 = rep(NA, n_sims)
, treat_4 = rep(NA, n_sims)
)
n <- 1000 # number of observations in each simulation
coef_sim <- "x1" # Coefficient of interest
# Coefficients (log-odds)
b0 <- 1
b1 <- log(2)
b2 <- log(2.5)
b3 <- log(3)
b4 <- 0
for(i in 1:n_sims){
x1 <- rbinom(n, 1, 0.5)
x2 <- rnorm(n)
x3 <- rnorm(n)
x4 <- rnorm(n)
z <- b0 + b1*x1 + b2*x2 + b3*x3 + b4*x4
pr <- 1/(1 + exp(-z))
y <- rbinom(n, 1, pr)
df <- data.frame(y = y, x1 = x1, x2 = x2, x3 = x3, x4 = x4)
model1 <- glm(y ~ x1, data = df, family = "binomial")
model2 <- glm(y ~ x1 + x2, data = df, family = "binomial")
model3 <- glm(y ~ x1 + x2 + x3, data = df, family = "binomial")
model4 <- glm(y ~ x1 + x2 + x3 + x4, data = df, family = "binomial")
out$treat_1[i] <- model1$coefficients[coef_sim]
out$treat_2[i] <- model2$coefficients[coef_sim]
out$treat_3[i] <- model3$coefficients[coef_sim]
out$treat_4[i] <- model4$coefficients[coef_sim]
}
# Coefficients
colMeans(out)
exp(colMeans(out)) # Odds ratios
```