Kausalanalyse und maschinelles Lernen mit R

Kausalanalyse und Maschinelles Lernen mit R (KMLR) ist ein innovatives Online-Lehrbuch, das Studierende der Wirtschaftswissenschaften in moderne statistische Methoden und deren ökonometrische Anwendungen einführt. Das interaktive Kompendium für quantitative Lehrveranstaltungen verbindet theoretische Grundlagen mit praktischer Anwendung durch die Möglichkeit, R-Code direkt im Browser auszuführen. Von den statistischen Grundlagen über fortgeschrittene Methoden der Kausalanalyse bis hin zu Machine Learning-Techniken bietet das Buch einen umfassenden Einblick in fortschrittliche quantitative Forschungsmethoden. Besonders wertvoll für Studierende sind die zahlreichen interaktiven Visualisierungen und praxisnahen Fallstudien mit wirtschaftswissenschaftlichem Fokus, die ein tiefes Verständnis der ökonometrischen Methoden fördern und Kompetenzen in reproduzierbarer Forschung mit dem R-Ökosystem vermitteln.
Autor:innen
Zugehörigkeiten

Martin C. Arnold

Christoph Hanck

Veröffentlichungsdatum

10. September 2024

Hinweis

Für eine optimale technische Stabilität empfehlen wir, dieses Online-Lehrbuch auf einem Notebook oder Desktop-Computer zu nutzen. Die interaktiven Komponente, insbesondere die R-Konsole (WebR), sind rechenintensiv und funktionieren auf mobilen Geräten nur eingeschränkt.

Letztes Update: 13. März 2025

1 Einleitung

Die zunehmende Verfügbarkeit großer Datenmengen und entsprechend komplexer werdende Forschungsfragen erfordern den Einsatz fortschrittlicher statistischer Verfahren in den empirischen Wirtschaftswissenschaften, die über traditionelle Regressionsansätze hinausgehen. Insbesondere Methoden der Kausalanalyse und des maschinellen Lernens haben sich in den letzten Jahren als Teil eines modernen Methoden-Baukastens etabliert und gewinnen auch jenseits des akademischen Bereichs stetig an Bedeutung: Die Fähigkeit mit statistischer Analyse in Produktivumgebungen fundierte Aussagen über Ursache-Wirkungs-Zusammenhänge zu treffen und leistungsfähige Vorhersagemodelle zu erstellen, ist für Absolventen wirtschaftswissenschaftlicher Studiengänge zu einer arbeitsmarktrelevanten Qualifikation in vielen Berufsfeldern geworden.

Dieses Online-Kompendium, Kausalanalyse und Maschinelles Lernen mit R (KMLR), bietet Studierenden eine interaktive Lernplattform, die es erlaubt in quantitativen Lehrveranstaltungen vermittelte Inhalte im Selbststudium zu vertiefen und praktisch anzuwenden. KMLR bietet eine Vielzahl dynamischer Elemente, darunter interaktive Grafiken und Anwendungen mit Illustrationen statistischer Konzepte in Observable, sowie eine mit webR erzeugte R-Konsole.1 Hiermit können Studierende R-Code direkt im Browser ausführen, um statistische Analysen in Fallstudien eigenständig zu replizieren, die Ergebnisse nachzuvollziehen und zu lernen, wie datengetriebene Forschung reproduzierbar dokumentiert werden kann – ein wesentlicher Bestandteil moderner wissenschaftlicher Praxis. Für ein besseres Verständnis quantitativer Konzepte kann der vorgegebene R-Code modifiziert werden (beispielsweise zur Anpassung der Parameter von Schätzfunktionen oder Simulationen), um durch eigenständiges Experimentieren ein tieferes Verständnis der behandelten Methoden zu erlangen.

1 KMLR wird mit dem Publikationssystem Quarto erzeugt.

Als offene Bildungsressource (open educational resource, OER) ermöglichen wir Dozierenden, ihre bestehenden Lehrveranstaltungen durch den Einsatz von KMLR um relevante Themen zu erweitern und ihren Studierenden eine innovative und praxisnahe Lernerfahrung zu bieten.

1.1 Aufbau des Kompendiums

Dieses Lehrbuch ist in drei Abschnitte gegliedert: Grundlagen, Kausale Inferenz und Machine Learning.

Grundlagen (Kapitel 2–5)

