Wie lässt sich der durchschnittliche Behandlungseffekt in einer Längsschnittstudie am besten abschätzen?

9

In einer Längsschnittstudie werden die Ergebnisse der Einheiten zu Zeitpunkten mit insgesamt festen Messanlässen wiederholt gemessen (fest = Messungen an Einheiten werden gleichzeitig durchgeführt). i t mYititm

Die Einheiten werden zufällig entweder einer Behandlung oder einer Kontrollgruppe . Ich möchte den durchschnittlichen Effekt der Behandlung abschätzen und testen, dh wobei die Erwartungen über Zeit und Personen hinweg berücksichtigt werden. Ich erwäge, für diesen Zweck ein Mehrebenenmodell mit festen Anlässen (gemischte Effekte) zu verwenden: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

mit der Achsenabschnitt, die , ein zufälliger Achsenabschnitt über Einheiten und der Rest.β A T E u eαβATEue

Jetzt denke ich über ein alternatives Modell nach

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

welches die festen Effekte für jede Gelegenheit wobei Dummy wenn und sonst. Zusätzlich enthält dieses Modell eine Wechselwirkung zwischen Behandlung und Zeit mit den Parametern . Dieses Modell berücksichtigt also, dass sich die Wirkung von Laufe der Zeit unterscheiden kann. Dies ist an sich schon informativ, aber ich glaube, dass es auch die Genauigkeit der Schätzung der Parameter erhöhen sollte, da die Heterogenität in berücksichtigt wird. t d t = 1 j = t 0 γ G Y.κjtdt=1j=t0γGY

In diesem Modell scheint der -Koeffizient jedoch nicht mehr der zu entsprechen. Stattdessen repräsentiert es die ATE beim ersten Mal ( ). Die Schätzung von möglicherweise effizienter als , repräsentiert jedoch nicht mehr die . ATEt=1 ˜ β βATE.β~ATEt=1β~βATE

Meine Fragen sind :

  • Wie lässt sich der Behandlungseffekt in diesem Längsschnittstudiendesign am besten abschätzen?
  • Muss ich Modell 1 verwenden oder gibt es eine Möglichkeit, Modell 2 (möglicherweise effizienter) zu verwenden?
  • Gibt es eine Möglichkeit, dass die Interpretation der und die anlassspezifische Abweichung hat (z. B. mithilfe der Effektcodierung)? ATEγβ~ATEγ
Tomka
quelle
die ATE in Modell 2 nicht gleich plus dem Durchschnitt von ? γjβ~γj
Jujae
Wenn Ihr Zweck ausschließlich darin besteht, ATE zu schätzen, reicht Modell 1 aus, da es unvoreingenommen ist. Das Hinzufügen von Periode oder Interaktion im Modell verringert meines Erachtens die Varianz Ihrer Schätzung. Und ich denke, Sie möchten vielleicht versuchen, als Abweichungscodierung (Abweichung vom Durchschnitt) zu codieren ? γ
Jujae
@jujae Der Hauptgrund für Modell 2 ist die Varianzreduzierung, ja. Aber ich frage mich, wie ich die ATE aus Modell 2 herausholen kann. Ihr erster Kommentar scheint ein Hinweis zu sein. Können Sie dies zeigen oder näher erläutern? Dann wäre dies fast eine Antwort auf meine Frage!
Tomka
Wenn Sie Modell 2 , hat die Interpretation von ATE in Periode 1. Die Koeffizienten des Interaktionsterms werden aus Gründen der Identifizierbarkeit mit ATE in Periode 1 als Referenzniveau codiert. Daher ist tatsächlich der Unterschied zwischen der Behandlung in Periode und der Behandlung in Periode 1 aus der Software-Ausgabe. In jeder Periode ist die ATE und wenn die periodenspezifische ATE gemittelt wird, führt dies zu der großen mittleren ATE, die in Ihrem Modell 1 . γjjj ˜ β +γjββ~γjjjβ~+γjβ
jujae

Antworten:

2

Beantwortung Ihrer Frage "Ich frage mich, wie ich die ATE aus Modell 2 herausholen kann" in den Kommentaren:

Erstens ist in Ihrem Modell 2 nicht alles identifizierbar, was zu dem Problem des in der Entwurfsmatrix führt. Es ist notwendig, eine Ebene zu , beispielsweise unter der Annahme von für . Das heißt, unter Verwendung der Kontrastcodierung und unter der Annahme, dass der Behandlungseffekt in Periode 1 0 ist. In R wird der Interaktionsterm mit dem Behandlungseffekt in Periode 1 als Referenzniveau codiert, und dies ist auch der Grund, warum hat die Interpretation des Behandlungseffekts in Periode 1. In SAS wird der Behandlungseffekt in Periode als Referenzniveau codiert, dann hat die Interpretation des Behandlungseffekts in Periodeγ j = 0 j = 1 ˜ β m ˜ β mγjγj=0j=1β~mβ~m, nicht mehr Periode 1.

