class: center, middle, inverse, title-slide .title[ # Variables Instrumentales (IV) ] .subtitle[ ## Pratiques de la Recherche en Économie ] .author[ ### Florentine Oliveira ] .date[ ### 2025-02-20 ] --- 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">***Good instruments should feel weird*** 🤨</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 premiers enfants comme instrument du numbre d'enfants et l’offre de travail des femmes - pluviométrie comme instrument pour le revenu sur la fréquence de conflits - lotteries --- # Two-stage least squares (2SLS) La méthode des variables instrumentales est souvent utilisée en deux étapes, en l'occurence 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}\)` 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 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} = \frac{\text{Estimateur de Reduced-Form}}{\text{Estimateur de First Stage}}} = \frac{\color{#eb8934}{\hat{\pi}}}{\color{#27b072}{\hat{\gamma}}} $$ --- # 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\)` ) --- # 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 `estimater`, 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 🚨] --- 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 --- background-color: #f19bb5 # Application: Angrist and Krueger (1991) ``` r library(estimatr) data("ak91", package = "masteringmetrics") ``` --- 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) --- 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é: indépendant de l'abilité (impossible que les élèves les plus abiles choisissent leur date de naissance) - Excluabilité: n'a pas de raison d'affecter le salaire autrement que par l'effet sur l'éducation --- 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-2-1.svg" style="display: block; margin: auto;" /> --- count:false 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" style="display: block; margin: auto;" /> --- 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[ - Estimate OLS sûrement biaisé - Ability corrélée positivement à l'éducation et salaire `\(\implies\)` *downward bias* ] --- 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 > 10! ] --- 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 ``` --- 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 ``` --- 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* ## Example 2: 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 d'aller en CPGE **STEM** Inspiré de <span style="color:#dd0747">**Breda, Grenet, Monnet et Van Effenterre (2023)**</span> **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: aller en CPGE n'est pas random </span> **Solution**: Intervention randomisée - 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* ## Example 2: Women in STEM `\(\implies\)` **Notre instrument = assignation aléatoire à ce programme** - corrélé avec le choix d'aller en CPGE (+3,5 pts ou +30% d'après Breda, Grenet, Monnet et Van Effenterre (2023)) - Hypothèse: n'affecte le salaire que via l'effet sur la probabilité d'aller en CPGE -- 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* ## Example 2: Women in STEM **Problème**: imperfect compliance - toutes les filles assignées à l'intervention ne vont pas aller en CPGE (= *never-takers*), donc l'effet est en quelques sortes dilué - certaines filles non assignées au traitement vont aller en CPGE (= *always-takers*) `\(\implies\)` l'estimateur ne donne pas vraiment l'effet moyen de la CPGE sur le salaire puisque toutes les personnes traitées ne vont pas aller en CPGE -- **Solution**: mesurer l'effet de la CPGE 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* ## Example 2: 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 ~ CPGE | Assignation, data = data)` --- # 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)