Apa cara terbaik untuk memperkirakan efek pengobatan rata-rata dalam studi longitudinal?


9

Dalam studi longitudinal, hasil dari unit berulang kali diukur pada titik waktu dengan total pengukuran tetap kali (tetap = pengukuran pada unit diambil pada waktu yang sama). i t mYititm

Unit ditugaskan secara acak baik untuk perawatan, , atau ke kelompok kontrol, . Saya ingin memperkirakan dan menguji efek rata-rata pengobatan, yaitu mana harapan diambil berdasarkan waktu dan individu. Saya mempertimbangkan untuk menggunakan model multilevel (efek campuran) fixed-chance untuk tujuan ini:G = 0 A T E = E ( Y | G = 1 ) - E ( Y | G = 0 ) ,G=1G=0

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

Yit=α+βGi+u0i+eit

dengan mencegat, yang , mencegat acak di seluruh unit, dan sisa.β A T E u eαβATEue

Sekarang saya sedang mempertimbangkan model alternatif

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

yang berisi efek tetap untuk setiap kesempatan mana dummy jika dan lainnya. Selain itu model ini berisi interaksi antara pengobatan dan waktu dengan parameter . Jadi model ini memperhitungkan bahwa efek mungkin berbeda antar waktu. Ini informatif dalam dirinya sendiri, tetapi saya percaya bahwa itu juga harus meningkatkan ketepatan estimasi parameter, karena heterogenitas dalam diperhitungkan. t d t = 1 j = t 0 γ G Yκjtdt=1j=t0γGY

Namun, dalam model ini koefisien tampaknya tidak sama dengan lagi. Sebaliknya itu mewakili ATE pada kesempatan pertama ( ). Jadi estimasi mungkin lebih efisien daripada tetapi tidak mewakili lagi. ATEβ~ATEt=1β~βATE

Pertanyaan saya adalah :

  • Apa cara terbaik untuk memperkirakan efek pengobatan dalam desain studi longitudinal ini?
  • Apakah saya harus menggunakan model 1 atau adakah cara untuk menggunakan (mungkin lebih efisien) model 2?
  • Apakah ada cara untuk membuat memiliki interpretasi dan pada penyimpangan khusus (misalnya menggunakan pengkodean efek)? ATEγβ~ATEγ

Dalam model 2, bukankah ATE sama dengan ditambah rata-rata ? γjβ~γj
jujae

Jika tujuan Anda secara eksklusif memperkirakan ATE, maka model 1 sudah cukup, karena akan tidak bias. Menambahkan periode atau interaksi dalam model akan mengurangi varian estimasi Anda, saya percaya. Dan saya pikir Anda mungkin ingin mencoba kode sebagai penyimpangan pengkodean (penyimpangan dari rata-rata)? γ
jujae

@jujae Alasan utama untuk model 2 adalah pengurangan varian, ya. Tapi saya ingin tahu bagaimana cara mengeluarkan ATE dari model 2. Komentar pertama Anda tampaknya menjadi sebuah pointer. Bisakah Anda menunjukkan ini atau menguraikannya? Maka ini akan mendekati jawaban atas pertanyaan saya!
tomka

Ketika Anda cocok dengan model 2, memiliki interpretasi ATE dalam periode 1. Koefisien istilah interaksi, untuk pertimbangan pengidentifikasian, akan dikodekan dengan ATE pada periode 1 sebagai level referensi. Oleh karena itu sebenarnya adalah perbedaan antara perawatan pada periode dan perawatan pada periode 1 dari output perangkat lunak. Jadi pada setiap periode , ATE adalah dan ketika rata-rata ATE periode-spesifik, itu akan menyebabkan ATE grand mean, yang merupakan dalam model Anda 1.β~γjjjβ~+γjβ
jujae

Jawaban:


2

Menjawab pertanyaan Anda "Saya ingin tahu cara mengeluarkan ATE dari model 2" di komentar:

Pertama-tama, dalam model 2 Anda, tidak semua dapat diidentifikasi yang mengarah ke masalah kekurangan peringkat dalam matriks desain. Kita perlu menjatuhkan satu level, misalnya dengan asumsi untuk . Artinya, menggunakan pengkodean kontras dan menganggap efek pengobatan pada periode 1 adalah 0. Dalam R, itu akan mengkode istilah interaksi dengan efek pengobatan pada periode 1 sebagai tingkat referensi, dan itu juga alasan mengapa memiliki interpretasi efek pengobatan pada periode 1. Dalam SAS, ia akan mengkode efek pengobatan pada periode sebagai level referensi, kemudian memiliki interpretasi efek pengobatan pada periodeγjγj=0j=1β~mβ~m, bukan periode 1 lagi.

