Wir möchten evaluieren, ob ein entwickeltes Englischtraining die
Englischkenntnisse von Studierenden erhöht. Dazu wurde eine
quasi-experimentelle Studie durchgeführt, bei der die Studierenden
selbst entscheiden konnten, ob sie am Training teilnehmen
(Interventionsgruppe; IG) oder nicht (Kontrollgruppe; KG). Nach dem
Training wurden in beiden Gruppen die Englischkenntnisse gemessen. Als
Kovariaten wurden die Englischvorkenntnisse und die Vorliebe für
Englisch erhoben. Für die Analysen nutzen wir den simulierten Datensatz
(englisch.rda
) mit dem Objektnamen englisch
mit den folgenden Variablen:
Für die PS-ANCOVA verwenden wir die Funktion
effectLite()
aus dem Paket EffectLiteR
Die
folgende Tabelle bietet eine Übersicht der zentralen Funktionsargumente
von effectLite()
:
Argument | Bedeutung |
---|---|
effectLite( |
|
y, |
Outcome-Variable |
x, |
Interventionsvariable |
control, |
Kodierung der Kontrollgruppe; z.B.
control = "0" ; default = der erste Eintrag von
as.factor(x) wird gewählt |
z, |
kontinuierliche Kovariate(n) oder (Funktionen des)
Propensity-Scores (default = NULL ) |
k, |
kategoriale Kovariate(n) (default =
NULL ) |
data, |
Datensatz |
interactions, |
zugelassene Interaktionen; z.B. default =
interactions = "all" , dabei werden Interaktionen zwischen
allen Variablen außer den kontinuierlichen untereinander zugelassen,
interactions = "no" erlaubt keine Interaktion zwischen
Kovariate(n) und Interventionsvariable |
missing, |
Umgang mit fehlenden Werten; z.B.
missing = "fiml" für Full Information Maximum Likelihood;
missing = "listwise" für listenweisen Ausschluss fehlender
Werte |
fixed.cell, |
fixe, festgelegte Gruppengröße (TRUE ) oder
stochastische, nicht festgelegte Gruppen (FALSE ) |
homoscedasticity) |
Annahme von Varianzhomogenität der abhängigen Variable
in den Interventionsgruppen (TRUE , wenn angenommen;
FALSE , wenn nicht angenommen) |
Zunächst installieren (falls nötig) und laden wir das nötige Paket
#install.packages("EffectLiteR") # Installation des Paketes EffectLiteR vor der ersten Nutzung
library(EffectLiteR) # Laden des Paketes
und lesen den Datensatz ein
load("englisch.rda") # Einlesen des Datensatzes (wenn der Datensatz nicht
# im Arbeitsverzeichnis liegt, muss der Pfad entsprechend
# dem Speicherort des Datensatzes angepasst werden)
Bei der PS-ANCOVA werden Effekte mit Hilfe einer ANCOVA geschätzt. Im Unterschied zur generalisierten ANCOVA werden jedoch nicht Kovariaten in das Modell aufgenommen, sondern die Propensity-Score-Variable, beziehungsweise deren Logits.
Zur Schätzung der Propensity-Scores spezifizieren wir zunächst eine
logistische Regression mit der glm()
-Funktion, in der die
Zuweisung zu den Interventionsgruppen durch die Kovariaten vorhergesagt
wird. Anschließend speichern wir die durch die Kovariaten vorhergesagte
Wahrscheinlichkeit am Englischtraining teilzunehmen (transformiert in
Logits).
mod_ps <- glm(treat ~ eng_pre + eng_vorliebe, # Trainingsteilnahme wird durch die beiden
# Kovariaten erklärt
data = englisch, # Datensatz
family = binomial) # binomiale Funktion
englisch$ps_logit <- predict(mod_ps) # Speichern der durch das Modell vorhergesagten Logits
Bei der PS-ANCOVA sollte - wie bei den anderen Propensity-Score Verfahren auch - Overlap und Balance geprüft und ggf. hergestellt werden, bevor ein kausaler Effekt geschätzt wird. Dies kann beispielsweise analog zu dem Vorgehen bei der PS-Gewichtung vorgenommen werden.
Im zweiten Schritt spezifizieren wir eine ANCOVA mit dem Logit der
Propensity-Scores als Kovariate. Dafür nutzen wir die
effectLite()
-Funktion.
m <- effectLite(
y = "eng_post", # Outcome-Variable
x = "treat", # Interventionsvariable
control = "0", # Kodierung für Kontrollgruppe
z = "ps_logit", # Propensity-Score-Logit als kontinuierliche Kovariate
k = NULL, # in diesem Fall haben wir keine kategoriale(n) Kovariate(n)
data = englisch, # der Datensatz
interactions = "all", # alle Interaktionen zulassen
missing = "fiml", # Umgang mit fehlenden Werten:
# Full Information Maximum Likelihood Methode
fixed.cell = FALSE, # Gruppengröße der Interventionsgruppen wurde in der Studie
# nicht vorher festgelegt
homoscedasticity = FALSE) # keine Annahme von Varianzhomogenität der AV über Interventionsgruppen hinweg
Im Folgenden werden relevante Auszüge des Outputs nacheinander gezeigt und erläutert.
print(m)
##
##
## --------------------- Message ---------------------
##
## -- model converged succesfully --
##
##
...
Unter Message finden wir die Mitteilung der erfolglosen oder (in diesem Fall) erfolgreichen Modellschätzung.
...
## --------------------- Variables ---------------------
##
## Outcome variable Y: eng_post
## Treatment variable X: treat (Reference group: 0)
## Continuous covariates in Z=(Z1): Z1=ps_logit
##
## Levels of Treatment Variable X
## X treat (original) Indicator
## 0 0 I_X=0
## 1 1 I_X=1
...
Unter Variables wird eine Zusammenfassung der verwendeten Variablen gegeben. Wir sehen auch hier, dass der PS-Logit als kontinuierliche Kovariate aufgenommen wurde.
...
##
## --------------------- Regression Model ---------------------
##
## E(Y|X,Z) = g0(Z) + g1(Z)*I_X=1
## g0(Z) = g000 + g001 * Z1
## g1(Z) = g100 + g101 * Z1
##
## Intercept Function g0(Z) [Reference group: 0]
##
## Coefficient Estimate SE Est./SE p-value
## g000 3.021 0.035 86.7 0
## g001 0.355 0.033 10.9 0
##
## Effect Function g1(Z) [treat: 1 vs. 0]
##
## Coefficient Estimate SE Est./SE p-value
## g100 0.246 0.051 4.79 0.000
## g101 -0.092 0.055 -1.67 0.095
##
##
...
Unter Regression Model finden sich die folgenden Angaben:
Die in der PS-ANCOVA geschätzten Parameter sind inhaltlich weniger interessant als die der generalisierten ANCOVA, dennoch erläutern wir ihre inhaltliche Bedeutung hier der Vollständigkeit und dem Verständnis halber:
g000
= \(\alpha_0\) =
3,021
: Wir erwarten einen Wert von 3,021 Punkten im
Englisch-Nachtest für Personen in der Kontrollgruppe mit einem
Propensity-Score-Logit von 0 (d.h. einer Wahrscheinlichkeit von 50% in
die Interventionsgruppe zu kommen). Dieser geschätzte Parameter hat
einen Standardfehler von 0,035
und unterscheidet sich
signifikant von 0 (\(p\) <
,001
).
g001
= \(\alpha_1\) =
0,355
: Für jeden PS-Logit mehr in der Kontrollgruppe (z.B.
einer Wahrscheinlichkeit von 0,73 statt 0,5 in die Interventionsgruppe
zu gelangen) sagen wir 0,355 höhere Werte im Englisch-Nachtest vorher.
Dieser geschätzte Parameter hat einen Standardfehler von
0,033
und unterscheidet sich signifikant von 0 (\(p\) < ,001
).
g100
= \(\alpha_2\) =
0,246
: Bei einem PS-Logit von 0 (d.h. einer
Wahrscheinlichkeit von 50% in die Interventionsgruppe zu kommen) sagen
wir einen Effekt des Englischtrainings von 0,246 Punkten Verbesserung im
Englisch-Nachtest vorher. Dieser geschätzte Parameter hat einen
Standardfehler von 0,051
und unterscheidet sich signifikant
von 0 (\(p\) <
,001
).
g101
= \(\alpha_3\) =
-0,092
: Für jeden PS-Logit mehr (z.B. einer
Wahrscheinlichkeit von 0,73 statt 0,5 in die Interventionsgruppe zu
gelangen) verringert sich der Effekt des Englischtrainings um 0,092
Punkte im Englisch-Nachtest. Hier erkennt man bereits, dass Personen,
die eher die Kontrollgruppe wählen, stärker vom Training profitieren
würden als Personen, die eher die Trainingsgruppe wählen. Dieser
geschätzte Parameter hat einen Standardfehler von 0,055
und
unterscheidet sich signifikant von 0 (\(p\) = ,095
).
Die geschätzen kausalen Effekte können direkt aus dem R-Output abgelesen werden. Wir erhalten zudem Standardfehler und \(p\)-Werte für jeden Effekt:
...
##
## --------------------- Average Effects ---------------------
##
## Estimate SE Est./SE p-value Effect Size
## E[g1(Z)] 0.258 0.0522 4.95 0.000000732 0.446
##
##
## --------------------- Effects given a Treatment Condition ---------------------
##
## Estimate SE Est./SE p-value Effect Size
## E[g1(Z)|X=0] 0.292 0.0587 4.97 0.000000662 0.504
## E[g1(Z)|X=1] 0.221 0.0537 4.12 0.000038214 0.382
...
Unter Average Effects kann der Schätzer für den durchschnittlichen kausalen Effekt abgelesen werden. Unter Effects given a Treatment Condition finden sich die Schätzer für die durchschnittlichen kausalen Effekte der Behandelten und Unbehandelten.
Dabei sind folgende Werte relevant:
Es werden in unserem Beispiel die folgenden kausalen Effekte geschätzt und zusätzlich deren \(SE\), \(p\)-Werte und Effektgrößen angegeben:
0,258
(\(SE\) =
0,052
; \(p\) <
,001
; \(\Delta\) =
0,446
): Im Durchschnitt führt das Training zu einem um
0,258 Punkte besseren Ergebnis im Englisch-Nachtest (im Vgl. zu keinem
Training). Der Effekt ist signifikant und entspricht einer
standardisierten Effektstärke (Glass’ \(\Delta\)) von 0,446 (klein bis
mittel).0,292
(\(SE\) = 0,059
; \(p\) < ,001
; \(\Delta\) = 0,504
): Für
Personen in der Kontrollgruppe wird ein durchschnittlicher Effekt des
Englischtrainings auf die Englischkenntnisse von 0,292 geschätzt. Der
Effekt ist signifikant und entspricht einer standardisierten
Effektstärke (Glass’ \(\Delta\)) von
0,504 (mittel).0,221
(\(SE\) = 0,054
; \(p\) < ,001
; \(\Delta\) = 0,382
): Für
Personen in der Interventionsgruppe wird ein durchschnittlicher Effekt
des Englischtrainings auf die Englischkenntnisse von 0,221 geschätzt.
Der Effekt ist signifikant und entspricht einer standardisierten
Effektstärke (Glass’ \(\Delta\)) von
0,382 (klein).Die hier angegebene Inferenzstatistik berücksichtigt nicht, dass auch die PS-Schätzung aus dem ersten Schritt mit Unsicherheit verbunden ist. Es existieren Verfahren, die diese Unsicherheit in der Inferenz für die kausalen Effekte berücksichtigen.
In diesem Exkurs zeigen wir, wie die Berechnung der geschätzten kausalen Effekte mit Hilfe der geschätzten Regressionsgleichung per Hand erfolgen kann. Dieses Vorgehen wird in der Praxis nicht benötigt, da EffectLiteR die Kennwerte direkt ausgibt; das Nachvollziehen der Schritte kann jedoch zum besseren Verständnis der verschiedenen Effektarten beitragen.
Die kausalen Effekte lassen sich wie bei der generalisierten ANCOVA über die Erwartungswerte der \(g_1\)-Funktion schätzen:
Effekte | Formel | |
---|---|---|
ATE | \(\widehat\tau=E(g_1(l\pi))\\\) | Der durschnittliche kausale Effekt wird als Erwartungswert der \(g_1\)-Funktion geschätzt. |
ATT | \(\widehat\tau_{X=1}=E(g_1(l\pi)|X=1)\) | Der durschnittliche kausale Effekt der Behandelten wird als auf die Teilnahme in der Interventionsgruppe bedingter Erwartungswert der \(g_1\)-Funktion geschätzt. |
ATU | \(\widehat\tau_{X=0}=E(g_1(l\pi)|X=0)\) | Der durschnittliche kausale Effekt der Unbehandelten wird als auf die Teilnahme in der Kontrollgruppe bedingter Erwartungswert der \(g_1\)-Funktion geschätzt. |
Durchschnittlicher Kausaler Effekt:
Der geschätzte durchschnittliche kausale Effekt entspricht dem Erwartungswert der \(g_1\)-Funktion. In unserem Beispiel also:
\(\widehat{\tau} = E(g_1 (l\pi)) = E(0,246 - 0,092 * l\pi) = 0,246 - 0,092 * E(l\pi)\)
Wir setzen den Erwartungswert für \(l\pi\) ein, welchen wir über den Mittelwert der vorhergesagten PS-Logits schätzen.
mean(englisch$ps_logit)
## [1] -0.132
\(\widehat{\tau} = 0,246 - 0,092 * (-0,132) = 0,258\)
→ Im Mittel wird eine Verbesserung der Englischkenntnisse durch das Training von 0,258 Punkten erwartet.
Durchschnittlicher kausaler Effekt der Behandelten:
Der geschätzte durchschnittliche kausale Effekt der Behandelten entspricht dem auf die Teilnahme in der Interventionsgruppe bedingten Erwartungswert der \(g_1\)-Funktion:
\(\widehat{\tau}_{(X=1)} = E(g_1 (l\pi)|X=1) = E( 0,246 - 0,092 * l\pi|X=1 ) = 0,246 - 0,092 * E(l\pi|X=1)\)
tapply(englisch$ps_logit, englisch$treat, mean) # Mittelwerte der PS-Logits nach Gruppe
## 0 1
## -0.496 0.271
Der geschätzte Erwartungswert von \(l\pi\) in der Interventionsgruppe \(E(l\pi|X=1)\) beträgt 0,271
.
Es gilt also:
\(\widehat{\tau}_{(X=1)} = 0,246 - 0,092 * 0,271 = 0,221\)
→ Für Personen, die am Training teilnehmen, wird ein um 0,221 Punkte besseres Ergebnis im Nachtest durch das Training erwartet, als wenn sie nicht am Training teilgenommen hätten.
Durchschnittlicher kausaler Effekt der Unbehandelten:
Der geschätzte durchschnittliche kausale Effekt der Unbehandelten entspricht dem auf die Teilnahme in der Kontrollgruppe bedingten Erwartungswert der \(g_1\)-Funktion:
\(\widehat{\tau}_{(X=0)} = E(g_1 (l\pi)|X=0) = E(0,246 - 0,092 * l\pi|X=0) = 0,246 - 0,092 * E(l\pi|X=0)\)
Der Erwartungswert von \(l\pi\) in
der Kontrollgruppe \(E(l\pi|X=0)\) ist
-0,496
(s.o.). Es gilt also:
\(\widehat{\tau}_{(X=0)} = 0,246 - 0,092 * (-0,496) = 0,292\)
→ Bei Personen, die das Training nicht wählen, führt das Training im Mittel zu um 0,292 Punkten besseren Englischkenntnissen. Personen in der Kontrollgruppe würden von dem Training demnach mehr profitieren als Personen in der Interventionsgruppe.
Informationen zum Hintergrund von und weiteren Analysemöglichkeiten mit EffectLiteR finden Sie hier:
Mayer, A., Dietzfelbinger, L., Rosseel, Y., & Steyer, R. (2016). The EffectLiteR approach for analyzing average and conditional effects. Multivariate Behavioral Research, 51(2-3), 374-391. https://doi.org/10.1080/00273171.2016.1151334
Mayer, A., Zimmermann, J., Hoyer, J., Salzer, S., Wiltink, J., Leibing, E., & Leichsenring, F. (2020). Interindividual differences in treatment effects based on structural equation models with latent variables: an EffectLiteR tutorial. Structural Equation Modeling: A Multidisciplinary Journal, 27(5), 798-816. https://doi.org/10.1080/10705511.2019.1671196
Sengewald, M. A., & Mayer, A. (2022). Causal effect analysis in nonrandomized data with latent variables and categorical indicators: The implementation and benefits of EffectLiteR. Psychological Methods. Online-Vorveröffentlichung. https://doi.org/10.1037/met0000489