Yakın tarihli bir makalede Norton ve ark. (2018) [ 1 ] şunu belirtir:
Olasılık oranı tahminleriyle sonuçlanan istatistiksel modeller farklı açıklayıcı değişkenlere sahip olduğu için aynı çalışmadaki farklı olasılık oranları karşılaştırılamaz, çünkü her model farklı bir rasgele ölçeklendirme faktörüne sahiptir. Bir çalışmadaki oran oranının büyüklüğü, başka bir çalışmadan oran oranının büyüklüğü ile karşılaştırılamaz, çünkü farklı örnekler ve farklı model özellikleri farklı rasgele ölçeklendirme faktörlerine sahip olacaktır. Bir başka sonuç, birden fazla çalışmada belirli bir ilişkinin olasılık oranlarının büyüklüğünün bir meta-analizde sentezlenememesidir.
Küçük bir simülasyon bunu göstermektedir (R kodu sorunun altındadır). Gerçek modelin: l o g i t ( y i ) = 1 + log ( 2 ) x 1 i + log ( 2.5 ) x 2 i + log ( 3 ) x 3 i + 0 x 4 i olduğunu varsayalım.
res_1 res_2 res_3 res_4
1.679768 1.776200 2.002157 2.004077
Sorularım:
- Oran oranları temel olarak çalışmalar ve modeller arasında karşılaştırılamazsa, ikili sonuçlar için farklı çalışmaların sonuçlarını nasıl birleştirebiliriz?
- Ne sayısız meta-analizlerde de söylenebilir mi her çalışma muhtemelen ortak değişkenler farklı bir dizi için ayarlanmış farklı çalışmalardan elde olasılık oranlarını birleştirmek? Aslında işe yaramaz mı?
Referanslar
[1]: Norton EC, Dowd BE, Maciejewski ML (2018): Oran Oranları - Mevcut En İyi Uygulama ve Kullanım. JAMA 320 (1): 84-85.
[2]: Norton EC, Dowd BE (2017): Log Odds ve Logit Modellerinin Yorumlanması. Sağlık Hizmetleri Arş. 53 (2): 859-878'de tarif edilmiştir.
[3]: Hernán MA, Clayton D, Keiding N (2011): Simpson paradoksu çözüldü. Int J Epidemiol 40: 780-785.
ifşa
Soru (R kodu dahil), kullanıcı zamanlayıcı tarafından veri yöntemlerinde yöneltilen bir sorunun değiştirilmiş bir sürümüdür .
R kodu
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