1 Der Datensatz

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:

  • treat: Teilnahme am Englischtraining (0 = kein Englischtraining, 1 = Englischtraining) (Interventionsvariable)
  • eng_post: Englischkenntnisse nach dem Training (Skala von 0 bis 5) (Outcome-Variable)
  • eng_pre: Englischvorkenntnisse (Skala von 0 bis 5) (Kontinuierliche Kovariate)
  • eng_vorliebe: Vorliebe für Englisch (0 = keine Vorliebe für Englisch, 1 = Vorliebe für Englisch) (Dichotome Kovariate)


2 Erklärung der R-Funktion

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)


3 Vorbereitung

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)


4 Schätzung der Propensity-Scores

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.


5 Schätzung der Outcome-Regression

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:

  • Estimate: die geschätzten Regressionsparameter, d.h. Intercepts/Achsenabschnitt und die Steigungskoeffizienten
  • SE: kurz für »standard error«, in diesem Fall der Standardfehler der geschätzten Regressionsparameter
  • Est./SE: die Prüfgrüße \(z\)
  • p-value: der dem \(z\)-Wert entsprechende \(p\)-Wert

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).


6 Schätzung kausaler Effekte

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:

  • Estimate: der jeweils geschätzte kausale Effekt
  • SE: Standardfehler des jeweils geschätzten kausalen Effekts
  • p-value: \(p\)-Wert
  • Effect Size: die Effektstärke, in diesem Fall Glass’ \(\Delta\) (d.h. Differenz der adjustierten Mittelwerte geteilt durch die Standardabweichung der Outcome-Variable in der Kontrollgruppe)

Es werden in unserem Beispiel die folgenden kausalen Effekte geschätzt und zusätzlich deren \(SE\), \(p\)-Werte und Effektgrößen angegeben:

  • \(E[g_1(Z)] \ = \hat{\tau}\) = 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).
  • \(E[g_1(Z)|X=0] \ = \hat{\tau}_{X=0}\) = 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).
  • \(E[g_1(Z)|X=1] \ = \hat{\tau}_{X=1}\) = 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.


6.1 Exkurs: Berechnung geschätzter kausaler Effekte

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.


7 Weiterführende Literatur

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