Die Regressions-Diskontinuitäts-Analyse betrachten wir am (fiktiven)
Beispiel des Einflusses einer Gruppentherapie für Betroffene postnataler
Depression auf die empfundene Verbundenheit mit dem Neugeborenen. Wir
nutzen den simulierten Datensatz mutter
aus der Datei
mutter.rda
mit den folgenden Variablen:
Eine mütterliche Depression kann langfristig zu einer Bindungsstörung zwischen Mutter und Kind führen. Ziel der Gruppentherapie ist es, Mütter über das Störungsbild der postpartalen Depression aufzuklären, sie in den Austausch treten zu lassen und praktische Unterstützung im Umgang mit den Neugeborenen zu bieten. Dadurch soll unter anderem das Gefühl der Verbundenheit zwischen Mutter und Kind gestärkt werden. Um besonders Betroffenen Zugang zur Therapie zu gewährleisten, wurden alle Mütter mit einem Grenzwert negativer Affektivität nach der Geburt von über c = 6 behandelt (Interventionsgruppe; IG), während die anderen Mütter Teil der Kontrollgruppe (KG) waren.
Die Regressions-Diskontinuitäts-Analyse können wir mithilfe einiger
Funktionen aus dem Paket rddtools
durchführen. Die folgende
Tabelle bietet eine Übersicht der relevanten Argumente der Funktion
rdd_data()
, mit der ein Datensatz für die Analyse
vorbereitet werden kann:
Argument | Bedeutung |
---|---|
rdd_data( |
|
y, |
Outcome-Variable |
x, |
Kontinuierliche Kovariate |
cutpoint) |
Cutoff-Wert auf der kontinuierlichen Kovariate |
Die folgende Tabelle bietet eine Übersicht der relevanten Argumente
der Funktion rdd_bw_ik()
, mit der die optimale Bandbreite
geschätzt werden kann:
Argument | Bedeutung |
---|---|
rdd_bw_ik( |
|
rdd_object, |
mit der Funktion rdd_data() vorbereitetes
Objekt |
kernel) |
Kern, der bei der Kernregression verwendet werden soll,
kernel = "Uniform" , kernel = "Normal" oder
kernel = "Triangular" (default) |
Die folgende Tabelle bietet eine Übersicht der relevanten Argumente
der Funktion rdd_reg_np()
, mit der der durchschnittliche
kausale Effekt auf Grundlage eines Teildatensatzes mit einer bestimmten
(geschätzten optimalen) Bandbreite geschätzt werden kann:
Argument | Bedeutung |
---|---|
rdd_reg_np( |
|
rdd_object, |
mit der Funktion rdd_data() vorbereitetes
Objekt |
bw, |
Bandbreite, entweder ein festgelegter Wert, oder die
aus der Funktion rdd_bw_ik() resultierende geschätzte
optimale Bandbreite |
slope, |
Angabe, ob die Interventions- und Kontrollgruppe die
gleiche Steigung (slope = "same" ) oder unterschiedliche
Steigungen (slope = "separate" ) haben sollen |
inference) |
Art der Schätzung, entweder non-parametrisch
(inference = "np" ) oder linear
(inference = "lm" ) |
Zunächst installieren (falls nötig) und laden wir das benötigte R-Paket.
# install.packages("rddtools") # Installation vor der ersten Nutzung des Pakets rddtools
library(rddtools) # Laden des Paketes
Anschließend lesen wir den Datensatz ein:
load("mutter.rda") # Einlesen des Datensatzes (wenn der Datensatz nicht im
# Arbeitsverzeichnis liegt, muss der Pfad entsprechend dem
# Speicherort des Datensatzes angepasst werden)
Um uns mit den Daten vertraut zu machen, schauen wir uns deskriptive Statistiken der Variablen an.
summary(mutter)
## verbunden therapie affektiv
## Min. :0.49 Min. :0.000 Min. : 0.46
## 1st Qu.:4.60 1st Qu.:0.000 1st Qu.: 3.99
## Median :5.62 Median :0.000 Median : 4.88
## Mean :5.54 Mean :0.255 Mean : 5.01
## 3rd Qu.:6.54 3rd Qu.:1.000 3rd Qu.: 6.05
## Max. :9.73 Max. :1.000 Max. :10.00
Da es sich bei therapie
um eine dichotome Variable
handelt, können wir anhand des Mittelwerts ablesen, dass
25,5
% der Personen im Datensatz die Therapie bekommen
haben.
Sowohl die negative Affektivität als auch die subjektive Verbundenheit variieren in der Stichprobe über die gesamte Skala. Im Mittel liegt eine mittlere negative Affektivität als auch Verbundenheit vor.
Sehen wir uns nun die subjektive Verbundenheit der Mütter zu ihren Kindern in Abhängigkeit von ihrer negativen Affektivität nach der Geburt an:
plot(verbunden ~ affektiv, # Scatterplot mit dem Verbundenheitsgefühl in Abhängigkeit
# von der negativen Affektivität postpartum
data = mutter, # Datensatz
xlab = "negative Affektivität", # Beschriftung der x-Achse
ylab = "empf. Verbundenheit", # Beschriftung der y-Achse
pch = therapie+1) # Datenpunkte unterschiedlich für jede Therapiegruppen darstellen
abline(v = 6) # Einzeichnen einer vertikalen Linie am Cutoff c = 6
# Legende hinzufügen
legend(x = 1, y = 3, # Position
legend = c("Kontrollgruppe", "Interventionsgruppe"), # Beschriftung
pch = 1:2) # Datenpunktdarstellung für jede Therapiegruppe
Die vertikale Linie des Cutoffs trennt die Interventionsgruppe (rechts) von der Kontrollgruppe (links). An diesem Cutoff wollen wir den Local Average Treatment Effect (LATE) mithilfe einer Regression schätzen.
Wir gehen hier zunächst von einem linearen Zusammenhang zwischen der negativen Affektivität nach der Geburt und der empfundenen Verbundenheit ohne Interaktion aus und spezifizieren deswegen eine einfache lineare Regression. Die Annahme kann natürlich falsch sein, deswegen sollten in der Praxis auch alternative Modelle verglichen werden.
m1 <- lm(verbunden ~ affektiv + therapie, # lineare Regression der empfundenen Verbundenheit
# auf die negative Affektivität und die Behandlung
data = mutter) # Datensatz
summary(m1)
##
## Call:
## lm(formula = verbunden ~ affektiv + therapie, data = mutter)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.817 -0.717 0.029 0.753 2.952
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.475 0.310 30.6 <2e-16 ***
## affektiv -0.940 0.070 -13.4 <2e-16 ***
## therapie 3.071 0.292 10.5 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.18 on 197 degrees of freedom
## Multiple R-squared: 0.479, Adjusted R-squared: 0.474
## F-statistic: 90.5 on 2 and 197 DF, p-value: <2e-16
Wir können den Koeffizienten für die Interventionsvariable
(therapie
) als Schätzer für den LATE interpretieren. Unter
der Annahme einer korrekten Modellspezifikation schätzen wir also einen
kausalen Effekt von \(\hat{LATE}\) =
3,071
(\(SE\) =
0,292
; \(p\) <
,001
). Würde eine Mutter mit einer negativen Affektivität
von 6 die Therapie wahrnehmen, wäre ihre empfundene Verbundenheit zum
Kind um 3,071 Punkte höher als die empfundenene Verbundenheit, die sie
gehabt hätte, wenn sie nicht an der Therapie teilgenommen hätte.
Die Regressionsgleichung zu unserem Modell ist folgende:
\(\hat{V} = 9,475 - 0,940 *A + 3,071 *T\),
wobei \(V\) subjektive Verbundenheit, \(A\) negative Affektivität und \(T\) die Therapie darstellt. Setzen wir eine negative Affektivität von \(6\) ein, bekommen wir je nach Interventionsgruppe die folgenden geschätzten Werte für die empfundene Verbundenheit am Cutoff:
\(\hat {V}_{T=1} = 9,475 - 0,940 *6 + 3,071 *1 = 6,910\)
\(\hat {V}_{T=0} = 9,475 - 0,940 *6 + 3,071 *0 = 3,830\)
Wir können die entsprechenden Regressionsgeraden und den LATE grafisch darstellen:
plot(verbunden ~ affektiv, # Scatterplot mit dem Verbundenheitsgefühl in Abhängigkeit
# von der negativen Affektivität postpartum
data = mutter, # Datensatz
xlab = "negative Affektivität", # Beschriftung der x-Achse
ylab = "empf. Verbundenheit", # Beschriftung der y-Achse
pch = therapie + 1) # Datenpunkte unterschiedlich für jede Therapiegruppen darstellen
# Legende hinzufügen
legend(x = 1, y = 3, # Position der Legende
legend = c("Kontrollgruppe", "Interventionsgruppe"), # Beschriftung
pch = 1:2) # Datenpunktdarstellung für jede Therapiegruppe
# Regressionsgerade Interventionsgruppe
clip(x1 = 6, # Nur für den Bereich zwischen 6
x2 = 10, # und 10 auf der x-Achse (dem Cutoff)
y1 = 0, # sowie 0
y2 = 10) # und 10 auf der y-Achse:
abline( # Zeichne in den letzten Plot eine Linie
a = coef(m1)[1] + coef(m1)[3], # mit diesem Achsenabschnitt (Intercept + Effekt der Therapie),
b = coef(m1)[2], # und dieser Steigung (Effekt der Kovariaten)
lwd = 2) # in dieser Dicke.
# Regressionsgerade Kontrollgruppe
clip(x1 = 0, # Nur für den Bereich zwischen 0
x2 = 6, # und 6 auf der x-Achse (dem Cutoff)
y1 = 0, # sowie 0
y2 = 10) # und 10 auf der y-Achse:
abline( # Zeichne in den letzten Plot eine Linie
a = coef(m1)[1], # mit dem Achsenabschnitt (nur Intercept),
b = coef(m1)[2], # und dieser Steigung (Effekt der Kovariate)
lwd = 2) # mit dieser Dicke.
# LATE
abline(v = 6, # Zeichne an der Cutoff-Stelle eine vertikale
lty = 2, # gestrichelte Linie
col = 'blue') # in blau.
lines(c(6, 6), # Zeichne eine vertikale Linie an der Cutoff-Stelle zwischen
c(3.83, 6.91), # y = 3,83 und y = 6,91
lwd = 4, # dieser Dicke
col = 'blue') # in blau.
Wir können uns nicht sicher sein, dass die Annahme der Linearität wirklich korrekt ist und wir das obige Modell nicht fälschlicherweise misspezifiziert haben. Um uns gegen die Verschätzung des LATE durch eine mögliche Fehlspezifikation der funktionalen Form abzusichern, können wir entweder verschiedene funktionale Formen spezifizieren und testen oder den LATE nur anhand eines Teildatensatzes schätzen. Beide Vorgehensweisen werden im Folgenden demonstriert.
Beim Betrachten der Abbildung könnten wir vermuten, dass ein quadratischer Zusammenhang zwischen der negativen Affektivität und der empfundenen Verbundenheit besteht. Um diese Annahme zu testen, fügen wir einen zusätzlichen quadratischen Term in unsere Regressionsgleichung ein und spezifieren somit ein neues Modell:
m2 <- lm(verbunden ~ affektiv # Regression
+ I(affektiv^2) # zusätzlicher quadratischer Term
+ therapie,
data = mutter) # Datensatz
summary(m2)
##
## Call:
## lm(formula = verbunden ~ affektiv + I(affektiv^2) + therapie,
## data = mutter)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.314 -0.662 -0.006 0.680 2.893
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.3678 0.4132 17.83 < 2e-16 ***
## affektiv 0.1054 0.1639 0.64 0.52
## I(affektiv^2) -0.1191 0.0172 -6.91 6.7e-11 ***
## therapie 4.0619 0.2991 13.58 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.06 on 196 degrees of freedom
## Multiple R-squared: 0.581, Adjusted R-squared: 0.574
## F-statistic: 90.6 on 3 and 196 DF, p-value: <2e-16
Der Kennwert für den quadratischen Term ist -0.1191 und signifikant
von 0 verschieden. Entsprechend scheint ein linearer Zusammenhang wie in
der vorherigen Analyse spezifiziert nicht gegeben zu sein. Der anhand
dieses Modells geschätzte LATE beträgt \(\hat{LATE}\) = 4,062
(\(SE\) = 0,299
; \(p\) < ,001
). Der \(\hat{LATE}\) im quadratischen Modell
unterscheidet sich entsprechend vom \(\hat{LATE}\) im linearen Modell. Wir
schätzen also, dass wenn eine Mutter mit einer negativen Affektivität
von 6 die Therapie wahrnehmen würde, die empfundene Verbundenheit zu
ihrem Kind um 4,062 Punkte größer wäre als ihre empfundenene
Verbundenheit, wenn sie nicht an der Therapie teilgenommen hätte.
Eine weitere Möglichkeit um die Verschätzung im Falle einer falschen Modellspezifikation zu verringern, ist es, die Regressions-Diskontinuitäts-Analyse nur mit einem Teildatensatz (»Subset«) durchzuführen. Wir können die Bandbreite des Teildatensatzes selbst festlegen, oder eine optimale Bandbreite bestimmen.
Im Falle einer selbstgewählten Bandbreite h erstellen wir aus unserem vorliegenden Datensatz einen neuen Teildatensatz, der nur Personen mit einer negativen Affektivität enthält, die nahe des Cutoffs liegt. Wir können also beispielsweise festlegen, dass wir nur Personen mit einer Differenz von h = 1 zum Cutoff mit in die Analyse einbeziehen wollen.
mutter_t1 <- mutter[ # neuer Teildatensatz mit Personen
mutter$affektiv >= 5 # mit Affektivität größer gleich fünf
& mutter$affektiv <= 7, # und kleiner gleich sieben
]
Danach spezifizieren wir eine Regression ausschließlich mit den Daten des Teildatensatzes.
m3 <- lm(verbunden ~ affektiv + therapie,
data = mutter_t1)
summary(m3)
##
## Call:
## lm(formula = verbunden ~ affektiv + therapie, data = mutter_t1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.490 -0.632 -0.019 0.688 2.614
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14.404 2.612 5.51 6.7e-07 ***
## affektiv -1.844 0.477 -3.86 0.00026 ***
## therapie 4.647 0.555 8.37 7.3e-12 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.01 on 64 degrees of freedom
## Multiple R-squared: 0.669, Adjusted R-squared: 0.659
## F-statistic: 64.8 on 2 and 64 DF, p-value: 4.11e-16
Der unter Verwendung dieses Teildatensatzes geschätzte LATE beträgt
\(\hat{LATE}\) = 4,647
(\(SE\) = 0,555
; \(p\) < ,001
). Wir schätzen
also, dass wenn eine Mutter mit einer negativen Affektivität von 6 die
Therapie wahrnehmen würde, die empfundene Verbundenheit zu ihrem Kind um
4,647 Punkte größer wäre als ihre empfundenene Verbundenheit, wenn sie
nicht an der Therapie teilgenommen hätte. Im Gegensatz zur Analyse mit
dem gesamten Datensatz ist der so geschätzte LATE größer, die Schätzung
jedoch ungenauer (der Standardfehler größer).
Die Regression und der geschätzte LATE lässt sich grafisch so darstellen:
Alternativ können wir durch die folgenden Funktionen des Pakets
rddtools
die Regression auch mit einem Teildatensatz mit
einer geschätzten optimalen Bandbreite berechnen lassen:
# Angeben der relevanten Daten für die Analyse
mutter_t2 <- rdd_data(y = mutter$verbunden, # AV: Verbundenheitsgefühl der Mütter
x = mutter$affektiv, # Kovariate: negative Affektivität
cutpoint = 6) # Cutoff: negative Affektivität von 6
# Bestimmung der optimalen Bandbreite
bandwidth <- rdd_bw_ik(mutter_t2, # Datensatz
kernel = "Normal") # Schätzung optimaler Bandbreite mit Gaußkern
# Schätzen der Regressionskoeffizienten
rdd_reg_np(rdd_object = mutter_t2, # Dateninformationen
bw = bandwidth, # gewählte Bandbreite
slope = "same", # Gleiche Steigung in Interventions- und Kontrollgruppe
inference = "lm") # Annahme eines linearen Zusammenhangs
## ### RDD regression: nonparametric local linear###
## Bandwidth: 1.35
## Number of obs: 94 (left: 65, right: 29)
##
## Coefficient:
## Estimate Std. Error t value Pr(>|t|)
## D 4.638 0.381 12.2 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Die geschätzte optimale Bandbreite beträgt 1,35
, der
neue Teildatensatz besteht mit dieser Bandbreite noch aus
94
Personen, von denen 29
zur
Interventionsgruppe und 65
zur Kontrollgruppe gehören.
Der geschätzte LATE beträgt \(\hat{LATE}\) = 4,638
(\(SE\) = 0,381
; \(p\) < ,001
). Wir schätzen
also, dass wenn eine Mutter mit einer negativen Affektivität von 6 die
Therapie wahrnehmen würde, die empfundene Verbundenheit zu ihrem Kind um
4,638 Punkte größer wäre als ihre empfundenene Verbundenheit, wenn sie
nicht an der Therapie teilgenommen hätte.
Die Regression und der geschätzte LATE lässt sich grafisch so darstellen:
Sowohl eine nichtlineare Spezifikation als auch die Schätzung anhand eines Teildatensatzes führen zu einer anderen (hier höheren) Effektschätzung im Vergleich zum linearen Modell für den gesamten Datensatz. Dies deutet darauf hin, dass die Annahme eines linearen Zusammenhangs im Ursprungsmodell nicht korrekt ist und eine der alternativen Spezifikationen für die Effektschätzung genutzt werden sollte. Es ist auch möglich alle dieser alternativen Ergebnisse zu berichten und somit die Unsicherheit bezüglich der Modellierung abzubilden.
Informationen zur Verwendung und weiteren Analysemöglichkeiten mit RDDtools finden Sie hier: