Який найкращий спосіб оцінити середній ефект лікування при поздовжньому дослідженні?


9

У поздовжньому дослідженні результати одиниць неодноразово вимірюються в точках часу із загальною кількістю фіксованих випадків вимірювання (фіксований = вимірювання на одиницях проводяться одночасно).Yititm

Одиниці випадково призначаються або для лікування, , або контрольної групи, . Я хочу оцінити та протестувати середній ефект від лікування, тобто де очікування приймаються за часом та людьми. Я розглядаю можливість використання для цієї мети багаторівневої моделі (змішаних ефектів):G=1G=0

ATE=E(Y|G=1)E(Y|G=0),

Yit=α+βGi+u0i+eit

з перехоплення, \ бета - ATE , у випадкового перехоплення через одиниць, а ті залишковий.αβATEue

Зараз я розглядаю альтернативну модель

Yit=β~Gi+j=1mκjdij+j=1mγjdijGi+u~0i+e~it

який містить фіксовані ефекти κj для кожного випадку t де манекен dt=1 якщо j=t і 0 інше. Крім того, ця модель містить взаємодію між лікуванням та часом із параметрами γ . Отже ця модель враховує, що ефект від G може різнитися в часі. Це само по собі інформативно, але я вважаю, що це також повинно підвищити точність оцінки параметрів, оскільки неоднорідність у Y враховується.

Однак у цій моделі коефіцієнт , схоже, більше не дорівнює . Натомість він представляє ATE з першого разу ( ). Тож оцінка може бути ефективнішою, ніж але вона вже не представляє .β~ATEt=1β~βATE

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

  • Який найкращий спосіб оцінити ефект лікування в цій схемі поздовжнього дослідження?
  • Чи потрібно використовувати модель 1 чи є спосіб використовувати (можливо, більш ефективну) модель 2?
  • Чи існує спосіб, щоб мати інтерпретацію та з урахуванням конкретного відхилення (наприклад, з використанням ефекту кодування)?β~ATEγ

У моделі 2, чи ATE не дорівнює плюс середньому ? β~γj
jujae

Якщо ваша мета - виключно оцінка ATE, то моделі 1 буде достатньо, оскільки вона буде неупереджена. Додавання періоду чи взаємодії в моделі зменшить дисперсію вашої оцінки. І я думаю, ви можете спробувати кодувати як кодування відхилень (відхилення від середнього)? γ
jujae

@jujae Основна причина для моделі 2 - зменшення дисперсії, так. Але мені цікаво, як вивести ATE з моделі 2. Ваш перший коментар здається вказівником. Ви можете це показати чи докладно? Тоді це було б близько до відповіді на моє запитання!
tomka

Коли ви підходите до моделі 2, має інтерпретацію ATE у періоді 1. Коефіцієнти терміну взаємодії, для розгляду ідентифікованості, кодуються з ATE у періоді 1 як базовий рівень. Тому насправді є різницею між лікуванням у періоді та лікуванням у періоді 1 від виходу програмного забезпечення. Так що в кожному періоді , ATE є і коли середній показник для ATE, що відповідає періоду, це призведе до великої середньої ATE, яка є у вашій моделі 1.β~γjjjβ~+γjβ
jujae

Відповіді:


2

Відповідаючи на ваше запитання "Цікаво, як вийти з ATE з моделі 2" в коментарях:

Перш за все, у вашій моделі 2 не всі ідентифікуються, що призводить до проблеми дефіциту рангу в дизайнерській матриці. Потрібно опустити один рівень, наприклад, припустивши, що для . Тобто, використовуючи контрастне кодування та припустимо, що ефект лікування на періоді 1 дорівнює 0. У R він зашифрує термін взаємодії з ефектом лікування в період 1 як базовий рівень, і це також причина, чому має інтерпретацію ефекту лікування в періоді 1. У SAS він буде кодувати ефект лікування в період як еталонний рівень, тоді має інтерпретацію ефекту лікування в періодγjγj=0j=1β~mβ~m, більше не період 1.

Якщо припустити, що контраст створюється R, тоді коефіцієнти, оцінені для кожного терміна взаємодії (я все одно позначаю це , хоча це не точно те, що ви визначили у вашій моделі), має інтерпретацію різниці між ефектом лікування між періодом часу та період часу 1. Позначте ATE у кожному періоді , тоді для . Тому оцінювачем для є . (ігноруючи різницю позначень між істинним параметром і самим оцінювачем через лінь) І природно вашеγjjATEjγj=ATEjATE1j=2,,mATEjβ~+γjATE=β=1mj=1mATEj=β~+(β~+γ2)++(β~+γm)m=β~+1m(γ2++γm) .

Я зробив просте моделювання в R, щоб перевірити це:

set.seed(1234)
time <- 4
n <-2000
trt.period <- c(2,3,4,5) #ATE=3.5
kj <- c(1,2,3,4)
intercept <- rep(rnorm(n, 1, 1), each=time)
eij <- rnorm(n*time, 0, 1.5)
trt <- rep(c(rep(0,n/2),rep(1,n/2)), each=time)
y <- intercept + trt*(rep(trt.period, n))+rep(kj,n)+eij
sim.data <- data.frame(id=rep(1:n, each=time), period=factor(rep(1:time, n)), y=y, trt=factor(trt))

