class: center, middle, inverse, title-slide # Directed acyclic graphs (DAG) --- ## Einführung Ein Ansatz um über Kausalität nachzudenken: -- **Directed Acyclic Graphs (DAGs)** - Grafische Modelle - Kausalität fließt immer in eine Richtung und wird durch Pfeile verdeutlicht - Keine Rückwärtskausalität oder Simultanität abbildbar - Betrachtet Alternativszenarien - Do-Calculus im Hintergrund (Fancy Mathe) .alert[Verwenden wir in dieser Veranstaltung!] -- DAGs helfen uns insbesondere den zugrunde liegenden Datengenerierungsprozess zu modellieren. --- ## Welche Arten von Zusammenhang gibt es im DAG? .pull-left-3[ .center[Confounder] <img src="DAG_video_files/figure-html/confounding-dag-1.png" width="100%" style="display: block; margin: auto;" /> Hier handelt es sich um einen gemeinsamen Ursprung ] .pull-middle-3[ .center[Mediator] <img src="DAG_video_files/figure-html/mediation-dag-1.png" width="100%" style="display: block; margin: auto;" /> Hier handelt es sich um einen Mittler des Gesamteffekts ] .pull-right-3[ .center[Collider] <img src="DAG_video_files/figure-html/collision-dag-1.png" width="100%" style="display: block; margin: auto;" /> Hier handelt es sich um Selektion / Endogenität ] --- ## Confounder .pull-left[ <img src="DAG_video_files/figure-html/confounding1-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ .instructions[**X** führt zu **Y**] - Dies sehen wir am _kausalen_ Pfad X `\(\rightarrow\)` Y .instructions[**Z** führt dazu, dass sich sowohl **X** als auch **Y** verändern] .alert[Wir wollen den _kausalen_ Effekt von X auf Y isolieren.] ] --- ## Confounder .pull-left[ <img src="DAG_video_files/figure-html/confounding1b-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ .instructions[**X** führt zu **Y**] - Dies sehen wir am _kausalen_ Pfad X `\(\rightarrow\)` Y .instructions[**Z** führt dazu, dass sich sowohl **X** als auch **Y** verändern] .alert[Wir wollen den _kausalen_ Effekt von X auf Y isolieren.] - Wir sprechen hier davon das **Z** ein _confounder_ des kausalen Zusammenhangs zwischen X `\(\rightarrow\)` Y ist - Der Confounder ist eine dritte Variable, welche sowohl X, als auch Y beeinflusst - Oft lesen Sie auch von der _backdoor_ Variablen **Z** - Der _backdoor_ Pfad X `\(\leftarrow\)` Z `\(\rightarrow\)` Y generiert eine Scheinkorrelation zwischen X und Y - Eine _backdoor_ offen zu lassen generiert Bias da die Beziehung zwischen X und Y nicht isoliert wurde! ] --- ## Confounder .pull-left[ <img src="DAG_video_files/figure-html/confounding2-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ Pfade zwischen **Spenden** und **Gewinnwahrscheinlichkeit** Spenden `\(\rightarrow\)` Gewinnwahrscheinlichkeit Spenden `\(\leftarrow\)` Qualität des/der Kandidaten/in `\(\rightarrow\)` Gewinnwahrscheinlichkeit .alert[**Qualität des/der Kandidaten/in** ist eine _backdoor_] ] -- .center[.instructions[Sie schließen die _backdoor_ indem sie auf **Z kontrollieren**]] --- ## Türen schließen .pull-left[ <img src="DAG_video_files/figure-html/confounding3-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ Dadurch das Sie auf die Qualität des/der Kandidaten/in kontrollieren: - Eliminieren Sie den Effekt der Qualität des/der Kandidaten/in auf die Spenden - Eliminieren Sie den Effekt der Qualität des/der Kandidaten/in auf die Gewinnwahrscheinlichkeit .alert[Zusammenhang des verbleibenden Effekts der Spenden auf den verbleibenden Effekt der Gewinnwahrscheinlichkeit ist unser **kausaler Effekt** von Spenden auf Gewinnwahrscheinlichkeit.] `\(\rightarrow\)` Durch die Kontrolle vergleichen wir hier Kandidaten, wie wenn diese die gleiche Qualität hätten ] --- ## Kontrollieren innerhalb einer Regression Eine Möglichkeit auf Variablen zu "kontrollieren" ist mittels einer multiplen linearen Regression: `$$Gewinnwahrscheinlichkeit = \beta_0 + \beta_1 * Spenden + \beta_2 * Qualität + \epsilon$$` Etwas weitreichendere Methoden (diese wollen wir jedoch nicht näher besprechen): - Matching - Stratifizierung - Synthetische Kontrollgruppen --- ## Mediator .pull-left[ <img src="DAG_video_files/figure-html/mediation-dag2-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ .instructions[**X** führt zu **Y**] .instructions[**X** führt zu **Z**, welches wiederum zu **Y** führt] .question[Sollten wir für **Z** kontrollieren?] ] --- ## Mediator .pull-left[ <img src="DAG_video_files/figure-html/mediation-dag3-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ .instructions[**X** führt zu **Y**] .instructions[**X** führt zu **Z**, welches wiederum zu **Y** führt] .question[Sollten wir für **Z** kontrollieren?] **Nein** `\(\rightarrow\)` Dies würde zu einer Überanpassung des Modells führen! .alert[Ein Teil des Effekts von **X** auf **Y** würde damit außer Acht gelassen.] ] --- ## Collider .pull-left[ <img src="DAG_video_files/figure-html/collision-dag2-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ .instructions[**X** führt zu **Y**] .instructions[**X** führt zu **Z**] .instructions[**Y** führt zu **Z**] .question[Sollten wir für **Z** kontrollieren?] ] --- ## Beispiel zu Collidern .pull-left[ <img src="DAG_video_files/figure-html/collider3-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ Größe `\(\rightarrow\)` Punkte pro Spiel Größe `\(\rightarrow\)` Spielt in der NBA `\(\leftarrow\)` Punkte pro Spiel .question[Warum ist die Variable "Spielt in der NBA" ein Collider?] ] --- ## Beispiel zu Collidern .pull-left[ <img src="DAG_video_files/figure-html/collider4-1.png" width="100%" style="display: block; margin: auto;" /> ] .pull-right[ Größe `\(\rightarrow\)` Punkte pro Spiel Größe `\(\rightarrow\)` Spielt in der NBA `\(\leftarrow\)` Punkte pro Spiel .question[Warum ist die Variable "Spielt in der NBA" ein Collider?] .alert[Wenn wir auf darauf kontrollieren, dass die Person in der NBA spielt, öffnen wir den zweiten Kanal, da "Spielt in der NBA" als Collider fungiert.] .instructions[Collider blocken immer die _backdoor_, wenn auf den Collider kontrolliert wird, dann öffnen wir die _backdoor_!] ] --- ## Beispiel zu Collidern .alert[In der Gesamtbevölkerung gibt es vermutlich schon einen Zusammenhang zwischen der Körpergröße und den Punkten pro Spiel im Basketball.] .instructions[Im Datensatz betrachten wir jedoch nur Spieler, die in der NBA spielen und damit sowohl groß sind, als auch gut Basketball spielen können!] <img src="DAG_video_files/figure-html/bulls-1.png" width="50%" style="display: block; margin: auto;" /> -- - Collider können tatsächliche kausale Effekte verdecken - Collider können scheinbar kausale Effekte erzeugen --- ## Überlegungen zu den DAGs .alert["Big data" hilft nicht um kausale Fragestellungen zu beantworten!] - Um kausale Fragestellungen beantworten zu können müssen wir den Datengenerierungsprozess verstehen - Woher stammen unsere Daten und welche Effekte hat es auf bestimmte Variablen zu kontrollieren? - Wir müssen die institutionellen Gegebenheiten kennen um glaubwürdige Identifikationsstrategien entwickeln zu können .instructions[DAGs können uns hier sehr gute Dienste erweisen.]