Der erste Teil ist eine Einführung in wesentliche Werkzeuge und Techniken für die statistische Datenanalyse mit R und bildet die methodische Basis für die Durchführung von Studien mit statistischer Programmierung, auf der die weiterführenden Kapitel aufbauen. In Kapitel 2 werden zentrale Funktionen des tidyverse für die Datenmanipulation und Visualisierung vorgestellt. Kapitel 3 betrachtet Komponenten des R-Ökosystems für reproduzierbare Forschung, einschließlich Reporting mit Rmarkdown sowie der Grundlagen interaktiver Web-Anwendungen mit Shiny. Kapitel 4 zeigt die Schätzung grundlegender Regressionstechniken in R und diskutiert generalisierte lineare Modelle. Kapitel 5 führt Simulationstechniken wie Monte-Carlo-Studien und Bootstrap-Verfahren ein.

Kausale Inferenz (Kapitel 6-12)

Der zweite Teil widmet sich etablierten Methoden zur Schätzung kausaler Effekte in wirtschaftswissenschaftlichen und polit-ökonomischen Studien anhand nicht-experimenteller Daten. Kapitel 6 führt in Matching-Verfahren ein, welche die statistische Vergleichbarkeit von Behandlungs- und Kontrollbeobachtungen anstreben, um Confounding bei der Schätzung von Behandlungseffekten zu vermeiden. Das 7. Kapitel behandelt Methoden für Panel-Daten und zeigt u.a. wie in kausale Effekte in Längsschnittstudien durch Kontrolle für unbeobachtbare Heterogenitäten ermittelt werden können. Kapitel 8 stellt IV-Regression vor, ein Ansatz zur Kontrolle für endogene Variablen mithilfe von Instrumentalvariablen. In Kapitel 9 erläutern wir Difference-in-Differences-Ansätze bei denen kausale Effekte durch Veränderungen der Outcome-Variable in der behandelten Gruppe im Vergleich zu einer beobachteten Kontrollgruppe über die Zeit hinweg geschätzt werden. Kapitel 10 zeigt, wie in Event Studies die kausalen Auswirkungen spezifischer Ereignisse auf ökonomische Variablen durch eine Analyse der Veränderungen der Zielvariable nahe des Ereigniszeitpunkts gemessen werden können. Regression Discontinuity Designs, bei denen die Zuweisung zur Behandlung durch das Überschreiten oder Unterschreiten eines festgelegten Schwellenwerts einer Laufvariable bestimmt wird, ermöglichen die Schätzung kausale Interventionseffekte nahe dieses Punktes. Wir behandeln solche Verfahren in Kapitel 11. Kapitel 12 führt Synthetic-Control ein. Diese Methode ermöglicht es, kausale Effekte von Interventionen zu schätzen, indem die zeitliche Entwicklung einer synthetisch generierte Kontrollgruppe als kontrafaktische Schätzung für einen Vergleich zur behandelten Einheit herangezogen wird.

Machine Learning (Kapitel 13–16)

Der dritte Abschnitt behandelt Vorhersagen und Kausalanalysen mit ausgewählten Methoden des Machine Learning. Kapitel 13 stellt regularisierte Regressionsschätzer vor und zeigt unter anderem, wie Variablenselektion mit Lasso in linearen Regressionsmodellen für eine konsistente Schätzung von Behandlungseffekten bei vielen potentiellen Confoundern eingesetzt werden kann. Kapitel 14 erläutert, Support Vector Machines für nicht-lineare Klassifikationsprobleme mit hoch-dimensionalen Datensätzen. Kapitel 15 führt Baum-basierte Methoden wie Entscheidungsbäume, Random Forests und Boosting für Regression und Klassifikation bei nicht-linearen Zusammenhängen ein. Wir zeigen, wie diese Ansätze die Interpretierbarkeit und die Beurteilung der Relevanz von Regressoren erleichtern und diskutieren jüngere Weiterentwicklungen zur Anwendung für kausale Analysen (Causal Trees und Causal Forests). Kapitel 16 schließt mit einer Einführung in neuronale Netzwerke.

Manche Kapitel enthalten Abschnitte, in denen anspruchsvollere mathematische oder statistische Konzepte besprochen werden und/oder fortgeschrittene R-Programmierung verwendet werden. Diese Abschnitte sind mit dem Symbol gekennzeichnet. Studierenden empfehlen wir, diese Abschnitte zunächst zu überspringen und später nach der Bearbeitung der Kerninhalte erneut aufzurufen, um ein tiefergehendes Verständnis aufzubauen. Lehrende können diese Passagen gezielt einsetzen, um besonders interessierten Studierenden vertiefende Inhalte anzubieten.

1.2 Konventionen und Hinweise

Wir verwenden folgende Konventionen hinsichtlich der Formatierung und Einbindung von R-Code:

Mit so formatiertem Text referenzieren wir einzeilige Bestandteile komplexerer Code-Statements, häufig R-Objekte oder Funktionsargumente. Solcher Inline-Code wird häufig im Fließtext verwendet, um nicht ausführbare und ausführbare Code-Anweisungen besser unterscheidbar zu machen und insbesondere letztere zu erläutern.

Grundsätzlich wird ausführbarer mehrzeiliger R-Code in Form von Blöcken dargestellt, die als Code-Chunks bezeichnet werden. In Code-Chunks wird gezeigt, wie die im Fließtext beschriebenen Schritte einer Analyse mit R umgesetzt werden können. Für eine bessere Nachvollziehbarkeit einzelner Bestandteile des Codes werden durch # gekennzeichnete # Kommentare verwendet.2

2 Code-Chunks können per Klick auf das Clipboard-Symbol (bei mouse-over) in die Zwischenablage kopiert werden.

Beispiel: Der nächste Code-Chunk definiert das tibble-Objekt dat mit vier Beobachtungen der Variable Alter und berechnet das Durchschnittsalter.

library(tibble)

# Beispiel-Datensatz erzeugen  
dat <- tibble(
  Alter = c(28, 34, 23, 45)
)

# Durchschnittsalter berechnen
mean(dat$Alter)
[1] 32.5

Das Ergebnis der Berechnung wird direkt unterhalb des Code-Chunks dargestellt. Der gezeigte Output eines Chunks entspricht typischerweise einer solchen Ausgabe in der R-Konsole oder einer Grafik, wie im nächsten Beispiel.

# Alter plotten
plot(dat$Alter)
Abbildung 1.1: Die mit plot(dat$Alter) erzeugte Grafik

WebR

Ein Großteil des gezeigten R-Codes wird in WebR-Chunks eingebunden. Ein WebR-Chunk kann am besten als ein interaktiver R-Editor verstanden werden: R-Code kann per Klick auf Run Code zur Auswertung an eine im Hintergrund laufende R-Session übergeben werden.3 Wie bei “normalen” Code-Chunks werden die Ergebnisse direkt unter dem Webr-Chunk angezeigt. Der in einem WebR-Chunk vorgegebene Code kann beliebig angepasst werden. Ein Klick auf Start Over stellt den ursprünglichen Zustand wieder her.

3 Eine Alternative ist die aus RStudio bekannte shortcut CTRL+Enter (MacOS: CMD+Enter).

Der nachfolgende WebR-Chunk macht die Definition von dat und die Berechnung des Durchschnittsalters unmittelbar im Browser reproduzierbar.

Bei der Interaktion mit WebR-Chunks ist Folgendes zu beachten:

Die WebR-Session wird lokal im Browser ausgeführt. Die Performanz bei komplexeren Berechnungen ist daher von dem verwendeten Browser und der Hardware des genutzten Endgerätes abhängig. Auch hinsichtlich typischer Limitationen von Mobilgeräten empfehlen wir, KMLR auf einem Notebook oder PC aufzurufen.

Die WebR-Chunks werden bei jeder Aktualisierung des Browser-Tabs auf den durch uns (die Autoren) definierten Zustand zurückgesetzt. Das Bedeutet, dass durch den Nutzer geschriebener Code, berechnete Ergebnisse und definierte Objekte bei einer Aktualisierung gelöscht werden.

Innerhalb eines Kapitels sind die WebR-Chunks durch die im Hintergrund laufende R-Session verknüpft und greifen damit auf denselben Speicher für R-Objekte zu. Wir nutzen diese Eigenschaft für prozedurale Analysen, in denen bspw. zunächst ein Datensatz geladen und aufbereitet wird, um im folgenden Chunk ein ökonometrisches Modell zu schätzen.4

4 Sämtliche in diesem Buch verwendete Datensätze sind in diesem Github-Repository verfügbar.

5 Eine Installation weiterer Pakete durch Nutzer*innen ist möglich, sofern diese Pakete in einer WebR-kompatiblen Version vorliegen. Installation und Laden eines Pakets erfolgen mit library(Paketname).