library(lme4)
fit.model1 <- lmer(y~trt+(1|id), data=sim.data)
beta <- getME(fit.model1, "fixef")["trt1"]

fit.model2 <- lmer(y~trt*period + (1|id), data=sim.data)
beta_t <- getME(fit.model2, "fixef")["trt1"]
gamma_j <- getME(fit.model2, "fixef")[c("trt1:period2","trt1:period3","trt1:period4")]

results <-c(beta, beta_t+sum(gamma_j)/time)
names(results)<-c("ATE.m1", "ATE.m2")
print(results)

І результати це підтверджують:

  ATE.m1   ATE.m2 
3.549213 3.549213  

Я не знаю, як безпосередньо змінити контрастне кодування в моделі 2 вище, тому для ілюстрації, як можна безпосередньо використовувати лінійну функцію термінів взаємодії, а також як отримати стандартну помилку, я використав пакет мультикомплектів:

sim.data$tp <- interaction(sim.data$trt, sim.data$period)
fit.model3 <- lmer(y~tp+ (1|id), data=sim.data)
library(multcomp)
# w= tp.1.1 + (tp.2.1-tp.2.0)+(tp.3.1-tp.3.0)+(tp.4.1-tp.4.0)
# tp.x.y=interaction effect of period x and treatment y
w <- matrix(c(0, 1,-1,1,-1,1,-1,1)/time,nrow=1)
names(w)<- names(getME(fit.model3,"fixef"))
xx <- glht(fit.model3, linfct=w)
summary(xx)

І ось вихід:

 Simultaneous Tests for General Linear Hypotheses
Fit: lmer(formula = y ~ tp + (1 | id), data = sim.data)
Linear Hypotheses:
       Estimate Std. Error z value Pr(>|z|)    
1 == 0  3.54921    0.05589   63.51   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Adjusted p values reported -- single-step method)

Я думаю, що стандартна помилка отримується за допомогою причому є вище лінійною комбінованою формою, а - оціночною дисперсійно-коваріаційною матрицею коефіцієнтів з моделі 3.wV^wTwV

Кодування відхилення

Інший спосіб зробити має безпосередньо інтерпретацію - використовувати кодування відхилень , щоб пізніші коваріати представляли порівняння:β~ATEATEjATE

sim.data$p2vsmean <- 0
sim.data$p3vsmean <- 0
sim.data$p4vsmean <- 0
sim.data$p2vsmean[sim.data$period==2 & sim.data$trt==1] <- 1
sim.data$p3vsmean[sim.data$period==3 & sim.data$trt==1] <- 1
sim.data$p4vsmean[sim.data$period==4 & sim.data$trt==1] <- 1
sim.data$p2vsmean[sim.data$period==1 & sim.data$trt==1] <- -1
sim.data$p3vsmean[sim.data$period==1 & sim.data$trt==1] <- -1
sim.data$p4vsmean[sim.data$period==1 & sim.data$trt==1] <- -1


fit.model4 <- lmer(y~trt+p2vsmean+p3vsmean+p4vsmean+ (1|id), data=sim.data)

Вихід:

Fixed effects:
            Estimate Std. Error t value
(Intercept)  3.48308    0.03952   88.14
trt1         3.54921    0.05589   63.51
p2vsmean    -1.14774    0.04720  -24.32
p3vsmean     1.11729    0.04720   23.67
p4vsmean     3.01025    0.04720   63.77

Добре - але як отримати стандартну оцінку помилок? І чи не можна використовувати кодування ефектів взаємодії / періоду таким чином, що (ваш ) є ATE безпосередньо (тоді з оцінкою SE)? β~beta_t
tomka

@tomka, можливо, я не знаю, як напряму змінити контрастну матрицю терміна взаємодії в model2. Зробимо деякі дослідження та повернення пізніше.
jujae

Думаючи про вашу відповідь, я знайшов це. Я думаю, що кодування відхилень робить те, що я хочу. Ви можете його протестувати і включити у відповідь. ats.ucla.edu/stat/sas/webbooks/reg/chapter5/…
tomka

@tomka: Це саме те, що мені до душі, дивіться мій оригінальний коментар до вашого запитання, де я згадав кодування відхилень :), я спробую це втілити і пізніше оновити відповідь. (Виникають проблеми з виконанням цього в R без створення вручну фіктивної змінної для кодування, але схоже, що це єдиний спосіб зробити це).
jujae

@tomka: вибачте за затримку, оновив частину коду відхилення
jujae

0

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

У вашому випадку підрозділи призначені випадковим чином для лікування, тому здається правдоподібним, що лікування не залежить від потенційних результатів. Тоді ми можемо просто зробити все простим: оцініть модель 1 із звичайними найменшими квадратами, і ви маєте послідовну оцінку ATE. Оскільки одиниці випадково призначені для лікування, це один з небагатьох випадків, коли припущення про випадкові ефекти є вірогідним.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.