class: center, middle, inverse, title-slide .title[ # Statistische Grundlagen ] .subtitle[ ## Kausalanalyse: Economics meets Data Science ] .author[ ### Marc Justin Schmidt ] .date[ ### 05. November 2026 ] --- # Statistische Grundlagen - Zwischenstand | Begriff | Bedeutung | Notation | |:--|:--|:--| | Wahrscheinlichkeit `\(^{1}\)` | Häufigkeit eines Ereignisses | `\(\mathbb{P}(X = x)\)` | | <span style="color:#aaaaaa">Erwartungswert</span> | <span style="color:#aaaaaa">Mittelwert des Zufallsprozesses</span> | `\(\color{#aaaaaa}{\mathbb{E}[X]}\)` | | <span style="color:#aaaaaa">Varianz</span> | <span style="color:#aaaaaa">Streuung um den Mittelwert</span> | `\(\color{#aaaaaa}{Var(X)}\)` | | <span style="color:#aaaaaa">Standardabweichung</span> | <span style="color:#aaaaaa">Streuung um den Mittelwert</span> | `\(\color{#aaaaaa}{SD(X)=\sqrt{Var(X)}}\)` | | <span style="color:#aaaaaa">Kovarianz</span> | <span style="color:#aaaaaa">Zusammenhang zweier Variablen</span> | `\(\color{#aaaaaa}{Cov(X,Y)}\)` | | <span style="color:#aaaaaa">Korrelation</span> | <span style="color:#aaaaaa">Standardisierte Kovarianz</span> | `\(\color{#aaaaaa}{Corr{X, Y} = \frac{Cov(X, Y)}{SD(X) SD(Y)}}\)` | | <span style="color:#aaaaaa">Schätzer</span> | <span style="color:#aaaaaa">Annäherung an Populationsparameter</span> | `\(\color{#aaaaaa}{\bar{Y}\approx\mathbb{E}[Y]}\)` | | <span style="color:#aaaaaa">Inferenz</span> | <span style="color:#aaaaaa">Testen von Hypothesen über Parameter</span> | `\(\color{#aaaaaa}{t(\mathbb{E}[Y]) = \frac{\bar{Y} - \mathbb{E}[Y]}{SD(\bar Y) / \sqrt{n}}}\)`</span> | .tiny[ `\(^1\)` Unterscheide die bedingten Wahrscheinlichkeiten `\(F_{X|Y}(x|y)\)`, `\(F_{Y|X}(y|x)\)` und `\(F(x, y)\)`! ] --- # Wahrscheinlichkeiten in Daten .panelset[ .panel[.panel-name[Theorie] .pull-left[ **Zufallsvariable und Verteilung** - `\(\mathbb{P}(X=x)\)`: Wahrscheinlichkeit eines Werts - `\(F_X(x)=\mathbb{P}(X\leq x)\)`: Verteilungsfunktion **Gemeinsame Verteilung** - `\(\mathbb{P}(X=x,Y=y)\)`: gemeinsame Wahrscheinlichkeit zweier Werte - `\(F_{X,Y}(x,y)=\mathbb{P}(X\leq x,Y\leq y)\)`: gemeinsame Verteilungsfunktion ] .pull-right[ **Vierfeldertafel** <table class="vierfeldertafel"> <thead> <tr> <th></th> <th>\(Y=\mathrm{ja}\)</th> <th>\(Y=\mathrm{nein}\)</th> <th>Summe</th> </tr> </thead> <tbody> <tr> <th>\(X=A\)</th> <td>\(\mathbb{P}(X=A,Y=\mathrm{ja})\)</td> <td>\(\mathbb{P}(X=A,Y=\mathrm{nein})\)</td> <td class="rand">\(\mathbb{P}(X=A)\)</td> </tr> <tr> <th>\(X=B\)</th> <td>\(\mathbb{P}(X=B,Y=\mathrm{ja})\)</td> <td>\(\mathbb{P}(X=B,Y=\mathrm{nein})\)</td> <td class="rand">\(\mathbb{P}(X=B)\)</td> </tr> <tr class="rand"> <th>Summe</th> <td>\(\mathbb{P}(Y=\mathrm{ja})\)</td> <td>\(\mathbb{P}(Y=\mathrm{nein})\)</td> <td>\(1\)</td> </tr> </tbody> </table> .small[Die Randwahrscheinlichkeiten / marginale Wahrscheinlichkeiten entstehen durch Summieren der jeweiligen Zeile oder Spalte.] ] ] .panel[.panel-name[Code] ``` r g <- c("A", "A", "A", "B", "B", "B") y <- c("ja", "ja", "nein", "ja", "nein", "nein") # Absolute und relative Häufigkeit table(y) prop.table(table(y)) # Kreuztabelle und Zeilenanteile tab <- table(Gruppe = g, Bestanden = y) tab prop.table(tab) ``` ] .panel[.panel-name[Output] ``` ## y ## ja nein ## 3 3 ``` ``` ## y ## ja nein ## 0.5 0.5 ``` ``` ## Bestanden ## Gruppe ja nein ## A 2 1 ## B 1 2 ``` ``` ## Bestanden ## Gruppe ja nein ## A 0.33 0.17 ## B 0.17 0.33 ``` ] ] --- # Bedingte Wahrscheinlichkeit und Unabhängigkeit $$ \mathbb{P}(X=x\mid Y=y) =\frac{\mathbb{P}(X=x,Y=y)}{\mathbb{P}(Y=y)} $$ .pull-left[ **Konditionieren** Die Bedingung `\(Y=y\)` legt die betrachtete Teilpopulation fest. $$ F_{X\mid Y}(x\mid y)=\mathbb{P}(X\leq x\mid Y=y) $$ $$ F_{Y\mid X}(y\mid x)=\mathbb{P}(Y\leq y\mid X=x) $$ Die beiden Konditionierungsrichtungen sind im Allgemeinen verschieden. ] .pull-right[ **Unabhängigkeit** **Nur wenn `\(X\)` und `\(Y\)` unabhängig sind**, liefert die Kenntnis von `\(Y\)` keine Information über `\(X\)`: $$ \mathbb{P}(X=x\mid Y=y)=\mathbb{P}(X=x) $$ Dann, und nur dann, gilt auch: $$ \mathbb{P}(X=x,Y=y)=\mathbb{P}(X=x)\mathbb{P}(Y=y) $$ ] --- # Satz von Bayes Bayes zeigt, was eine Beobachtung über einen uns interessierenden, unbekannten Zustand aussagt. $$ \mathbb{P}(Y\mid X)= \frac{\mathbb{P}(X\mid Y)\mathbb{P}(Y)}{\mathbb{P}(X)} $$ **BEISPIEL COVID-Test:** Von 10.000 getesteten Personen sind 1 % infiziert, also 100 Personen. | Gruppe | Ergebnis | |:--|--:| | Infiziert und positiv getestet | `\(90\)` | | Nicht infiziert, aber positiv getestet | `\(495\)` | | **Positive Tests insgesamt** | **585** | $$ \mathbb{P}(\text{infiziert}\mid\text{positiv}) = \frac{\mathbb{P}(\text{positiv}\mid\text{infiziert})\,\mathbb{P}(\text{infiziert})}{\mathbb{P}(\text{positiv})} = \frac{\left(\frac{90}{100}\right)\left(\frac{100}{10.000}\right)}{\frac{585}{10.000}} = \frac{0{,}90 \cdot 0{,}01}{0{,}0585} \approx 15\% $$ --- class: center, middle, title-slide background-color: #639A00 # Zeit für die Übungen! ### Datei: <a href="02_statistische_grundlagen_01_aufgaben.pdf" target="_blank" rel="noopener noreferrer">02_1_Aufgabenblatt_Wahrscheinlichkeiten.pdf</a> ### Lösungsvorschlag: <a href="02_statistische_grundlagen_01_aufgaben_loesungen.pdf" target="_blank" rel="noopener noreferrer">02_1_Aufgabenblatt_Statistische_Grundlagen_Loesungen.pdf</a> <span style="font-size: 5em;">⌨️</span> --- # Motivation für den zweiten Teil Wir wollen (die wahren) statistischen Eigenschaften einer Population (**Populationsparameter**) kennen: 1. **Statistische Momente** - Erwartungswert, ggf. Varianz - z.B.: Effekt von Trainingseinheiten pro Woche auf die erwartete Toranzahl eines Spielers 2. **Bedingte Wahrscheinlichkeiten** - z.B.: Effekt von Menüwahl (Fleisch vs. vegetarisch) auf die Wahrscheinlichkeit, ein Dessert zu bestellen Da wir nur **Stichproben** haben, sind unsere Schätzer selbst **Zufallsvariablen**. Frage: Wie zuverlässig repräsentiert ein Schätzer den wahren Wert? --- # Statistische Grundlagen - Recap | Begriff | Bedeutung | Notation | |:--|:--|:--| | Wahrscheinlichkeit `\(^{1}\)` | Häufigkeit eines Ereignisses | `\(\mathbb{P}(X = x)\)` | | Erwartungswert | Mittelwert des Zufallsprozesses | `\(\mathbb{E}[X]\)` | | Varianz | Streuung um den Mittelwert | `\(Var(X)\)` | | Standardabweichung | Streuung um den Mittelwert | `\(SD(X) = \sqrt{Var(X)}\)` | | Kovarianz | Zusammenhang zweier Variablen | `\(Cov(X, Y)\)` | | Korrelation | Standardisierte Kovarianz | `\(Corr{X, Y} = \frac{Cov(X, Y)}{SD(X) SD(Y)}\)` | | Schätzer | Annäherung an Populationsparameter | `\(\bar{Y} \approx \mathbb{E}[Y]\)` | | Inferenz | Testen von Hypothesen über Parameter | `\(t(\mathbb{E}[Y]) = \frac{\bar{Y} - \mathbb{E}[Y]}{SD(\bar Y) / \sqrt{n}}\)` | <br> .tiny[ `\(^1\)` Unterscheide die bedingten Wahrscheinlichkeiten `\(F_{X|Y}(x|y)\)`, `\(F_{Y|X}(y|x)\)` und `\(F(x, y)\)`! ] --- count: false # Statistische Grundlagen - Recap | Begriff | Bedeutung | Notation | |:--|:--|:--| | Wahrscheinlichkeit `\(^{1}\)` | Häufigkeit eines Ereignisses | `\(\mathbb{P}(X = x)\)` | | Erwartungswert | Mittelwert des Zufallsprozesses | `\(\mathbb{E}[X]\)` | | Varianz | Streuung um den Mittelwert | `\(Var(X)\)` | | Standardabweichung | Streuung um den Mittelwert | `\(SD(X) = \sqrt{Var(X)}\)` | | Kovarianz | Zusammenhang zweier Variablen | `\(Cov(X, Y)\)` | | Korrelation | Standardisierte Kovarianz | `\(Corr{X, Y} = \frac{Cov(X, Y)}{SD(X) SD(Y)}\)` | | **Schätzer** | **Annäherung an Populationsparameter** | `\(\bar{Y} \approx \mathbb{E}[Y]\)` | | **Inferenz** | **Testen von Hypothesen über Parameter** | `\(t(\mathbb{E}[Y]) = \frac{\bar{Y} - \mathbb{E}[Y]}{SD(\bar Y) / \sqrt{n}}\)` | .center[ ➡️ Heutige Übung: **Simulationen** zum Verständnis der statistischen Konzepte mit Fokus auf Schätzern und Inferenz ] .tiny[ `\(^1\)` Unterscheide die bedingten Wahrscheinlichkeiten `\(F_{X|Y}(x|y)\)`, `\(F_{Y|X}(y|x)\)` und `\(F(x, y)\)`! ] --- # Eigenschaften von Schätzern Fokus in diesem Kurs auf Schätzern, da wir Stichproben statt Population(en) haben. **Schätzer sind bestmögliche Annäherungen** an wahre Parameter. <br> <br> - **Erwartungstreue (unbiased / unverzerrt)**: richtiger Erwartungswert, z.B. Mittelwertschätzer (`\(\mathbb{E}[\bar Y] = \mathbb{E}[Y]\)`) - **Konsistenz**: Annäherung bei großer Stichprobe `\(n\)` (`\(\bar Y \to \mathbb{E}[Y]\)` für `\(n \to \infty\)`) - **Effizienz**: kleinste Varianz unter den unverzerrten Schätzern (`\(Var(\bar Y_1) < Var(\bar Y_2)\)`) --- # Monte Carlo Simulationen Eine Monte-Carlo-Simulation ist ein Experiment mit Zufallsziehungen: wir wiederholen Zufallsprozesse **viele Male**, um zu sehen, **wie sich Ergebnisse im Durchschnitt verhalten** 1. Definiere eine Verteilung oder verwende einen realen Datensatz (Population) 2. Ziehe eine zufällige Stichprobe (z.B. 100 Beobachtungen) 3. Berechne den Schätzer von Interesse (z.B. den Mittelwert) 4. Wiederhole die Schritte 2–3 viele Male (z.B. 10.000 Mal) 5. Untersuche die Verteilung der Ergebnisse (z.B. der Mittelwerte) <br> <br> Wir wollen verstehen, **wie sich der Mittelwertschätzer in verschiedenen Stichproben verhält** und warum die Eigenschaften (Erwartungstreue, Konsistenz, Effizienz) wichtig sind .center[ **Merksatz:** Monte-Carlo-Simulation = wiederholtes Zufallsexperiment (mit künstlichen **oder echten** Daten), um Theorie durch Beobachtung zu verstehen ] --- # Zentraler Grenzwertsatz (CLT) Das **CLT** (Central Limit Theorem) ist das theoretische Fundament unserer Simulationen für den Mittelwertschätzer <br> > Wenn die Stichprobengröße gegen unendlich geht, kann das standardisierte Stichprobenmittel `\(\frac{\bar Y - \mathbb{E}[Y]}{SD(Y) / \sqrt{n}}\)` stetig besser mit einer Standardnormalverteilung `\(N(0, 1)\)` approximiert werden - unabhängig von der zugrundeliegenden Verteilung. <br> <br> <br> **Warum betrachten wir hier nur den Mittelwert?** - Er ist der **einfachste und wichtigste Schätzer**, auf dem viele andere Methoden aufbauen - Viele andere Schätzer (z.B. Regressionskoeffizienten) lassen sich **auf Mittelwerte zurückführen** oder folgen **ähnlichen Prinzipien** --- # Erwartungstreue .panelset[ .panel[.panel-name[Erklärung] **Idee:** Ein Schätzer ist erwartungstreu, wenn sein Mittelwert dem wahren Parameter entspricht. Wir prüfen das am Beispiel des Mittelwertschätzers - empirisch (Monte Carlo Simulation) `$$\mathbb{E}[\bar Y] = \mathbb{E}[Y]$$` - Datensatz: `mtcars` (enthält den durchschnittlichen Benzinverbrauch (mpg) verschiedener Autos ) - Wir ziehen viele Zufallsstichproben und berechnen jeweils den Mittelwert der Verbrauchswerte - Über alle Stichproben hinweg sollte der mittlere Schätzwert dem wahren Mittelwert entsprechen - Hinweis: `mtcars` ist sehr klein - für „echte“ Monte-Carlo-Simulationen wären größere oder synthetische Datensätze (z. B. `rnorm()`) besser geeignet ] .panel[.panel-name[R-Code] ``` r library(ggplot2) # Load package set.seed(123) # Fix randomness mu_true <- mean(mtcars$mpg) # Compute the mean # Monte Carlo draws of sample means (5,000 random samples of size 10 and compute mean) means <- replicate(5000, mean(sample(mtcars$mpg, 10, replace=TRUE))) df_means <- data.frame(means = means) # Plot the distribution of simulated sample means ggplot(df_means, aes(x = means)) + geom_histogram(aes(y = after_stat(density)), bins = 30, fill = "#CA7406", color = "white", alpha = 0.9) + geom_vline(xintercept = mu_true, color = "red", linewidth = 1.2) + labs(title = "Verteilung der geschätzten Mittelwerte", subtitle = "Monte-Carlo-Simulation mit 5.000 Stichproben à 10 Beobachtungen", x = "Geschätzter Mittelwert", y = "Dichte") + theme_minimal() ``` ] .panel[.panel-name[Output] <img src="02_statistische_grundlagen_files/figure-html/unnamed-chunk-2-1.png" style="display: block; margin: auto;" /> - Die Verteilung der Mittelwerte zentriert sich um den wahren Mittelwert (rote Linie) - Im Durchschnitt ist der Schätzer also „richtig“: erwartungstreu - Erhöht man die Anzahl der Beobachtungen (`\(n\)`): Verteilung wird enger (präziser: Konsistenz) - Erhöht man die Anzahl der Ziehungen (Wiederholungen): Verteilung wird glatter und stabiler ] ] --- # Konsistenz .panelset[ .panel[.panel-name[Erklärung] **Idee:** Ein Schätzer ist konsistent, wenn er mit wachsendem Stichprobenumfang `\(n\)` immer näher an den wahren Wert heranrückt. Die Streuung der Schätzwerte nimmt ab, je größer `\(n\)` wird. `$$\bar Y \to \mathbb{E}[Y] \quad \text{für} \quad n \to \infty$$` - Datensatz: `diamonds` (enthält Preise von Diamanten, `\(n \approx 54{,}000\)`) - Wir ziehen viele Zufallsstichproben mit unterschiedlicher Größe und vergleichen die Verteilungen der Mittelwerte - Erwartung: mit größerem `\(n\)` wird die Streuung kleiner; der Schätzer wird stabiler ] .panel[.panel-name[R-Code] ``` r library(ggplot2) # Load package set.seed(123) # Fix randomness mu_true <- mean(diamonds$price) # Compute the mean n_vals <- c(5, 20, 100, 500) # Define different sample sizes # Means for all sizes sim <- lapply(n_vals, function(n) replicate(2000, mean(sample(diamonds$price, n))) ) # Violin Plot ggplot(df, aes(x = Stichprobengröße, y = Mittelwert, fill = Stichprobengröße)) + geom_violin(aes(fill = Stichprobengröße), alpha = 0.8, draw_quantiles = c(0.25, 0.5, 0.75)) + geom_hline(yintercept = mu_true, color = "red", linewidth = 1) + ... ``` ] .panel[.panel-name[Output] <img src="02_statistische_grundlagen_files/figure-html/unnamed-chunk-4-1.png" style="display: block; margin: auto;" /> - Bei kleinem `\(n\)`: hohe Streuung der Schätzwerte, unpräzise - Bei großem `\(n\)`: enge Verteilung um den wahren Wert, präzise - Konsistenz: Schätzer nähert sich mit wachsendem `\(n\)` dem wahren Erwartungswert an ] ] --- # Effizienz .panelset[ .panel[.panel-name[Erklärung] **Idee:** Ein Schätzer ist effizient, wenn er unter allen unverzerrten Schätzern die kleinste Varianz hat. Wir vergleichen zwei Schätzer desselben Parameters (beide schätzen den Erwartungswert - einer nutzt alle, der andere nur die Hälfte der Stichprobe) und prüfen, welcher stabiler ist. `$$Var(\bar Y_1) < Var(\bar Y_2) \quad \Rightarrow \quad \text{Schätzer 1 ist effizienter}$$` - Datensatz: `faithful` - Dauer von Geysirausbrüchen in Minuten (`\(n = 272\)` Beobachtungen) - Wir ziehen viele Stichproben und vergleichen die Dichteverteilung der beiden Schätzer - Erwartung: beide sind im Mittel korrekt, aber ein Schätzer ist effizienter (hat geringere Varianz) ] .panel[.panel-name[R-Code] ``` r library(ggplot2) # Load package set.seed(123) # Fix randomness x <- faithful$eruptions mu_true <- mean(faithful$eruptions) # Compute the mean # Means for both estimators in a Monte Carlo simulation setting sim_full <- replicate(5000, mean(sample(x, 30, replace = TRUE))) sim_half <- replicate(5000, mean(sample(x, 15, replace = TRUE))) # tidy DataFrame df_eff <- data.frame(...) # Density Plot ggplot(df_eff, aes(x = Wert, color = Schätzer)) + geom_density(linewidth = 1.2, adjust = 1.1) + geom_vline(xintercept = mu_true, color = "red", linewidth = 1) + ... ``` ] .panel[.panel-name[Output] <img src="02_statistische_grundlagen_files/figure-html/unnamed-chunk-6-1.png" style="display: block; margin: auto;" /> - Beide Schätzer sind im Mittel unverzerrt (zentriert um den wahren Wert) - Der Mittelwert-Schätzer in grün weist eine kleinere Streuung auf; effizienter Schätzer ] ] --- class: center, middle, title-slide background-color: #639A00 # Zeit für die Übungen! ### Datei: <a href="02_statistische_grundlagen_02_aufgaben.pdf" target="_blank" rel="noopener noreferrer">02_2_Aufgabenblatt_Statistische_Grundlagen.pdf</a> ### Aufgaben: 1, 2, A1, A2 <!--### Lösungsvorschlag: <a href="02_statistische_grundlagen_aufgaben_loesungen.pdf" target="_blank" rel="noopener noreferrer">02_Aufgabenblatt_Statistische_Grundlagen_Loesungen.pdf</a>--> <span style="font-size: 5em;">⌨️</span> --- # Hypothesentests .panelset[ .panel[.panel-name[Idee & Ablauf] > "Inferenz" bedeutet, statistische Eigenschaften von Schätzern zu nutzen, um spezifische Aussagen über Populationsparameter zu überprüfen. - Prüfen, ob ein **beobachteter Zusammenhang real oder zufällig ist** - Schätzer unterliegen zufälligen Schwankungen - Wir brauchen ein **systematisches Entscheidungsverfahren** --- ### Ablauf 1. Formuliere Hypothesen: - Nullhypothese `\(H_0\)`: kein Effekt (z.B. Mittelwert = 0) - Alternativhypothese `\(H_1\)`: Effekt vorhanden (z.B. Mittelwert `\(\neq\)` 0) 2. Berechne Teststatistik (z.B. t-Wert): `\(t = \frac{\bar{Y} - \mathbb{E}[Y]}{SD(\bar Y) / \sqrt{n}}\)` und lege ggf. Signifikanzniveau `\(\alpha\)` fest (1%, 5%, 10%) 3. Vergleiche mit kritischem Wert oder berechne p-Wert (wenn p-Wert < Signifikanzniveau `\(\alpha\)`, dann `\(H_0\)` ablehnen) ] .panel[.panel-name[Visualisierung & Intuition] .pull-left[ <img src="02_statistische_grundlagen_files/figure-html/unnamed-chunk-7-1.png" style="display: block; margin: auto;" /> ] .pull-right[ <br><br><br> $$ \Huge t = \frac{\bar Y - \mu_0}{SE(\bar Y)} $$ ] - Die roten Bereiche zeigen die Werte, die unter `\(H_0\)` sehr unwahrscheinlich sind - Liegt unsere Teststatistik dort: `\(H_0\)` verwerfen, ansonsten wird `\(H_0\)` toleriert ] ] --- # p-Wert > Der p-Wert zeigt, wie ungewöhnlich unsere Daten wären, wenn die Nullhypothese `\(H_0\)` tatsächlich gilt. Anders: Der p-Wert misst nicht, wie wahrscheinlich `\(H_0\)` wahr ist, sondern wie plausibel unsere Daten unter `\(H_0\)` sind. <br> $$ p = \mathbb{P}(\text{Ergebnis so extrem oder extremer wie beobachtet } | H_0) $$ <br> - Kleiner p-Wert: Ergebnis ist sehr unwahrscheinlich, falls `\(H_0\)` stimmt: `\(H_0\)` verwerfen - Großer p-Wert: Ergebnis ist plausibel unter `\(H_0\)`: `\(H_0\)` behalten - Daumenregel: p-Wert `\(\leq \alpha\)` bedeutet statistisch signifikant, z.B. p `\(\leq 0.05\)` bei `\(\alpha = 0.05\)` --- # Konfidenzintervalle > Ein Konfidenzintervall (KI) zeigt den Bereich, in dem der wahre Parameter mit hoher Wahrscheinlichkeit liegt. <br> $$ KI = \bar Y \pm z \cdot SE(\bar Y) = \bar Y \pm z \cdot \frac{SD(Y)}{\sqrt{n}} $$ <br> - Liefert **plausiblen Wertebereich** für den wahren (aber unbekannten) Wert in der Grundgesamtheit - Breite des Intervalls zeigt die Präzision der Schätzung: schmales Intervall bedeutet hohe Präzision, breites Intervall hohe Unsicherheit - Werte innerhalb des Intervalls gelten als "kompatibel" mit unseren Daten; Werte außerhalb gelten als statistisch unwahrscheinlich --- class: center, middle, title-slide background-color: #639A00 # Zeit für die Übungen! ### Datei: <a href="02_statistische_grundlagen_02_aufgaben.pdf" target="_blank" rel="noopener noreferrer">02_2_Aufgabenblatt_Statistische_Grundlagen.pdf</a> ### Aufgaben: 3, 4 <!--### Lösungsvorschlag: <a href="02_statistische_grundlagen_aufgaben_loesungen.pdf" target="_blank" rel="noopener noreferrer">02_Aufgabenblatt_Statistische_Grundlagen_Loesungen.pdf</a>--> <span style="font-size: 5em;">⌨️</span> --- class: center, middle, title-slide background-color: #CA7406 # Vielen Dank! ## Fragen? ### 📧 marcjustin.schmidt@tu-dortmund.de <!--### <a href="../03_potential_outcomes_framework/03_potential_outcomes_framework.html" target="_blank" rel="noopener noreferrer"> Weiter zu Tutorial 3: Potential Outcomes Framework </a>--> ### <a href="../index.html" target="_blank" rel="noopener noreferrer"> Zurück zur Hauptseite </a>