14 Übung 7 Lösung
14.1 Aufgabe 1
- Schätze ein lineares Regressionsmodell, um den Zusammenhang von Waffengesetzen und Gewaltverbrechen zu untersuchen. Du kanst
vioals abhängige Variable verwenden (Anzahl Gewaltverbrechen pro 100’000 Einwohner:innen). Die Variableshallist ein Indikator, welcher angibt ob laschere Waffengesetze herrschen (= 1) oder nicht (= 0). Nutzeshallals unabhängige Variable. Berücksichtige ausserdem die folgenden Variablen:incarc_rate(Anzahl Personen, die im Vorjahr zu einer Gefängnisstrafe verurteilt wurden pro 100’000 Einwohner:innen),density(Anzahl Bewohner:innen pro Quadratmeile durch 1000 geteilt) undavginc(per capita Einkommen in Tausend USD).
pacman::p_load("sjPlot", "texreg", "haven", "readr", "readxl", "fixest", "MASS", "glm.predict", "scales", "tidyverse")
df_guns <- read_excel("Guns.xlsx")
pooled_model <- lm(vio ~ shall + incarc_rate + density + avginc,
data = df_guns)- Interpretiere den Effekt von lascheren Waffengesetzen und beschreibe das Resultat. Kannst du den gefundenen Effekt kausal interpretieren? Begründe deine Antwort.
coef(pooled_model)[2]Gemäss diesem Modell schätzen wir für die uns interessierende unabhängige Variable einen Koeffizienten von r round(coefficients(pooled_model)[2],2). Würde man das Modell kausal interpretieren, dann würde man sagen, dass laschere Waffengesetze Gewaltverbrechen pro 100’000 Bewohner:innen im Durchschnitt um 146.48 reduzieren, da es einfacher ist an einen Waffenschein zu kommen. Dieses Resultat würde die Forderungen nach weniger Regulierung unterstützen.
: Ergebnisse von Modellen, welche auf Beobachtungsdaten basieren, können nur dann kausal interpretiert werden, wenn wir im Modell alle möglichen Confounder berücksichtigt haben. Uns kommen jedoch schnell einige mögliche Confounder in den Sinn, für welche wir hier nicht kontrolliert haben, bspw. die Einkommensungleichheit, räumliche Segregation von Gesellschaftsgruppen, usw. Da wir für diese Faktoren hier nicht kontrollieren, sollten wir das Resultat in 1b nicht kausal interpretieren. In Aufgabe 2 sehen wir dann ein Modell, welches für Faktoren, die innerhalb eines Bundesstaates über die Untersuchungsperiode hinweg konstant bleiben, kontrollieren kann.
14.2 Aufgabe 2
- Da du nicht für alle Faktoren kontrollieren kannst, die sich von Bundesstaat zu Bundesstaat unterscheiden, entscheidest du dich ein
unit-fixed-effectsModell zu schätzen. Verwende für die Schätzung dieses Modells die Funktionfeolsaus demfixest-package. Zu welchen Schlüssen kommst du nun?
# Zuerst schauen wir uns die Streuung der violent crime rate nach Staaten an
df_guns %>%
ggplot(aes(x = factor(stateid), y = vio)) + geom_boxplot()
# Unit-fixed-effects Modell
unit_fe <- feols(vio ~ shall + incarc_rate + density + avginc | stateid,
data = df_guns)
coef(unit_fe)[1]Nun zeigt sich ein leicht positiver Koeffizientenschätzer von r round(coefficients(unit_fe)[1],2). Das Resultat hat sich nun ins Gegenteil gewandelt - ein allfälliger Effekt scheint nun positiv zu sein: Laschere Waffengesetze führen nicht zu weniger, sondern zu (leicht) mehr Gewaltverbrechen.
- Eine Kollegin gibt zu Bedenken, dass es auch Faktoren geben könnte, welche sich im Laufe der Zeit über alle Staaten hinweg ändern und welche einen Einfluss auf die Anzahl Gewaltverbrechen und die Ausgestaltung der Waffengesetze haben (sogenannte “Schocks”, bspw. eine Wirtschaftskrise). Modifiziere dein unit-fixed-effects Modell aus Aufgabe 2a so, dass es zusätzlich für solche Faktoren kontrolliert. Wie verändert sich das Resultat im Vergleich zum Modell aus 2a?
# Zuert schauen wir uns wiederum die Streuung nach jahr an
df_guns %>%
ggplot(aes(x = factor(year), y = vio)) + geom_boxplot()
# Modell
twoway_fe <- feols(vio ~ shall + incarc_rate + density + avginc | stateid + year,
data = df_guns)
coef(twoway_fe)[1]Mit dem Modell mit fixed effects für Zeit und Bundesstaaten finden wir wiederum einen positiven Koeffizientenschätzer für laschere Waffengesetze. Konkret bewirkt die Einführung der Shall-Issue in einem Bundesstaat eine Zunahme von durchschnittlich 10 Gewaltverbrechen pro 100’000 Einwohner:innen. Gemäss diesem Modell führen also weniger strikte Waffengesetze zu leicht mehr Gewaltverbrechen. Dieses Ergebnis können wir kausal interpretieren, wenn wir annehmen, dass es keine Confounder gibt, welche gleichzeitig über Länder und Zeitperioden variieren.
14.3 Aufgabe 3 (herausfordernd)
- Lies den
resourcecurse.dtaDatensatz ein und benutze wie in der Vorlesunginstitutionsals abhängige undoilals unabhängige Variable.
Der
unit fixed effectsSchätzer wird manchmal auch within Schätzer genannt, da er nur Variation innerhalb einer Einheit berücksichtigt. Man kann diesen Schätzer finden indem man einunit fixed effectsModell schätzt, aber auch durch Datenmanipulation vor dem Schätzen des Modells (anders gesagt: wir sollten auf zwei unterschiedliche Herangehensweisen zum selben Resultat kommen). Wir wollen uns nun anschauen, wie die zweite Variante funktioniert, um die Mechanik hinter fixed effects Modellen besser zu verstehen.
Die Grundidee ist einfach. Wir wollen nur Variation innerhalb der Einheiten analysieren und nicht zwischen Einheiten. Eine Möglichkeit besteht darin, die \(Y\) und die \(X\) Variable pro Land jeweils um den Mittelwert zu bereinigen. Wir können also bspw. für jedes Land \(i\) den Mittelwert von \(X_{it}\) bestimmen, den wir als \(\bar{X_i}\) bezeichnen können. Nun generieren wir ein neues \(X^*\), welches um diesen Mittelwert bereinigt ist, also \(X^*_{it} = X_{it} - \bar{X_i}\). Mit der \(Y\) Variable machen wir dasselbe. Führe diese Schritte für die Variablen
institutionsundoilin R aus und speichere das Resultat in einem neuen Datensatzdf_within.
Tipp: Beachte das Datenformat mancher Variabeln und verwende
group_by()undungroup().
df_resource <- foreign::read.dta("resourcecurse.dta")
df_within <- df_resource %>%
group_by(country) %>%
mutate(oil = as.numeric(oil),
Y_WithinAverage = mean(institutions, na.rm = T),
X_WithinAverage = mean(oil, na.rm = T)) %>%
ungroup() %>% # Gruppierung auflösen
mutate(Y_demeaned_within = institutions - Y_WithinAverage,
X_demeaned_within = oil - X_WithinAverage)
df_withinWir können nun die Varianz in der erklärenden Variable anschauen und sehen, dass die Varianz in der de-meaned \(X\) Variable kleiner ist, da wir nur noch die Varianz über Zeit innerhalb eines Landes behalten.
var(df_within$oil, na.rm = TRUE)
var(df_within$X_demeaned_within, na.rm = TRUE)- Schätze nun ein
unit-fixed-effectsModell mit den nicht-manipulierten Daten. Verwendeinstitutionsals Outcome undoilals erklärende Variable. Wie gross ist der Effekt vonoil? Und ist das konsistent mit der Resource Curse Theorie?
unit_fe <- feols(institutions ~ oil | country, data = df_within)
coef(unit_fe)Die Resultate dieses Modelles sind konsistent mit der Theorie, da mehr Öl zu schlechteren Institutionen führt. In der Vorlesung haben wir noch weitere Modelle gesehen und auch Argumente, weshalb obiges Modell wahrscheinlich nicht frei von Confounding ist.
- Schätze nun ein normales Regressionsmodell, aber verwende die neuen Variablen, die du in Aufgabe 3a erstellt hast. Was fällt dir auf, wenn du den Koeffizientenschätzer von Öl in diesem Modell mit dem Schätzer in 3b vergleichst?
result <- lm(Y_demeaned_within ~ X_demeaned_within, data = df_within)
coef(result)Die beiden Schätzer sind identisch! Es zeigt sich also, dass wir entweder fixed effects Modelle schätzen können oder aber eine normale Regression, wenn wir zuerst die Daten bereinigen (de-meaning).
Donohue, John and Ian Ayres. 2003. ‘’Shooting Down the ‘More Guns Less Crime’ Hypothesis’’ 55: 1193-1312 (Link zum Artikel).↩︎