Является ли мета-анализ отношений шансов по сути безнадежным?


12

В недавней работе Norton et al. (2018) утверждают, что[1]

Разные отношения шансов из одного и того же исследования нельзя сравнивать, когда статистические модели, которые приводят к оценкам отношения шансов, имеют разные объясняющие переменные, поскольку каждая модель имеет свой произвольный коэффициент масштабирования. Также нельзя сравнивать величину отношения шансов из одного исследования с величиной отношения шансов из другого исследования, потому что разные образцы и разные спецификации моделей будут иметь разные произвольные коэффициенты масштабирования. Еще одним следствием является то, что величины отношения шансов данной ассоциации в нескольких исследованиях не могут быть синтезированы в мета-анализе.

Небольшая симуляция иллюстрирует это (код R находится внизу вопроса). Предположим, что истинная модель: Представьте далее, что одни и те же данные, сгенерированные вышеуказанной моделью, анализируются четырьмя разными исследователями с использованием логистической регрессии. Исследователь 1 включает только как ковариату, исследователь 2 включает и и и так далее. Средние смоделированные оценки отношения шансов для четырех исследователей составили:

logit(yi)=1+log(2)x1i+log(2.5)x2i+log(3)x3i+0x4i
x1x1x2x1

res_1    res_2    res_3    res_4 
1.679768 1.776200 2.002157 2.004077

Очевидно, что только исследователи 3 и 4 получают правильное соотношение шансов около а исследователи 1 и 2 - нет. Этого не происходит при линейной регрессии, что может быть легко показано аналогичным моделированием (здесь не показано). Я должен признаться, что этот результат был довольно удивительным для меня, хотя эта проблема, кажется, хорошо известна . Эрнан и др. (2011) называют это «математической странностью» вместо смещения.2[ 2 ][2][3]

Мои вопросы:

  1. Если отношения шансов в основном несопоставимы между исследованиями и моделями, как мы можем объединить результаты различных исследований для бинарных результатов?
  2. Что можно сказать о бесчисленных мета-анализов, так и комбинируют отношения шансов из различных исследований , в которых каждое исследование , возможно , с поправкой на другой набор регрессоров? Они по сути бесполезны?

Ссылки

[1]: Norton EC, Dowd BE, Maciejewski ML (2018): коэффициенты шансов - наилучшая текущая практика и использование. JAMA 320 (1): 84-85.

[2]: Norton EC, Dowd BE (2017): коэффициенты входа и интерпретация моделей Logit. Health Serv Res. 53 (2): 859-878.

[3]: Эрнан М.А., Клейтон Д., Кейдинг Н. (2011): парадокс Симпсона раскрылся. Int J Epidemiol 40: 780-785.

раскрытие

Вопрос (включая код R) является модифицированной версией вопроса, заданного пользователем timdisher для методов данных .

Код 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

Почему вы говорите, что это не происходит с линейной регрессией. Похоже, вы просто описываете опущенную переменную смещения?
user2879934

Ответы:


11

Существует ряд альтернативных эффектов, которые можно получить из модели логистической регрессии, которые не страдают от этой же проблемы. Одним из самых простых является средний предельный эффект переменной. Предположим следующую модель логистической регрессии:

ln[p1p]=Xβ+γd

где - матрица (падежи) по (ковариатам), - веса регрессии для ковариат, - представляющая интерес переменная лечения, а - ее эффект.Xnkβkdγ

Формула для среднего предельного эффекта будет иметь вид:d

1ni=1n[(1+e(Xβ+γ))1(1+eXβ)1]

Этот эффект был бы средней вероятностной разницей в исходе между группой лечения и контрольной группой для тех, кто имеет те же значения на других предикторах (см. Gelman & Hill, 2007, p. 101).

Соответствующий синтаксис R данного примера OP будет:

dydx_bin <- function(fit, coef) {
  mod.mat <- model.matrix(fit) # Obtain model matrix
  coefs <- coef(fit)
  oth_coefs <- coefs[!(names(coefs) == coef)] # Coefs bar focal predictor
  # Get model matrix excluding focal predictor
  X_nb <- as.matrix(mod.mat[, names(oth_coefs)])
  # Predictions for all data ignoring focal predictor
  Xb_nb <- X_nb %*% oth_coefs
  mean(plogis(Xb_nb + coefs[coef]) - plogis(Xb_nb))
}