Angenommen, der Kontrast wird auf R-Weise erzeugt, dann haben die für jeden Interaktionsterm geschätzten Koeffizienten (ich werde dies immer noch mit , obwohl es nicht genau das ist, was Sie in Ihrem Modell definiert haben) die Interpretation der Behandlungseffektdifferenz zwischen dem Zeitraum und Zeitraum 1. Bezeichnen Sie ATE in jedem Zeitraum , dann für . Daher ein Schätzer für heißt . (Ignoriert den Notationsunterschied zwischen dem wahren Parameter und dem Schätzer selbst, weil Faulheit) Und natürlich Ihr j A T E j γ j = A T E j - A T E 1γjjATEjγj=ATEjATE1j=2,,mATEjβ~+γjATE=β=1mj=1mATEj=β~+(β~+γ2)++(β~+γm)m=β~+1m(γ2++γm) .

Ich habe eine einfache Simulation in R durchgeführt, um dies zu überprüfen:

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)

Und die Ergebnisse bestätigen dies:

  ATE.m1   ATE.m2 
3.549213 3.549213  

Ich weiß nicht, wie man die Kontrastcodierung in Modell 2 oben direkt ändert. Um zu veranschaulichen, wie man eine lineare Funktion der Interaktionsterme direkt verwenden kann und wie man den Standardfehler erhält, habe ich das Multcomp-Paket verwendet:

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)

Und hier ist die Ausgabe:

 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)

Ich denke, der Standardfehler wird durch wobei die obige lineare Kombinationsform und die geschätzte Varianz-Kovarianz-Matrix der Koeffizienten aus Modell 3 ist. wVwV^wTwV

Abweichungscodierung

Eine andere Möglichkeit, direkt mit der Interpretation von besteht in der Verwendung der Abweichungscodierung , sodass spätere Kovariaten den Vergleich : 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)

Ausgabe:

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
Jujae
quelle
Gut - aber wie erhält man eine Standardfehlerschätzung? Und sollte es nicht möglich sein, die Interaktionen / Periodeneffekte so zu codieren, dass (Ihr ) direkt die ATE ist (dann mit einer SE-Schätzung)? β~beta_t
Tomka
@tomka, es ist möglich, ich weiß nicht, wie ich die Kontrastmatrix des Interaktionsterms in Modell2 direkt ändern soll. Ich werde später etwas recherchieren und zurückkehren.
Jujae
Als ich über Ihre Antwort nachdachte, fand ich diese. Ich denke, die Abweichungscodierung macht, was ich will. Sie können es testen und in Ihre Antwort aufnehmen. ats.ucla.edu/stat/sas/webbooks/reg/chapter5/…
Tomka
@tomka: Genau das denke ich, siehe meinen ursprünglichen Kommentar zu deiner Frage, in dem ich die Abweichungscodierung erwähnt habe :), ich werde versuchen, dies zu implementieren und die Antwort später zu aktualisieren. (Probleme beim Ausführen in R, ohne manuell eine Dummy-Variable für die Codierung zu erstellen, aber es sieht so aus, als wäre dies der einzige Weg, dies zu tun.)
Jujae
@ Tomka: Entschuldigung für die Verzögerung, aktualisiert den Abweichungscode Teil
Jujae
0

Bei der ersten Frage verstehe ich, dass "ausgefallene" Wege nur dann erforderlich sind, wenn nicht sofort ersichtlich ist, dass die Behandlung unabhängig von möglichen Ergebnissen ist. In diesen Fällen müssen Sie argumentieren, dass ein Aspekt der Daten eine Annäherung der zufälligen Zuordnung zur Behandlung ermöglicht, wodurch wir zu instrumentellen Variablen, Regressionsdiskontinuität usw. gelangen.

In Ihrem Fall Einheiten werden randomisiert einer Behandlung zugewiesen, so scheint es glaubhaft , dass die Behandlung unabhängig von möglichen Ergebnissen ist. Dann können wir die Dinge einfach halten: Schätzen Sie Modell 1 mit gewöhnlichen kleinsten Quadraten, und Sie haben eine konsistente Schätzung der ATE. Da Einheiten der Behandlung zufällig zugewiesen werden, ist dies einer der wenigen Fälle, in denen eine Annahme mit zufälligen Effekten glaubwürdig ist.

Peter
quelle