Num artigo recente, Norton et al. (2018) [ 1 ] afirmam que
Odds ratio diferentes do mesmo estudo não podem ser comparados quando os modelos estatísticos que resultam em estimativas de odds ratio possuem variáveis explicativas diferentes, pois cada modelo possui um fator de escala arbitrário diferente. Tampouco a magnitude do odds ratio de um estudo pode ser comparada com a magnitude do odds ratio de outro estudo, porque amostras diferentes e especificações de modelo diferentes terão fatores de escala arbitrários diferentes. Uma implicação adicional é que as magnitudes de odds ratio de uma determinada associação em vários estudos não podem ser sintetizadas em uma meta-análise.
Uma pequena simulação ilustra isso (o código R está na parte inferior da pergunta). Suponhamos que o verdadeiro modelo é:
res_1 res_2 res_3 res_4
1.679768 1.776200 2.002157 2.004077
É aparente que apenas os pesquisadores 3 e 4 obtêm a razão de chances correta de cerca de enquanto os pesquisadores 1 e 2 não. Isso não acontece na regressão linear, que pode ser facilmente mostrada por uma simulação semelhante (não mostrada aqui). Devo confessar que esse resultado foi bastante surpreendente para mim, embora esse problema pareça ser bem conhecido [ 2 ] . Hernán et al. (2011) [ 3 ] chamam isso de "estranheza matemática" em vez de um viés.
Minhas perguntas:
- Se as razões de chances são basicamente incomparáveis entre estudos e modelos, como podemos combinar os resultados de diferentes estudos para obter resultados binários?
- O que pode ser dito sobre os inúmeros meta-análises que se combinam as odds ratio de diferentes estudos em que cada estudo, possivelmente, ajustados para um conjunto diferente de co-variáveis? Eles são essencialmente inúteis?
Referências
[1]: Norton EC, Dowd BE, Maciejewski ML (2018): Odds Ratios - Melhores práticas e uso atuais. JAMA 320 (1): 84-85.
[2]: Norton EC, Dowd BE (2017): Odds de log e a interpretação dos modelos Logit. Health Serv Res. 53 (2): 859-878.
[3]: Hernán MA, Clayton D, Keiding N (2011): O paradoxo de Simpson se desvendou. Int J Epidemiol 40: 780-785.
Divulgação
A pergunta (incluindo o código R) é uma versão modificada de uma pergunta feita pelo timdisher do usuário nos métodos de dados .
Código 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