--- title: "Webinaire 1 — Le Quartet Causal" subtitle: "Pourquoi corrélation ≠ causalité" author: "Sosthène Akia · Stat4Research" date: today lang: fr format: html: theme: cosmo toc: true embed-resources: true code-fold: false execute: warning: false message: false editor: source --- # Configuration ```{r setup} #| message: false library(tidyverse) library(ggdag) library(patchwork) library(broom) set.seed(42) n <- 1000 ``` # Le Quartet Causal ## Dataset 1 : Causalité directe (X -> Y) ```{r} quartet_1 <- tibble( X = rnorm(n), Y = 0.5 * X + rnorm(n, sd = 0.5) ) ``` ## Dataset 2 : Confondant caché ```{r} quartet_2 <- tibble( Z = rnorm(n), X = 0.7 * Z + rnorm(n, sd = 0.5), Y = 0.7 * Z + rnorm(n, sd = 0.5) ) ``` ## Dataset 3 : Médiation ```{r} quartet_3 <- tibble( X = rnorm(n), M = 0.6 * X + rnorm(n, sd = 0.4), Y = 0.7 * M + rnorm(n, sd = 0.5) ) ``` ## Dataset 4 : Biais de collider ```{r} quartet_4 <- tibble( X = rnorm(n), Y = rnorm(n), S = 0.5 * X + 0.5 * Y + rnorm(n, sd = 0.3) ) |> filter(S > median(S)) ``` # Comparaison des corrélations ```{r} bind_rows( quartet_1 |> summarise(cor_XY = cor(X, Y), dataset = "1. X -> Y"), quartet_2 |> summarise(cor_XY = cor(X, Y), dataset = "2. X <- Z -> Y"), quartet_3 |> summarise(cor_XY = cor(X, Y), dataset = "3. X -> M -> Y"), quartet_4 |> summarise(cor_XY = cor(X, Y), dataset = "4. Collider") ) |> mutate(cor_XY = round(cor_XY, 3)) ``` # Régressions naïves ```{r} bind_rows( tidy(lm(Y ~ X, data = quartet_1)) |> mutate(dataset = "1"), tidy(lm(Y ~ X, data = quartet_2)) |> mutate(dataset = "2"), tidy(lm(Y ~ X, data = quartet_3)) |> mutate(dataset = "3"), tidy(lm(Y ~ X, data = quartet_4)) |> mutate(dataset = "4") ) |> filter(term == "X") ``` # Visualisation des DAGs ```{r} #| fig-height: 8 dag1 <- dagify(Y ~ X) |> tidy_dagitty() |> ggdag() + theme_dag() dag2 <- dagify(Y ~ Z, X ~ Z) |> tidy_dagitty() |> ggdag() + theme_dag() dag3 <- dagify(Y ~ M, M ~ X) |> tidy_dagitty() |> ggdag() + theme_dag() dag4 <- dagify(S ~ X + Y) |> tidy_dagitty() |> ggdag() + theme_dag() (dag1 + dag2) / (dag3 + dag4) ``` # Conclusion L'inférence causale n'est pas optionnelle. Le DAG est l'outil indispensable. **Pour aller plus loin** : Cours S1 — stat4research.com > Code 40% off cette semaine : `WEBINAR1`