Чи мета-аналіз коефіцієнтів шансів по суті є безнадійним?


12

У недавньому документі Norton et al. (2018) [ 1 ] стверджують, що[1]

Різні коефіцієнти шансів одного і того ж дослідження не можна порівняти, коли статистичні моделі, які призводять до оцінки коефіцієнта шансів, мають різні пояснювальні змінні, оскільки кожна модель має різний довільний масштабуючий коефіцієнт. Не можна також порівнювати величину коефіцієнта шансів від одного дослідження з величиною коефіцієнта шансів від іншого дослідження, оскільки різні вибірки та різні специфікації моделі матимуть різні довільні коефіцієнти масштабування. Наступним наслідком є ​​те, що величини коефіцієнтів шансів даної асоціації в декількох дослідженнях не можуть бути синтезовані в мета-аналізі.

Невелике моделювання ілюструє це (R-код знаходиться внизу питання). Припустимо, що справжня модель:

logit(yi)=1+log(2)x1i+log(2.5)x2i+log(3)x3i+0x4i
Далі уявіть, що одні й ті ж дані, згенеровані вищевказаною моделлю, аналізуються чотирма різними дослідниками за допомогою логістичної регресії. Дослідник 1 включає тільки x1 , як коваріат, дослідник 2 включає в себе як x1 і x2 і так далі. Середні імітовані оцінки коефіцієнта шансів для x1 з чотирьох дослідників склали:

res_1    res_2    res_3    res_4 
1.679768 1.776200 2.002157 2.004077

Очевидно, що лише дослідники 3 і 4 отримують правильне співвідношення шансів приблизно 2 тоді як дослідники 1 і 2 цього не роблять. Це не відбувається при лінійній регресії, що можна легко показати аналогічним моделюванням (тут не показано). Треба зізнатися, що цей результат мене дуже здивував, хоча ця проблема, здається, добре відома [ 2 ] . Ернан та ін. (2011) [ 3 ] називають це "математичною диваковістю" замість упередженості.[2][3]

Мої запитання:

  1. Якщо коефіцієнти шансів в основному не відрізняються між дослідженнями та моделями, то як можна поєднати результати різних досліджень для двійкових результатів?
  2. Що можна сказати про незліченні мета-аналізів, так і комбінують відносини шансів з різних досліджень , в яких кожне дослідження , можливо , з поправкою на інший набір регресорів? Вони по суті марні?

Список літератури

[1]: Нортон ЕК, Dowd BE, Maciejewski ML (2018): Коефіцієнти шансів - поточна найкраща практика та використання. JAMA 320 (1): 84-85.

[2]: Norton EC, Dowd BE (2017): коефіцієнти журналу та інтерпретація моделей Logit. Служба охорони здоров'я Res. 53 (2): 859-878.

[3]: Ернан М.А., Клейтон D, Кідінг N (2011 р.): Парадокс Сімпсона розгаданий. Int J Епідеміол 40: 780-785.

Розкриття інформації

Питання (включаючи код R) - це модифікована версія запитання, поставленого користувачем- тайміджером на методах даних .

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

Чому ти кажеш, що це не відбувається при лінійній регресії. Здається, ви просто описуєте упущені змінні зміщення?
користувач2879934

Відповіді:


11

Існує ряд альтернативних ефектів, які можна отримати з логістичної регресійної моделі, які не зазнають цієї ж проблеми. Одним з найпростіших є середній граничний ефект змінної. Припустимо наступну модель логістичної регресії:

ln[p1p]=Xβ+γd

Xnkβkdγ

d

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

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

Відповідним синтаксисом R на прикладі ОП буде:

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))
}

Я змінив синтаксис ОП, щоб продемонструвати, що на нього не впливає, які змінні є в моделі, до тих пір, поки інтерес, що представляє інтерес, не має відношення до інших предикторів.

Я змінив кадр даних про результати таким чином:

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 

Є додаткові ефекти, які ОП може обчислити, як середнє співвідношення ймовірностей між двома групами. Середня різниця ймовірностей, обчислена вище, доступна з пакету маржин у команді R та маржинальних даних у Stata. Середній коефіцієнт вірогідності доступний лише в статистиці.

До іншого питання щодо довіри результатів метааналізу. Для одного напрям ефекту не повинен бути марним. Проблема зі співвідношенням шансів не впливає на знак коефіцієнтів. Отже, якщо основна частина досліджень має коефіцієнт шансів вище одиниці, немає жодних підстав сумніватися в цьому внаслідок цієї конкретної проблеми.

Що стосується точної оцінки, то в неї немає підстав вірити. Приємно, що якщо складові дослідження є рандомізованими контрольованими випробуваннями, тоді коефіцієнт шансів - це консервативні оцінки, а фактичні результати ще більше. Це пояснюється тим, що показаний ефект ОП зменшує коефіцієнт шансів на одиницю. Отже, якщо основна частина досліджень має коефіцієнт шансів вище 1, а метааналіз вказує в цьому напрямку, то фактичний АБО коли всі відповідні коваріати будуть скориговані ще більше. Тож ці метааналізи не зовсім марні.

Але я вважаю за краще використовувати інші оцінки ефектів у мета-аналізі. Середня різниця ймовірностей - це один підхід, а є й інші.


Гельман, А., І Хілл, Дж. (2007). Аналіз даних за допомогою регресійної та багаторівневої / ієрархічної моделей. Cambridge University Press.


1
@COOLSerdash Дякую Тут є ще багато чого для вивчення. Це стає ще цікавішим, коли коефіцієнт шансів походить від суцільної змінної, яка була дихотомізована, особливо якщо в початкових відносинах була гетерокедастичність. Дивіться відповідь Ахіма Цейле на це запитання - stats.stackexchange.com/questions/370876/…
Jim

Дякуємо за посилання Я мушу визнати, що виведення логістичної моделі за допомогою лежачої в основі латентної безперервної змінної є для мене новим. Я виходжу з біостатистики, і джерела в цій галузі, схоже, не згадують про ці проблеми (наприклад, книга Lemeshow & Hosmer "Прикладна логістична регресія"). Я нагороджу вас винагородою, як тільки зможу (завтра).
COOLSerdash

Я думаю, що виведення в основі безперервної змінної є дивним, якщо ви припускаєте логістичні помилки. Якщо ви допускаєте звичайні помилки, це виправданіше завдяки CLT. Отже, для регресії пробіту, що використовується в економетриці, це звичайна деривація. Але якщо ви будете дихотомізувати суцільну змінну, то виведення під помилками дуже корисно. Більше того, ця деривація дозволяє краще вивчити модель взагалі та виявити певні химерності. І дякую за ретроспективну нагороду.
Гетероскедастичний Джим
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.