Dengan asumsi kontras dibuat dengan cara R, maka koefisien diperkirakan untuk setiap istilah interaksi (saya masih akan menyatakan ini dengan , meskipun tidak persis apa yang Anda tetapkan dalam model Anda) memiliki interpretasi perbedaan efek pengobatan antara periode waktu dan periode waktu 1. Nyatakan ATE pada setiap periode , lalu untuk . Karenanya estimator untuk adalah . (Mengabaikan perbedaan notasi antara true parameter dan estimator itu sendiri karena kemalasan) Dan tentu saja AndaγjjATEjγj=ATEjATE1j=2,,mATEjβ~+γjATE=β=1mj=1mATEj=β~+(β~+γ2)++(β~+γm)m=β~+1m(γ2++γm) .

Saya melakukan simulasi sederhana dalam R untuk memverifikasi ini:

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)

Dan hasilnya memverifikasi ini:

  ATE.m1   ATE.m2 
3.549213 3.549213  

Saya tidak tahu bagaimana cara langsung mengubah pengkodean kontras dalam model 2 di atas, jadi untuk menggambarkan bagaimana seseorang dapat langsung menggunakan fungsi linear dari istilah interaksi, serta cara mendapatkan kesalahan standar, saya menggunakan paket multcomp:

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)

Dan inilah hasilnya:

 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)

Saya pikir kesalahan standar diperoleh oleh dengan menjadi bentuk kombinasi linear di atas dan estimasi varians-kovarians matriks dari koefisien dari model 3. wVwV^wTwV

Pengodean deviasi

Cara lain untuk membuat memiliki interpretasi langsung dari adalah dengan menggunakan pengkodean deviasi , sehingga kovariat selanjutnya mewakili perbandingan : ATEATEj-ATEβ~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)

Keluaran:

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

Bagus - tetapi bagaimana cara mendapatkan estimasi kesalahan standar? Dan bukankah seharusnya menggunakan pengkodean interaksi / efek periode dengan cara yang (Anda ) adalah ATE secara langsung (kemudian dengan perkiraan SE)? β~beta_t
tomka

@ Tomka, adalah mungkin, saya tidak tahu bagaimana mengarahkan perubahan matriks kontras dari istilah interaksi di model2, akan melakukan riset dan comeback nanti.
jujae

Memikirkan jawaban Anda, saya menemukan ini. Saya pikir penyimpangan pengkodean melakukan apa yang saya inginkan. Anda dapat mengujinya dan memasukkannya dalam jawaban Anda. ats.ucla.edu/stat/sas/webbooks/reg/chapter5/…
tomka

@ Tomka: Itulah yang ada dalam pikiran saya, lihat komentar asli saya untuk pertanyaan Anda di mana saya menyebutkan kode deviasi :), saya akan mencoba mengimplementasikan ini dan memperbarui jawabannya nanti. (Memiliki beberapa masalah dengan melakukannya di R tanpa secara manual membuat variabel dummy untuk pengkodean, tetapi sepertinya itu adalah satu-satunya cara untuk melakukannya).
jujae

@ Tomka: maaf atas keterlambatan, memperbarui bagian kode penyimpangan
jujae

0

Untuk pertanyaan pertama, pemahaman saya adalah bahwa cara-cara "mewah" hanya diperlukan ketika tidak segera jelas bahwa pengobatan tidak tergantung pada hasil yang potensial. Dalam kasus ini, Anda perlu berdebat bahwa beberapa aspek data memungkinkan untuk perkiraan tugas acak untuk pengobatan, yang membawa kita ke variabel instrumental, diskontinuitas regresi, dan sebagainya.

Dalam kasus Anda, unit secara acak ditugaskan untuk pengobatan, sehingga tampaknya dapat dipercaya bahwa pengobatan tidak tergantung pada hasil potensial. Maka kita bisa menyederhanakannya: perkirakan model 1 dengan kuadrat terkecil biasa, dan Anda memiliki perkiraan ATE yang konsisten. Karena unit secara acak ditugaskan untuk pengobatan, ini adalah salah satu dari beberapa kasus di mana asumsi efek-acak dapat dipercaya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.