W ostatnim artykule Norton i in. (2018) stwierdzają, że
Różnych ilorazów szans z tego samego badania nie można porównać, gdy modele statystyczne, które dają oszacowania ilorazu szans, mają różne zmienne objaśniające, ponieważ każdy model ma inny arbitralny współczynnik skalowania. Wielkości ilorazu szans z jednego badania nie można także porównać z wielkością ilorazu szans z innego badania, ponieważ różne próbki i różne specyfikacje modelu będą miały różne arbitralne współczynniki skalowania. Dalszą implikacją jest to, że wielkości ilorazów szans danego związku w wielu badaniach nie można zsyntetyzować w metaanalizie.
Ilustruje to niewielka symulacja (kod R znajduje się na dole pytania). Załóżmy, że prawdziwy model to:
Wyobraź sobie, że te same dane wygenerowane przez powyższy model są analizowane przez czterech różnych badaczy wykorzystujących regresję logistyczną. Badacz 1 zawiera tylko jako zmienną towarzyszącą, badacz 2 obejmuje zarówno i i tak dalej. Średnie symulowane oszacowania ilorazu szans dla x_ {1} czterech badaczy wynosiły:
res_1 res_2 res_3 res_4
1.679768 1.776200 2.002157 2.004077
Oczywiste jest, że tylko badacze 3 i 4 mają prawidłowy iloraz szans około podczas gdy badacze 1 i 2 nie. Nie dzieje się tak w regresji liniowej, co można łatwo pokazać za pomocą podobnej symulacji (nie pokazano tutaj). Muszę wyznać, że ten wynik był dla mnie dość zaskakujący, chociaż wydaje się, że problem ten jest dobrze znany . Hernán i in. (2011) nazywają to „matematyczną osobliwością” zamiast uprzedzeń.[ 2 ] [ 3 ]
Moje pytania:
- Jeśli iloraz szans jest zasadniczo nieporównywalny między badaniami i modelami, jak możemy połączyć wyniki różnych badań dla wyników binarnych?
- Co można powiedzieć o niezliczonych metaanaliz, które nie łączą ilorazy szans z różnych badań, w których każde badanie ewentualnie dostosowanych do innego zestawu zmiennych towarzyszących? Czy są zasadniczo bezużyteczne?
Bibliografia
[1]: Norton EC, Dowd BE, Maciejewski ML (2018): Iloraz szans - aktualne najlepsze praktyki i zastosowania. JAMA 320 (1): 84–85.
[2]: Norton EC, Dowd BE (2017): Log Odds and Interpretation of Logit Models. Health Serv Res. 53 (2): 859–878.
[3]: Hernán MA, Clayton D, Keiding N (2011): paradoks Simpsona rozwikłany. Int J Epidemiol 40: 780-785.
Ujawnienie
Pytanie (w tym kod R) jest zmodyfikowaną wersją pytania zadanego przez użytkownika timdishera na temat metod danych .
Kod 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