Sämtliche für die Analyse nötigen Pakete sind bereits vorinstalliert und müssen nicht durch den Nutzer installiert werden.5

WebR-Chunks und “nicht-interaktiver” R-Code sind nicht miteinander verknüpft: R-Objekte, die wir in normalen Code-Chunks definieren, sind nicht notwendigerweise in WebR-Chunks verfügbar. In WebR-Chunks ausgeführter Code überschreibt keine statischen R-Outputs.

Insbesondere in Fallstudien werden WebR-Chunks oft automatisch beim Laden des Kapitels ausgeführt, um die unmittelbare Nachvollziehbarkeit der Erläuterungen im Fließtext zu gewährleisten. Hierzu werden nach dem Aufrufen eines Kapitels die relevanten R-Pakete heruntergeladen, installiert und entsprechende Berechnungen durchgeführt. Sämtliche WebR-Chunks sind erst nach Abschluss dieses Prozesses interaktiv. Der Status des Installationsprozesses wird unten rechts im Browser-Fenster angezeigt. Bei laufenden Berechnung erscheint in der Kopfzeile aller Chunks ein Indikator.6

6 Laufende Vorbereitungen und Berechnungen werden durch den Indikator angezeigt.

Hier ein Beispiel: Der nächste Code-Chunk simuliert (nach einem Klick auf Run Code) eine für 5 Sekunden laufende Berechnung und die anschließende Ausgabe eines Ergebnisses.

Interaktive Visualisierungen

In theorielastigen Abschnitten des Kompendiums nutzen wir regelmäßig interaktive Grafiken und Applikationen (Apps), um komplexere mathematische Konzepte zu veranschaulichen. Diese meist in Observable-Notebooks implementierten Grafiken können durch Variation der Parameter über verschiedene Input-Elemente (meist Slider) angepasst werden.7 Die nachfolgende Visualisierung ist ein Beispiel aus Kapitel 4.

7 Der Quellcode dieser Grafiken ist unter den eingebetteten Links in Observable-Notebooks verfügbar. Die Notebooks sind ebenfalls OER und können in HTML-Lehrmaterialien eingebettet werden.

Oftmals geben wir detaillierte Erläuterungen zu der voreingestellten Parameterkombination und ergänzen diese um Beispiele zu interessanten Eigenschaften des gezeigten Studienobjekts, die für bestimmte Parameter beobachtet werden können.8 Diese Beispiele sind selten erschöpfend und wir laden Lehrende und Studierende herzlich zum Experimentieren ein!

8 Hier zum Beispiel ist der Schnittpunkt der gezeigten Wahrscheinlichkeitsfunktionen lediglich für \(\beta_0 = 0\) unabhängig von \(\beta_1\).

1.3 Verschiedenes und Danksagungen

Um die Qualität und Aktualität dieser Ressource zu verbessern, sind wir auf Hinweise unserer Leser angewiesen. Sollten Ihnen beim Lesen Tippfehler, Unstimmigkeiten oder technische Fehler auffallen, oder möchten Sie uns anderweitige Anregungen zur Verbesserung des Materials mitteilen, freuen wir uns über die Erstellung eines Issues auf GitHub, oder ggf. eines Verbesserungsvorschlags im Quellcode als Pull Request. So tragen Sie dazu bei, das Material für alle Nutzer zu optimieren.9

9 Mit einem Klick auf “ Seite editieren” links unten im Scroll-Menü gelangen Sie direkt zu der entsprechenden Datei im GitHub-Repository.

KMLR und die verlinkten Lehrmaterialien sind im Rahmen des von der Stiftung Innovation in der Hochschullehre geförderten Projekts Kausalanalyse, Maschinelles Lernen und Reproduzierbare Forschung im Förderprogramm Freiraum 2022 entstanden. Wir bedanken uns herzlich für die finanzielle Unterstützung.

Wir danken Ilona Braun herzlich für ihre unverzichtbare Unterstützung in der Projektadministration. Jens Klenke und Lennard Maßmann gilt unser Dank für ihre inspirierenden Anregungen sowie ihre Mithilfe bei der Erprobung und Evaluation der Materialien im Lehrbetrieb. Ein großes Dankeschön geht auch an unsere wissenschaftlichen Hilfskräfte für ihre Unterstützung bei der Überarbeitung der Materialien. Besonders dankbar sind wir unseren Studierenden für ihr wertvolles Feedback.

© 2025 Dieses Werk ist lizenziert unter der Creative Commons Attribution 4.0 International License.