Yorumlarda "ATE'yi model 2'den nasıl çıkaracağımı merak ediyorum" sorusunu ele alıyoruz:
Her şeyden önce, model 2'de, tüm tanımlanamaz, bu da tasarım matrisinde sıralama eksikliği sorununa yol açar. Bir seviye düşürmek gerekir, örneğin için varsayarsak . Yani, kontrast kodlamayı kullanarak ve 1. periyottaki tedavi etkisini 0 olduğunu varsayalım. R'de, 1. periyottaki tedavi etkisi ile etkileşim terimini referans seviyesi olarak ve bu da dönem 1'de tedavi etkisinin yorumlanmasına sahiptir. SAS'ta, periyodundaki tedavi etkisini referans seviyesi olarak , daha sonra dönemindeki tedavi etkisinin yorumuna sahip olacaktır.γjγj= 0j = 1β~mβ~m, artık dönem 1 değil.
Kontrastın R yolunda oluşturulduğunu varsayarsak, o zaman her etkileşim terimi için tahmin edilen katsayılar ( modelinizde tanımladığınız şey tam olarak olmasa da, bunu hala göstereceğim ) zaman periyodu arasındaki tedavi etkisi farkının yorumuna sahiptir. ve zaman periyodu 1. ATE'yi her periyotta , ardından için . Bu nedenle bir tahmin isimli . (tembellik nedeniyle gerçek parametre ile tahmin edenin kendisi arasındaki gösterim farkını yok sayarak) Ve doğal olarak sizinγjjA T Ejγj=A T Ej-A T E1j = 2 , … , mA T Ejβ~+γjA T E =β=1mΣmj = 1A T Ej=β~+ (β~+γ2) + ⋯ + (β~+γm)m=β~+1m(γ2+ ⋯ +γm) .
Bunu doğrulamak için R basit bir simülasyon yaptım:
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)
Ve sonuçlar bunu doğrular:
ATE.m1 ATE.m2
3.549213 3.549213
Yukarıdaki model 2'de kontrast kodlamanın doğrudan nasıl değiştirileceğini bilmiyorum, bu yüzden bir etkileşimin doğrudan doğrusal fonksiyonunu nasıl kullanabileceğini ve standart hatayı nasıl elde edebileceğinizi göstermek için multcomp paketini kullandım:
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)
Ve işte çıktı:
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)
Ben standart hata tarafından yukarıdaki doğrusal kombinasyon formu ve model 3 katsayılarının tahmini varyans-kovaryans matrisi ile elde edildiğini düşünüyorum.wV^wT-----√wV
Sapma kodlaması
doğrudan yorumuna sahip olmasını sağlamanın bir başka yolu sapma kodlaması kullanmaktır , böylece daha sonra ortak değişkenler karşılaştırmasını temsil eder :β~A T EA T Ej- A T E
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)
Çıktı:
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