In unserem Beispiel soll untersucht werden, ob sich das Schauen der
Sesamstraße auf die Zahlenkenntnisse von Kindern auswirkt. Dazu wurden
240 Kinder zufällig in zwei ungleich große Gruppen geteilt; eine Gruppe
wurde dazu ermutigt, die Sesamstraße zu schauen (Interventionsgruppe;
IG), während die andere Gruppe nicht dazu ermutigt wurde
(Kontrollgruppe; KG). Ein halbes Jahr später wurden zum einen die
Zahlenkenntnisse der Kinder erhoben, zum anderen, ob die Kinder
tatsächlich die Sesamstraße geschaut haben. Diese Daten basieren auf dem
Beispiel in Gelman & Hill (2006). Wir nutzen den simulierten
Datensatz sesam
aus der Datei sesam.rda
mit
den folgenden Variablen:
Für den Instrumenten-Variablen-Ansatz verwenden wir die Funktion
tsls()
aus dem Paket sem
. Die folgende Tabelle
bietet eine Übersicht der relevanten Argumente der Funktion.
Argument | Bedeutung |
---|---|
tsls( |
|
y ~ x1, |
Outcome-Variable (y ) zurückgeführt auf die
Interventionsvariable (x1 ) |
instruments = ~ x2, |
Instrumentenvariable (x2 ) |
data) |
Datensatz |
Zunächst installieren (falls nötig) und laden wir das Paket
sem
, welches wir für den Instrumenten-Variablen-Ansatz
benötigen:
# install.packages("sem") # Installation des Pakets sem vor erster Nutzung
library(sem) # Laden des Pakets sem
Anschließend lesen wir den Datensatz ein:
load("sesam.rda") # Einlesen des Datensatzes (wenn der Datensatz nicht im
# Arbeitsverzeichnis liegt, muss der Pfad entsprechend dem
# Speicherort des Datensatzes angepasst werden)
Zunächst schauen wir uns die Compliance der untersuchten Kinder an. Wir schauen uns also an, wie viele der ermutigten und wieviele der nicht ermutigten Kinder die Sesamstraße (nicht) angesehen haben. Dazu lassen wir uns eine Kreuztabelle mit absoluten Häufigkeiten ausgeben:
tab <- table(sesam$ermutigung, sesam$schauen, # Vierfeldertafel mit absoluten Häufigkeiten
# für die Kombinationen aus der Ermutigung
# und dem tatsächlichen Schauen
dnn = c("Ermutigung", "Schauen")) # Beschriftung der Tabelle
addmargins(tab) # Tabelle mit Randsummen ausgeben
## Schauen
## Ermutigung 0 1 Sum
## 0 43 45 88
## 1 16 136 152
## Sum 59 181 240
Es haben 240
Kinder an der Studie teilgenommen.
152
von ihnen wurden ermutigt, die Sesamstraße zu schauen,
während 88
nicht ermutigt wurden. 181
Kinder
haben die Sesamstraße tatsächlich geschaut und 59
taten
dies nicht. Von allen 152
Kindern, die ermutigt wurden,
haben 136
die Sesamstraße geschaut und 16
Kinder nicht. Von allen 88
Kindern, die nicht ermutigt
wurden, haben 43
die Sesamstraße nicht geschaut,
45
Kinder haben die Sesamstraße auch ohne Ermutigung
angesehen. Wir sehen also, dass sich nicht alle Kinder entsprechend der
(Nicht-)Ermutigung verhalten haben.
Wir schauen uns nun den Anteil der Personen an, die sich an die entsprechende Ermutigung oder Nicht-Ermutigung gehalten haben, indem wir die relativen Häufigkeiten bezogen auf die Ermutigung (Zeilenprozente) berechnen.
round( # runden
addmargins( # Randsummen hinzufügen
prop.table(tab, margin = 1)), # relative Häufigkeiten bzgl. der Zeilensummen
digits = 2) # auf zwei Nachkommastellen (runden)
## Schauen
## Ermutigung 0 1 Sum
## 0 0.49 0.51 1.00
## 1 0.11 0.89 1.00
## Sum 0.59 1.41 2.00
Wir sehen, dass 89
% der Kinder, die dazu ermutigt
wurden, auch tatsächlich die Sesamstraße geschaut haben. Von den
Kindern, die nicht dazu ermutigt wurden, sahen nur 51
% die
Sendung. Man erkennt hier bereits einen Zusammenhang. Die Höhe des
Zusammenhangs können wir berechnen.
cor(sesam$ermutigung, sesam$schauen) # Korrelation zwischen Ermutigung und Schauen
## [1] 0.429
Die Ermutigung und das tatsächliche Schauen der Sesamstraße
korrelieren zu \(\phi\) =
0,43
. Es gibt einen mittelstarken Zusammenhang zwischen der
Ermutigung und dem Schauen der Sesamstraße: Ermutigung führt zu
vermehrtem Schauen der Sesamstraße.
Wir schauen uns im Folgenden an, wie mit Non-Compliance umgegangen werden kann. Im Buch wurden vier verschiedene Ansätze vorgestellt, deren Umsetzung hier demonstriert werden soll.
Der As-Treated-Ansatz zielt auf die Bestimmung des kausalen Effekts des Schauens der Sesamstraße ab, ignoriert jedoch die Variable der Bedingungszuweisung, in unserem Fall also die Ermutigung. Es wird der mittlere Unterschied der Outcome-Variable berechnet, also der Unterschied der mittleren Zahlenkenntnisse zwischen allen, die Sesamstraße geschaut haben (Interventionsgruppe) und denen, die sie nicht geschaut haben (Kontrollgruppe). Wir bestimmen den Mittelwertsunterschied, indem wir eine Regression der Outcome-Variable (Zahlenkenntnisse) auf die Interventionsvariable (Schauen der Sesamstraße) schätzen.
m_as_treated <- lm(zahlenkenntnisse ~ schauen, # Regression zur Vorhersage der Zahlenkenntnisse
# aus dem Schauen der Sesamstraße
data = sesam) # Datensatz
summary(m_as_treated)$coef # Ausagabe der Regressionskoeffizienten
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.061 1.43 25.865 4.32e-71
## schauen -0.405 1.65 -0.246 8.06e-01
Kinder, die die Sesamstraße schauen, haben im Mittel um
0,410
Punkte geringere Zahlenkenntnisse als Kinder, die die
Sesamstraße nicht schauen. Dieser Effekt ist nicht signifikant (\(SE\) = 1,650
; \(t(1)\) = -0,250
; \(p\) = 0,810
).
Der resultierende Effekt sollte nicht kausal interpretiert werden. Da das Schauen der Sesamstraße nicht randomisiert wurde, können Selektionseffekte auftreten. (Mögliche) Unterschiede der Gruppen bezüglich ihrer Kovariatenausprägungen sollten daher durch Adjustierungsmethoden wie die ANCOVA, Kovariatenmatching oder PS-Methoden kontrolliert werden.
Der Per-Protocol-Ansatz zielt ebenfalls auf die Schätzung des kausalen Effektes des Schauens der Sesamstraße ab. In die Analyse werden dabei - im Gegensatz zum Vorgehen beim As-Treated-Ansatz - jedoch nur Personen aufgenommen, die sich an die Bedingungszuweisung gehalten haben. In unserem Beispiel also nur Kinder, die ermutigt wurden und die Sesamstraße dann tatächlich geschaut haben und Kinder, die nicht ermutigt wurden und die Sesamstraße auch nicht schauten.
Im ersten Schritt erstellen wir einen neuen Datensatz, der nur diese Fälle enthält:
# Erstellung des neuen Datensatzes:
# Es werden nur Personen (Zeilen) beibehalten, bei denen der Wert des Schauens dem der Ermutigung entspricht
sesam_per_protocol <- sesam[sesam$ermutigung == sesam$schauen,]
nrow(sesam_per_protocol) # Ausgabe der Anzahl der Personen im Datensatz
## [1] 179
Von den 240 Kindern, die an der Studie teilgenommen haben, haben sich
179
gemäß der Ermutigung oder Nicht-Ermutigung verhalten.
Nur diese werden in der Analyse berücksichtigt.
Anschließend schätzen wir den mittleren Unterschied der Zahlenkenntnisse zwischen den beiden Interventionsgruppen. Dazu spezifizieren wir eine Regression zur Vorhersage der Zahlenkenntnisse aus dem Schauen der Sesamstraße (nur für die Kinder, die sich entsprechend der Ermutigung verhalten haben):
m_per_protocol <- lm(zahlenkenntnisse ~ schauen, # Regression zur Vorhersage der Zahlenkenntnisse
# aus dem Schauen der Sesamstraße
data = sesam_per_protocol) # neuer Datensatz
summary(m_per_protocol)$coef # Ausgabe der Regressionskoeffizienten
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 35.71 1.73 20.656 4.96e-49
## schauen 1.26 1.98 0.637 5.25e-01
Kinder, die entsprechend der Ermutigung die Sesamstraße geschaut
haben, haben im Mittel um 1,260
Punkte höhere
Zahlenkenntnisse als Kinder, die entsprechend der ausbleibenden
Ermutigung nicht die Sesamstraße geschaut haben. Dieser Effekt ist nicht
signifikant (\(SE\)
=1,980
; \(t(1)\) =
0,637
; \(p\) =
0,525
).
Der resultierende Effekt ist nicht kausal interpretierbar, da das Schauen der Sesamstraße nicht zufällig zugewiesen wurde und Selektionseffekte auftreten können. Auch hier sollten Adjustierungsmethoden angewandt werden, um für mögliche Selektionseffekte zu kontrollieren.
Der Intention-To-Treat-Ansatz zielt nicht auf die Schätzung des kausalen Effekts des Schauens der Sesamstraße ab, sondern auf die Schätzung des kausalen Effekts der Ermutigung.
Statt dem Mittelwertsunterschied zwischen Kindern, die die Sesamstraße schauen und Kindern, die die Sesamstraße nicht schauen, wird in dieser Analyse der Mittelwertsunterschied zwischen Kindern, die ermutigt wurden und Kindern, die nicht ermutigt wurden geschätzt. Dazu spezifizieren wir eine Regression zur Vorhersage der Zahlenkenntnisse durch die Ermutigung.
m_intention <- lm(zahlenkenntnisse ~ ermutigung, # Regression zur Vorhersage der Zahlenkenntnisse
# durch die Ermutigung
data = sesam) # Datensatz
summary(m_intention)$coef # Ausgabe der Regressionskoeffizienten
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 35.70 1.17 30.50 3.35e-84
## ermutigung 1.67 1.47 1.14 2.57e-01
Die Ermutigung, die Sesamstraße zu schauen, führt im Mittel zu
1,670
Punkte höheren Zahlenkenntnissen im Vergleich zu
keiner Ermutigung. Dieser Effekt ist nicht signifikant (\(SE\) = 1,470
; \(t(1)\) = 1,140
; \(p\) = 0,260
). Dieser Effekt
ist kausal interpretierbar, da die Zuweisung zur Ermutigung randomisiert
erfolgte.
Im Instrumenten-Variablen-Ansatz wird der kausale Effekt des Schauens der Sesamstraße geschätzt. Dieser wird jedoch nicht für alle Kinder geschätzt, sondern nur für diejenigen, die sich an jegliche Bedingungszuweisung halten würden (Compliers). In unserem Beispiel sind dies die Kinder, die bei gegebener Ermutigung die Sesamstraße schauen würden, ohne Ermutigung jedoch nicht. Um den entsprechenden kausalen Effekt zu schätzen, benötigen wir sowohl das Instrument (die Ermutigung), als auch die Interventionsvariable (das tatsächliche Schauen).
Die Analyse läuft in zwei Schritten ab. Im ersten Schritt wird das tatsächliche Schauen (Interventionsvariable) durch die Ermutigung (Zuweisung/Instrument) vorhergesagt und die auf die Ermutigung bedingte Wahrscheinlichkeit des Schauens bestimmt. Im zweiten Schritt werden die Zahlenkenntnisse (Outcome-Variable) durch diese Wahrscheinlichkeit vorhergesagt.
Die Funktion tsls()
aus dem Paket sem
führt
diese beiden Schritte direkt aus und gibt zusätzlich korrekte
Standardfehler an, die bei dem vorliegenden zweischrittigen Verfahren
(Two-Stage-Least-Squares) korrigiert werden müssen.
m_iv <- tsls(zahlenkenntnisse ~ schauen, # Vorhersage der Zahlenkenntnisse durch
# das Schauen der Sesamstraße
instruments = ~ ermutigung, # Instrument (Ermutigung)
data = sesam) # Datensatz
summary(m_iv)$coef # Ausgabe der Regressionskoeffizienten
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 33.47 3.04 11.02 0.000
## schauen 4.36 3.91 1.11 0.266
Der geschätzte kausale Effekt des Schauens der Sesamstraße für solche
Kinder, die sich an jegliche Bedingungszuweisung halten würden
(Complier-Average-Treatment-Effekt, CATE), beträgt
4,360
Punkte. Dieser Effekt ist nicht signifikant (\(SE\) = 3,910
; \(t(1)\) = 1,110
; \(p\) = 0,270
). Der Effekt ist
kausal interpretierbar, wenn die Annahmen des Verfahrens (s.
Buchkapitel) erfüllt sind.
Eine umfassendere Beschreibung des Instrumenten-Variablen Ansatzes in R findet sich in:
Das Datenbeispiel wurde inspiriert von folgender Studie und deren Analyse in Gelmann & Hill (2007):