class: center, middle, inverse, title-slide .title[ # Variables Instrumentales (IV) ] .subtitle[ ## Pratiques de la Recherche en Économie ] .author[ ### Florentine Oliveira-Roux ] .date[ ### 2026-02-17 ] --- layout: true --- # Selection on unobservables Les méthodes d'identification basées sur l'**hypothèse d'indépendance conditionnelle** (CIA, ou **selection sur les observables**) supposent qu'en contrôlant par des variables observables `\(W_i\)`, l'estimateur OLS donne l'effet causal du traitement `\(D\)` - i.e. on peut contrôler pour toute la sélection dans le traitement (*mauvaise variation*) par des variables **observées** `\(W\)` -- <img src="imgs/ols.png" width="40%" style="display: block; margin: auto;" /> --- # Selection on unobservables .center[🚨 <span style="color:#dd0747"> **Il existe (quasiment) TOUJOURS des variables inobservables qui affectent à la fois le traitement et l'outcome**</span> 🚨] -- .center[ <span style="color:#dd0747"> `\(\color{#dd0747}{\implies}\)` **Biais de sélection (le groupe de traitement et contrôle ne sont pas comparables)**</span> ] -- .center[ <span style="color:#dd0747"> `\(\color{#dd0747}{\implies} \; D\)` **est endogène**</span> ] -- .center[ <span style="color:#dd0747"> `\(\implies \; \hat{\beta}\)` **n'est pas causal**</span> ] -- <img src="imgs/selection_unobs.png" width="40%" style="display: block; margin: auto;" /> --- # Intuition IV La méthode des **variables instrumentales** -- - sépare `\(D\)` en une partie exogène (*bonne variation*) et une partie endogène (*mauvaise variation*) -- - grâce à une variable que l'on appelle <span style="color:#dd0747">**instrument** `\(\color{#dd0747}{Z_i}\)`</span> -- - pour n'utiliser que la partie exogène dans l'estimation de l'effet du traitement -- Cela permet de supprimer le biais de sélection en *supprimant la mauvaise variation* de `\(D_i\)` -- <img src="imgs/instrument.png" width="50%" style="display: block; margin: auto;" /> --- # Estimateur IV On a le modèle usuel: `$$Y_i = \alpha + \beta D_i + W_i + \varepsilon_i$$` ***Rappel***: l'esimateur OLS garantie que l'estimateur de `\(\beta\)` de l'effet du traitement `\(D\)` est causal/bien identifié si et seulement si `\(Cov(D_i,\varepsilon_i)=0\)`, ce qui est une <span style="color:#dd0747">hypothèse très forte</span>. La méthode des **variables instrumentales** suppose qu'il existe une variable `\(Z_i\)`, corrélée avec la variable endogène et qui impacte l'outcome uniquement via son effet sur la variable endogène. L'<span style="color:#33B8FF">**estimateur IV**</span> s'écrit: `$$\color{#33B8FF}{\hat{\beta}^{IV} = (Z'D)^{-1}(Z'Y)}$$` où `\(Z=(ZW)\)` et `\(D=(DW)\)`, avec `\(W\)` les variables de contrôle. --- # Hypothèses d'identification <span style="color:#9933FF"> **Relevance:**</span> - <span style="color:#9933FF">L'instrument est corrélé à la variable endogène/traitement</span> (cela nous assure qu'on garde bien une partie de la *bonne variation* de `\(\color{#9933FF}{D}\)` )</span> - <span style="color:#9933FF"> Formellement, `\(\color{#9933FF}{Cov(D_i, Z_i) \neq 0}\)` </span> - <span style="color:#9933FF"> **Hypothèse testable!**: via la régression de première étape (*first-stage*) en montrant que l'instrument a bien un effet statistiquement significatif sur la variable endogène/instrument + F-stat > 10</span> <img src="imgs/relevance.png" width="60%" style="display: block; margin: auto;" /> --- # Hypothèses d'identification <span style="color:#9933FF"> **Exclusivité**</span> - <span style="color:#9933FF">L'instrument affecte `\(\color{#9933FF}{Y}\)` **uniquement via** `\(\color{#9933FF}{D}\)`. Dit autrement, l'instrument n'impacte pas directement `\(\color{#9933FF}{Y}\)` </span> - <span style="color:#9933FF"> Hypothèse **NON testable!**</span> <img src="imgs/exclusion.png" width="60%" style="display: block; margin: auto;" /> --- # Hypothèses d'identification <span style="color:#9933FF">**Exogeneité/as-good-as-random:**</span> - <span style="color:#9933FF">L'instrument est **exogène** (non corrélé avec le terme d'erreur) </span> - <span style="color:#9933FF"> Formellement, `\(\color{#9933FF}{Cov(Z_i, \varepsilon_i) = 0}\)` </span> - <span style="color:#9933FF"> Hypothèse **NON testable!**</span> <img src="imgs/exogeneity.png" width="60%" style="display: block; margin: auto;" /> *NB: Exogeneité + Exclusivité = Exclusion Restriction* --- # Comment savoir si un instrument est bon ? .center[<span style="color:#dd0747">***Les bons instruments doivent paraître bizarre*** 🤨</span>] Les bons instruments peuvent sembler **contre-intuitifs**: ils créent un effet sur la variable endogène/instrument mais ne déterminent pas l'outcome. - un bon instrument doit susciter la confusion chez un auditeur non averti L’***exclusion restriction***, hypothèse clé mais **non testable**, est plus crédible lorsque l'instrument semble incongru - il faut pouvoir défendre cette hypothèse avec une argumentation logique et théorique -- Exemples : - composition de genre des deux aînés comme instrument du nombre d'enfants et de l'offre de travail des femmes - pluviométrie comme instrument pour le revenu sur la fréquence de conflits - loteries --- # Forme réduite (*Reduced-Form*) Le modèle en <span style="color:#33B8FF">**reduced-form**</span> s'écrit: `$$Y_i = \mu + \color{#eb8934}{\pi} \color{#9e5188}{Z_i} + \nu_i$$` L'estimateur OLS de cette équation donne un estimateur causal de **l'effet de l'instrument** ( `\(\neq\)` effet du traitement `\(D_i\)`) sur l'outcome. L'hypothèse d'identification est que l'instrument est bien exogène ( `\(Cov(\varepsilon_i, Z_i) = 0\)` ) --- # Two-stage least squares (2SLS) -- La méthode des variables instrumentales est souvent utilisée en deux étapes, en l’occurrence lorsqu'il y a plusieurs instruments/variables endogènes: -- 1. <span style="color:#33B8FF">**First stage**</span>: on régresse la variable endogène sur l'instrument et les contrôles, `\(D_i = \delta + \color{#27b072}{\gamma} Z_i + \xi_i\)` et on garde la valeur prédite de la variable endogène `\(\hat{D}\)`. La première étape *purge* la variable endogène de sa partie corrélée avec l'erreur et ne conserve que la partie de `\(D\)` qui est corrélée avec l'instrument `\(Z\)`. 2. <span style="color:#33B8FF">**Second stage**</span>: on régresse l'outcome sur la valeur prédite de la variable endogène `\(\hat{D}\)` et les variables de contrôle. Cette régression ne conserve donc que la partie de l'instrument `\(Z\)` qui est corrélée avec la variable endogène `\(D\)` L'estimateur 2SLS s'écrit: $$\color{#33B8FF}{\hat{\beta}^{2SLS} = (D'P_ZD)^{-1}D'P_ZY = \frac{\text{Estimateur de Reduced-Form}}{\text{Estimateur de First Stage}}} = \frac{\color{#eb8934}{\hat{\pi}}}{\color{#27b072}{\hat{\gamma}}} $$ avec `\(P_Z = Z(Z'Z)^{-1}Z'\)` la matrice de projection de `\(Z\)`. -- *NB: lorsque l'on a un seul instrument et une seule variable endogène, l'estimateur IV et 2SLS sont équivalents* -- .center[🚨 Toujours inclure les contrôles dans la *first stage* ET la *second stage* 🚨] --- # Recap: quatres modèles **Modèle avec variable endogène**: - `\(Y_i = \alpha + \beta D_i + W_i + \varepsilon_i\)` **First Stage**: régression de la <span style="color:#e07126">**variable endogène**</span> sur l'<span style="color:#9e5188">**instrument**</span> - `\(\color{#e07126}{D_i} = \alpha + \gamma \color{#9e5188}{Z_i} + W_i + \epsilon_i\)` **Second Stage**: régression de l'outcome d'intérêt sur les <span style="color:#199c2c">**valeurs prédites en *first stage* **</span> - `\(Y_i = \alpha + \beta \color{#199c2c}{\hat{D_i}} + W_i + \varepsilon_i\)` **Reduced Form**: régression de l'outcome sur l'<span style="color:#9e5188">**instrument**</span> - `\(Y_i = \mu + \pi \color{#9e5188}{Z_i} + W_i + \nu_i\)` --- # IV sur `R` ## Option 1: à la main L’estimation peut être réalisée en deux étapes manuelles: .pull-left[ **Étape 1**: `first_stage <- lm(D ~ Z + W, data = data)` `data$D_hat <- predict(first_stage)` ] -- .pull-right[ **Étape 2**: `second_stage <- lm(Y ~ D_hat + W, data = data)` ] -- ## Option 2: Package `estimatr`, fonction `iv_robust` `iv_model <- iv_robust(Y ~ D + W | Z + W, data = data)` **Avantage**: gère directement l'erreur standard robuste. .center[🚨 Toujours inclure les contrôles dans la first stage et second stage 🚨] --- class: clearinverse background-color: #f19bb5 # Application: Angrist and Krueger (1991) **Question de Recherche**: quel est l'effet du niveau d'études sur le salaire (= *Mincer equation*)? -- **Question**: pourquoi ne peut-on pas simplement comparer le salaire de deux individus ayant un niveau de diplôme différent? -- **Biais de sélection/OVB**: **Ability Bias** - les individus ayant de meilleures capacités ou davantage de motivation ont tendance à poursuivre leurs études plus longtemps et par ailleurs cela peut également avoir un impact sur leur salaire - Problème: on n'observe pas la motivation ni les capacités (ie. ces variables sont dans `\(\varepsilon_i\)`) - donc estimate biaisé -- <span style="color:#dd0747">**Angrist et Krueger (1991)**</span> - papier de référence pour la prise en compte du biais d'abilité - proposent un instrument pour le niveau d'éducation: **le trimestre de naissance** (Quarter of Birth, QOB): **Contexte**: USA - entrée à l'école l'**année des 6 ans** - école obligatoire jusqu'à 16 ans --- class: clearinverse background-color: #f19bb5 # Application: Angrist and Krueger (1991) ``` r library(estimatr) devtools::install_github("jrnold/masteringmetrics", subdir = "masteringmetrics") data("ak91", package = "masteringmetrics") ``` --- class: clearinverse background-color: #f19bb5 # Application: Angrist and Krueger (1991) 1. Expliquer pourquoi le trimestre de naissance est un bon instrument du nombre d'années d'études? - quel est le mécanisme? l'instrument est-il valide? 2. Représenter graphiquement le nombre d'années d'études en fonction du trimestre de naissance. Que constatez-vous? 3. Régressez le salaire sur le nombre d'années d'études. Interprétez. 4. Régressez le nombre d'années d'études sur le trimestre de naissance. Interprétez 5. Régressez le salaire sur le trimestre de naissance. Interprétez. 6. Calculer l'estimateur 2SLS - 1) à la main - 2) avec la commande `iv_robust` [Angrist Data Archive](https://economics.mit.edu/people/faculty/josh-angrist/angrist-data-archive) --- class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 1) Expliquer pourquoi le trimestre de naissance est un bon instrument du nombre d'années d'études? - quel est le mécanisme? l'instrument est-il valide? Mécanisme? -- - les enfants nés en début d'année commencent l'école plus tard (6 ans + quelques mois), et ont donc moins d'années d'éducation en moyenne - au contraire, les enfants nés en fin d'année commencent l'école plus tôt (5 ans et quelques mois) et passent en moyenne plus de temps scolarisés -- Instrument valide? -- - Relevance: OK - Exogeneité: a priori indépendant de l'abilité (peu probable que les élèves les plus habiles choisissent leur date de naissance) - Arguments contre: la saisonnalité des naissance peut être corrélée à des facteurs socio-économiques (ex: les profs ont tendance à prévoir leurs enfants pour les vacances scolaires) - Excluabilité: n'a pas de raison d'affecter le salaire autrement que par l'effet sur l'éducation --- class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 2) Représenter graphiquement le nombre d'années d'études et le salaire en fonction du trimestre de naissance. Que constatez-vous? ``` r ak91 %>% mutate(qob = as.numeric(as.character(qob)), yob = as.numeric(as.character(yob))) %>% filter(yob %in% 1930:1940) %>% group_by(qob, yob) %>% summarise(mean_w = mean(lnw), mean_educ = mean(s)) %>% mutate(q4 = (qob == 4)) %>% ggplot(aes(x = as.numeric(yob) + ((as.numeric(qob) - 1) / 4), y = mean_educ)) + geom_line() + geom_label(mapping = aes(label = qob, color = q4), size = 5) + # Ajout de la taille pour les labels scale_x_continuous("Year of birth", breaks = 1930:1940) + scale_y_continuous("Years of Education", breaks = seq(12.2, 13.2, by = 0.1), limits = c(12.2, 13.2)) + scale_color_manual(values = c("FALSE" = "grey40", "TRUE" = "#dd0747")) + theme_minimum ``` --- count: false class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 2) Représenter graphiquement le nombre d'années d'études et le salaire en fonction du trimestre de naissance. Que constatez-vous? <img src="lecture_5_fr_files/figure-html/unnamed-chunk-3-1.svg" alt="" style="display: block; margin: auto;" /> --- count:false class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 2) Représenter graphiquement le nombre d'années d'études et le salaire en fonction du trimestre de naissance. Que constatez-vous? <img src="lecture_5_fr_files/figure-html/unnamed-chunk-4-1.svg" alt="" style="display: block; margin: auto;" /> --- class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 3) Régressez le salaire sur le nombre d'années d'études. Interprétez .pull-left[ ``` r ols = lm(lnw ~ s, data = ak91) summary(ols) ``` ``` ## ## Call: ## lm(formula = lnw ~ s, data = ak91) ## ## Residuals: ## Min 1Q Median 3Q Max ## -8.7540 -0.2367 0.0726 0.3318 4.6357 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 4.9951823 0.0044644 1118.9 <2e-16 *** ## s 0.0708510 0.0003386 209.2 <2e-16 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.6378 on 329507 degrees of freedom ## Multiple R-squared: 0.1173, Adjusted R-squared: 0.1173 ## F-statistic: 4.378e+04 on 1 and 329507 DF, p-value: < 2.2e-16 ``` ] -- .pull-right[ - Dans un modèle *log-niveau*, `\((e^{\hat{\beta}_{OLS}} -1) \times 100 \simeq \hat{\beta} _{OLS} \times 100\)` lorsque `\(\hat{\beta}_{OLS}\)` est petit (c'est le cas ici): une année d'études supplémentaire est associée à une augmentation de 7% du salaire hebdomadaire - Estimate OLS sûrement biaisé - Ability corrélée positivement à l'éducation et salaire `\(\implies\)` *downward bias* ] --- class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 4) Régressez le nombre d'années d'études sur la dummy Né au Q4. Interprétez .pull-left[ ``` r fs = lm(s ~ q4, data = ak91 %>% mutate(q4 = (qob == 4))) summary(fs) ``` ``` ## ## Call: ## lm(formula = s ~ q4, data = ak91 %>% mutate(q4 = (qob == 4))) ## ## Residuals: ## Min 1Q Median 3Q Max ## -12.8394 -0.8394 -0.7473 2.2527 7.2527 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 12.74731 0.00658 1937.396 < 2e-16 *** ## q4TRUE 0.09212 0.01328 6.935 4.07e-12 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 3.281 on 329507 degrees of freedom ## Multiple R-squared: 0.0001459, Adjusted R-squared: 0.0001429 ## F-statistic: 48.09 on 1 and 329507 DF, p-value: 4.069e-12 ``` ] .pull-right[ - FS statistiquement sognificative! `\(\implies\)` **We have a first stage!!** - F-stat = 48 > 10! ] --- class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 5) Régressez le salaire sur la dummy Né au Q4. Interprétez. ``` r rf = lm(lnw ~ q4, data = ak91 %>% mutate(q4 = (qob == 4))) summary(rf) ``` ``` ## ## Call: ## lm(formula = lnw ~ q4, data = ak91 %>% mutate(q4 = (qob == 4))) ## ## Residuals: ## Min 1Q Median 3Q Max ## -8.2469 -0.2631 0.0542 0.3580 4.6338 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 5.898272 0.001361 4332.898 <2e-16 *** ## q4TRUE 0.006813 0.002748 2.479 0.0132 * ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.6788 on 329507 degrees of freedom ## Multiple R-squared: 1.865e-05, Adjusted R-squared: 1.562e-05 ## F-statistic: 6.146 on 1 and 329507 DF, p-value: 0.01317 ``` --- class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 6) Calculer l'estimateur 2SLS - 1) à la main ``` r # 1) On stocke les prédictions de la FS pred_fs = predict(fs) # 2) On régresse l'outcome sur la prédiction de première étape ss = lm(ak91$lnw ~ pred_fs) summary(ss) ``` ``` ## ## Call: ## lm(formula = ak91$lnw ~ pred_fs) ## ## Residuals: ## Min 1Q Median 3Q Max ## -8.2469 -0.2631 0.0542 0.3580 4.6338 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 4.95549 0.38097 13.008 <2e-16 *** ## pred_fs 0.07396 0.02983 2.479 0.0132 * ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 0.6788 on 329507 degrees of freedom ## Multiple R-squared: 1.865e-05, Adjusted R-squared: 1.562e-05 ## F-statistic: 6.146 on 1 and 329507 DF, p-value: 0.01317 ``` --- class: clearinverse background-color: #fbe6ec # Solution : Angrist and Krueger (1991) 6) Calculer l'estimateur 2SLS - 2) avec la commande `iv_robust` ``` r ss_b = iv_robust(lnw ~ s | q4, data = ak91 %>% mutate(q4 = (qob == 4))) summary(ss_b) ``` ``` ## ## Call: ## iv_robust(formula = lnw ~ s | q4, data = ak91 %>% mutate(q4 = (qob == ## 4))) ## ## Standard error type: HC2 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) CI Lower CI Upper DF ## (Intercept) 4.95549 0.35774 13.85 1.267e-43 4.25434 5.6567 329507 ## s 0.07396 0.02801 2.64 8.289e-03 0.01905 0.1289 329507 ## ## Multiple R-squared: 0.1171 , Adjusted R-squared: 0.1171 ## F-statistic: 6.97 on 1 and 329507 DF, p-value: 0.008289 ``` --- # IV and RCT avec *imperfect compliance* ### Exemple : Women in STEM On cherche (encore et toujours!) à connaître l'effet des études ( `\(D_i\)` ) sur le salaire ( `\(Y_i\)` ) - Plus précisément, on s'intéresse à l'effet de poursuivre ses études supérieures dans une filière **STEM** **Motivation**: les filles sont sous-représentées dans les filières scientifiques alors même qu'elles sont douées en maths - Implications à LT sur le salaire - <span style="color:#dd0747">Problème: poursuivre en STEM n'est pas random </span> **Solution**: Intervention randomisée de <span style="color:#dd0747">**Breda, Grenet, Monnet et Van Effenterre (2023)**</span> - Interventions en classes (tirées aléatoirement) de femmes scientifiques (*Role Models*) pour déconstruire les stéréotypes de genre dans les sciences et pousser les filles à s’orienter dans les filières scientifiques --- # IV and RCT avec *imperfect compliance* -- ### Exemple : Women in STEM `\(\implies\)` **Notre instrument = assignation aléatoire à ce programme** - Les filles des classes sélectionnées aléatoirement alors que les filles classes non sélectionnées ne le seront pas - Hypothèses: - Exclusivité: n'affecte le salaire que via l'effet sur la probabilité d'aller en CPGE - Exogénéité: par construction de la RCT, les classes sont tirées aléatoirement donc le traitement est exogène - Relevance: les filles des classes ayant reçu la visite d'un rôle model sont plus probables de poursuivre en STEM (+3,5 pts ou +30% de s'orienter en CPGE scientifique d'après Breda, Grenet, Monnet et Van Effenterre (2023), aucun effet pour les garçons) -- Si on estime le modèle en forme réduite, `\(\text{Salaire}_i = \alpha + \beta \text{Traîté}_i + W_i + \varepsilon_i\)`, où `\(D_i = 1\)` si l'individu `\(i\)` est assigné au programme, que représente `\(\beta\)`? -- `\(\beta\)` représente la différence de salaire moyen des filles assignées au programme par rapport à celles qui n'ont pas bénéficié de l'intervention; on dit que `\(\beta\)` est l'**Intention To Treat (ITT)** --- # IV and RCT avec *imperfect compliance* ### Exemple : Women in STEM **Problème**: imperfect compliance - toutes les filles assignées à l'intervention ne vont pas poursuivre en STEM (= *never-takers*), donc l'effet est en quelques sortes dilué - certaines filles y seraient allées même en l'absence de traitement (= *always-takers*) `\(\implies\)` comparer les assignées aux non-assignées capture l'effet de **l'intervention** sur le salaire, pas l'effet de **s'orienter en STEM**, car toutes les assignées ne s'orientent pas en STEM et d'autres se seraient orientés en STEM même en l'absence d'intervention -- **Solution**: mesurer l'effet de s'orienter en STEM uniquement pour les filles qui **ont changé d'avis grâce à l'intervention** (=*Compliers*) - `\(\beta\)` est alors le Local Average Treatment Effect (LATE), où `\(LATE = \frac{\text{ITT}}{\text{Proportion de Compliers}}\)` --- # IV and RCT avec *imperfect compliance* ### Exemple : Women in STEM Pour résumer: **Estimation de l'ITT (Intention-to-Treat)** On régresse le salaire sur l’assignation pour voir l’effet moyen de l’assignation sur le salaire (*Reduced-Form*): `itt_model <- lm(salaire ~ Assignation, data = data)` **Estimation du LATE (Local Average Treatment Effect)** On fait une estimation 2SLS: `iv_model <- iv_robust(salaire ~ STEM | Assignation, data = data)` --- class: clearinverse background-color: #d7e2d8 ## Recap: IV **Les quatre modèles**: - Modèle endogène: `\(Y_i = \alpha + \beta D_i + W_i + \varepsilon_i\)` - *First Stage*: `\(D_i = \alpha + \color{#27b072}{\gamma} \color{#9e5188}{Z_i} + W_i + \epsilon_i\)` - *Second Stage*: `\(Y_i = \alpha + \beta \color{#dd0747}{\hat{D}_i} + W_i + \varepsilon_i\)` - *Reduced Form*: `\(Y_i = \mu + \color{#eb8934}{\pi} \color{#9e5188}{Z_i} + W_i + \nu_i\)` **Estimateurs**: `\(\color{#33B8FF}{\hat{\beta}^{IV} = (Z'D)^{-1}(Z'Y)}\)` et `\(\color{#33B8FF}{\hat{\beta}^{2SLS} = (D'P_ZD)^{-1}D'P_ZY = } \frac{\color{#eb8934}{\hat{\pi}}}{\color{#27b072}{\hat{\gamma}}}\)` <span style="color:#9933FF">**Hypothèses d'identification:**</span> - <span style="color:#9933FF">**Relevance:** `\(\color{#9933FF}{Cov(D_i, Z_i) \neq 0}\)`: corrélation entre instrument et variable endogène est non nulle</span> - <span style="color:#9933FF">Hypothèse testable! : `\(\color{#27b072}{\hat{\gamma}}\)` significatif + F-stat > 10</span> - <span style="color:#9933FF">**Exclusivité:** `\(Z\)` affecte `\(Y\)` **uniquement via** `\(D\)`; **non testable**</span> - <span style="color:#9933FF">**Exogénéité:** `\(\color{#9933FF}{Cov(Z_i, \varepsilon_i) = 0}\)`; **non testable**</span> **Implémentation sur `R`**: - `iv_robust(Y ~ D + W | Z + W, data = data)`; package `estimatr` (SE robustes automatiques) - À la main: `lm(D ~ Z + W)` puis `lm(Y ~ D_hat + W)` .center[🚨 Toujours inclure les contrôles dans la *first stage* ET la *second stage* 🚨] --- # Sources [Mastering Metrics R Code](https://jrnold.github.io/masteringmetrics/quarter-of-birth-and-returns-to-schooling.html) [Causal inference: The Mixtape, Scott Cunningham](https://mixtape.scunning.com/07-instrumental_variables) [Instrumental Variables, Edward Rubin](https://raw.githack.com/edrubin/EC525S19/master/NotesLecture/08IV/08IV.html#1) [Instrumental Variables - Applications, Florian Oswald](https://raw.githack.com/edrubin/EC525S19/master/NotesLecture/08IV/08IV.html#1)