La meta-analisi dei rapporti di probabilità è essenzialmente senza speranza?


12

In un recente articolo Norton et al. (2018) afferma che[1]

Rapporti di probabilità diversi dello stesso studio non possono essere confrontati quando i modelli statistici che danno luogo a stime del rapporto di probabilità hanno variabili esplicative diverse perché ogni modello ha un diverso fattore di ridimensionamento arbitrario. Né l'ampiezza del rapporto di probabilità di uno studio può essere confrontata con l'entità del rapporto di probabilità di un altro studio, poiché campioni diversi e specifiche del modello differenti avranno diversi fattori di ridimensionamento arbitrario. Un'ulteriore implicazione è che l'entità dei rapporti di probabilità di una data associazione in più studi non può essere sintetizzata in una meta-analisi.

Una piccola simulazione lo illustra (il codice R è in fondo alla domanda). Supponiamo che il vero modello sia: Immagina inoltre che gli stessi dati generati dal modello sopra siano analizzati da quattro diversi ricercatori usando una regressione logistica. Il ricercatore 1 include solo come covariata, il ricercatore 2 include sia che e così via. Le stime medie simulate del rapporto di probabilità per dei quattro ricercatori erano:

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

res_1    res_2    res_3    res_4 
1.679768 1.776200 2.002157 2.004077

È evidente che solo i ricercatori 3 e 4 ottengono il rapporto di probabilità corretto di circa mentre i ricercatori 1 e 2 no. Ciò non accade nella regressione lineare, che può essere facilmente mostrata da una simulazione simile (non mostrata qui). Devo confessare che questo risultato è stato abbastanza sorprendente per me, anche se questo problema sembra essere ben noto . Hernán et al. (2011) definiscono una "stranezza matematica" anziché un pregiudizio.2[ 2 ] [ 3 ][2][3]

Le mie domande:

  1. Se i rapporti di probabilità sono sostanzialmente incomparabili tra studi e modelli, come possiamo combinare i risultati di diversi studi per risultati binari?
  2. Cosa si può dire delle innumerevoli meta-analisi che hanno combinato i rapporti di probabilità di diversi studi in cui ogni studio potrebbe essere adeguato per una diversa serie di covariate? Sono essenzialmente inutili?

Riferimenti

[1]: Norton EC, Dowd BE, Maciejewski ML (2018): Odds ratio - Current Best Practice and Use. JAMA 320 (1): 84-85.

[2]: Norton EC, Dowd BE (2017): Log Odds e l'interpretazione dei modelli Logit. Ris. Servizio sanitario 53 (2): 859-878.

[3]: Hernán MA, Clayton D, Keiding N (2011): svelato il paradosso di The Simpson. Int J Epidemiol 40: 780-785.

Divulgazione

La domanda (incluso il codice R) è una versione modificata di una domanda posta dall'utente timdisher su metodi di dati .

Codice 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

Perché dici che questo non accade con la regressione lineare. Sembra che tu stia solo descrivendo una distorsione da variabile omessa?
user2879934

Risposte:


11

Esistono numerosi effetti alternativi che possono derivare dal modello di regressione logistica che non presentano questo stesso problema. Uno dei più semplici è l'effetto marginale medio della variabile. Supponiamo il seguente modello di regressione logistica:

ln[p1p]=Xβ+γd

dove è una matrice (casi) per (covariate), sono i pesi di regressione per le covariate, è la variabile di trattamento di interesse e è il suo effetto.Xnkβkdγ

La formula per l'effetto marginale medio di sarebbe:d

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

Questo effetto sarebbe la differenza di probabilità media nel risultato tra il gruppo di trattamento e controllo per coloro che hanno gli stessi valori su altri predittori (vedi Gelman & Hill, 2007, p. 101).

La sintassi R corrispondente fornita dall'esempio di OP sarebbe:

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

Ho modificato la sintassi di OP per dimostrare che non è influenzata da quali variabili siano presenti nel modello, purché la variabile predittore di interesse non sia correlata ad altri predittori.

Ho modificato il frame di dati dei risultati in questo modo:

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

E all'interno della simulazione, ho salvato la differenza di probabilità media calcolata:

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)

E i nuovi risultati:

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

L'effetto stimato è stato coerente indipendentemente dalle specifiche del modello. E l'aggiunta di covariate ha migliorato l'efficienza come nel modello di regressione lineare:

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

Ci sono effetti aggiuntivi che OP può calcolare come il rapporto di probabilità medio tra i due gruppi. La differenza di probabilità media calcolata sopra è disponibile dal pacchetto Margini nel comando R e margini in Stata. Il rapporto di probabilità medio è disponibile solo in Stata.

Sull'altra domanda sulla fiducia nei risultati della meta-analisi. Per uno, la direzione dell'effetto non dovrebbe essere inutile. Il problema con gli odds ratio non influisce sul segno dei coefficienti. Quindi, se una gran parte degli studi ha un odds ratio superiore a uno, non c'è motivo di dubitare di questo effetto a causa di questo particolare problema.

Per quanto riguarda la stima esatta, non c'è motivo di crederci. La cosa bella è che se gli studi sui costituenti sono studi randomizzati controllati, i rapporti di probabilità sono stime conservative e i risultati effettivi sono ancora più grandi. Questo perché l'effetto OP dimostrato riduce i rapporti di probabilità verso uno. Quindi, se la maggior parte degli studi ha un odds ratio superiore a 1 e la meta-analisi punta in questa direzione, allora l'OR reale una volta regolate tutte le covariate rilevanti è ancora più grande. Quindi queste meta-analisi non sono del tutto inutili.

Preferirei utilizzare altre stime degli effetti nella meta-analisi. La differenza di probabilità media è un approccio e ce ne sono altri.


Gelman, A., & Hill, J. (2007). Analisi dei dati mediante regressione e modelli multilivello / gerarchici. Cambridge University Press.


1
@COOLSerdash Grazie. C'è molto di più da esplorare qui. Diventa ancora più interessante quando il rapporto di probabilità deriva da una variabile continua che è stata dicotomizzata, soprattutto se c'era una eteroschedasticità nelle relazioni originali. Vedi la risposta di Achim Zeileis a questa domanda - stats.stackexchange.com/questions/370876/…
Jim,

Grazie per il link Devo confessare che la derivazione del modello logistico utilizzando una variabile continua latente sottostante è nuova per me. Vengo dalla biostatistica e le fonti seminali in questo campo non sembrano menzionare questi problemi (ad esempio il libro di Lemeshow & Hosmer "La regressione logistica applicata"). Ti assegnerò il premio non appena posso (domani).
COOLSerdash,

Penso che la derivazione sotto la variabile continua sottostante sia strana se si assumono errori logistici. Se si assumono errori normali, è più giustificabile grazie a CLT. Quindi per la regressione probit usata molto in econometria, è una derivazione comune. Ma se dicotomizzi una variabile continua, la derivazione in caso di errori è molto utile. Inoltre, questa derivazione consente di esplorare meglio il modello in generale e scoprire alcune stranezze. E grazie per la ricompensa retrospettiva.
Heteroskedastic Jim,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.