Я изменил синтаксис OP, чтобы продемонстрировать, что на него не влияют переменные в модели, если интересующая переменная предиктора не связана с другими предикторами.

Я изменил фрейм данных результатов так:

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),
  treat_11 = rep(NA, n_sims), treat_21 = rep(NA, n_sims),
  treat_31 = rep(NA, n_sims), treat_41 = rep(NA, n_sims)
)

И в рамках симуляции я сохранил вычисленную среднюю разницу вероятностей:

out$treat_11[i] <- dydx_bin(model1, coef_sim)
out$treat_21[i] <- dydx_bin(model2, coef_sim)
out$treat_31[i] <- dydx_bin(model3, coef_sim)
out$treat_41[i] <- dydx_bin(model4, coef_sim)

И новые результаты:

colMeans(out)[5:8]
 treat_11  treat_21  treat_31  treat_41 
0.1019574 0.1018248 0.1018544 0.1018642 

Предполагаемый эффект был постоянным независимо от спецификации модели. А добавление ковариат повышает эффективность, как в случае модели линейной регрессии:

apply(out[, 5:8], 2, sd)
  treat_11   treat_21   treat_31   treat_41 
0.02896480 0.02722519 0.02492078 0.02493236 

Существуют дополнительные эффекты, которые OP может вычислить, например, среднее отношение вероятностей между двумя группами. Средняя разность вероятностей, вычисленная выше, доступна из пакета полей в команде R и полей в Stata. Среднее отношение вероятностей доступно только в Stata.

На другой вопрос о достоверности результатов метаанализа. С одной стороны, направление эффекта не должно быть бесполезным. Проблема с коэффициентами шансов не влияет на знак коэффициентов. Таким образом, если большая часть исследований имеет отношение шансов выше единицы, нет причин сомневаться в этом эффекте из-за этой конкретной проблемы.

Что касается точной оценки, то нет причин верить этому. Хорошая вещь состоит в том, что, если составляющие исследования являются рандомизированными контролируемыми испытаниями, то отношения шансов являются консервативными оценками, а фактические результаты еще больше. Это связано с тем, что продемонстрированный эффект OP уменьшает отношение шансов к единице. Таким образом, если основная масса исследований имеет отношение шансов выше 1 и метаанализ указывает в этом направлении, то фактическое ИЛИ после того, как все соответствующие ковариаты будут скорректированы, еще больше. Таким образом, этот метаанализ не совсем бесполезен.

Но я бы предпочел использовать другие оценки эффекта в мета-анализе. Средняя разница вероятностей - это один подход, а есть и другие.


Gelman, A. & Hill, J. (2007). Анализ данных с использованием регрессионных и многоуровневых / иерархических моделей. Издательство Кембриджского университета.


1
@COOLSerdash Спасибо. Здесь так много всего интересного. Это становится еще более интересным, когда отношение шансов происходит от непрерывной переменной, которая была дихотомической, особенно если в исходных отношениях была гетероскедастичность. См. Ответ Ахима Цейлиса на этот вопрос - stats.stackexchange.com/questions/370876/…
Heteroskedastic Jim

Спасибо за ссылку. Я должен признаться, что вывод логистической модели с использованием скрытой непрерывной переменной является для меня новым. Я исхожу из биостатистики, и оригинальные источники в этой области, кажется, не упоминают эти проблемы (например, книга Lemeshow & Hosmer "Прикладная логистическая регрессия"). Я награжу вас за вознаграждение, как только смогу (завтра).
COOLSerdash

Я думаю, что деривация по лежащей в основе непрерывной переменной странно, если вы допускаете логистические ошибки. Если вы допускаете нормальные ошибки, это более оправдано благодаря CLT. Так что для пробитовой регрессии очень часто используется эконометрика, это обычный вывод. Но если вы будете дихотомизировать непрерывную переменную, то вывод при ошибках очень полезен. Кроме того, этот вывод позволяет лучше исследовать модель в целом и обнаружить определенные причуды. И спасибо за ретроспективную награду.
Гетероскедастик Джим
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.