Variabili Strumentali

Ritorni di educazione

Una stima precisa dell’effetto dell’educazione sui salari è importante sia a livello individuale che sociale. A livello individuale, comprendere il ritorno sull’investimento in istruzione aiuta le persone a fare scelte informate riguardo al loro percorso educativo. Questo è particolarmente rilevante in contesti in cui l’educazione rappresenta un investimento significativo di tempo e risorse finanziarie. A livello sociale, una stima precisa degli effetti dell’educazione sui salari fornisce ai policymaker un’informazione cruciale per formulare politiche di efficaci. Ad esempio, politiche che mirano a incrementare l’accesso all’istruzione superiore potrebbero essere giustificate da un alto ritorno economico dell’educazione, il che a sua volta può stimolare la crescita economica, ridurre la disuguaglianza e promuovere una maggiore coesione sociale.

Descrizione del Dataset card

library(wooldridge)
data(card)
#echo: false
library(formattable)

Il dataset card include una serie di variabili relative alle caratteristiche demografiche degli individui, come età, genere, il livello di istruzione raggiunto, l’esperienza lavorativa, e altri fattori che possono influenzare i salari. Useremo questo dataset per applicare la tecnica delle variabili strumentali per progvare ad isolare l’effetto dell’istruzione dalle distorsioni dovute a variabili omesse.

La ?@tbl-descrizione contiene una descrizione dettagliata delle variabile contenute nel dataset. La Table 1 contiene invece la statistiche descrittive.

Variabile Descrizione
id Identificativo unico per ciascun individuo
nearc2 (1/0) se vicino a un college a 2 anni
nearc4 (1/0) se vicino a un college a 4 anni
educ Anni di educazione completati
age Età dell’individuo
fatheduc Anni di educazione completati dal padre
motheduc Anni di educazione completati dalla madre
weight Peso campionario
momdad14 (1/0) se viveva con entrambi i genitori a 14 anni
sinmom14 (1/0) se viveva solo con la madre a 14 anni
step14 (1/0) se viveva con un genitore acquisito a 14 anni
black (1/0) se l’individuo è di razza nera
smsa (1/0) se residente in un’area metropolitana
south (1/0) se residente nel sud degli USA
wage Salario annuo
enroll (1/0) di iscrizione a scuola nel 1966
KWW Punteggio sul test di conoscenza del mondo del lavoro
IQ Quoziente intellettivo
married (1/0) dello stato civile (sposato)
exper Anni di esperienza lavorativa
lwage Logaritmo naturale del salario
expersq Esperienza lavorativa al quadrato
library("gtsummary")

card |>
  tbl_summary(
    statistic = list(
      all_continuous() ~ "{mean} ({sd})",
      all_categorical() ~ "{n} ({p}%)"
    ),
    digits = all_continuous() ~ 2,
    missing_text = "(Osservazioni mancanti)"
    #include = names(Hmda)
  ) |>
  modify_header(label = "**Variabili**") |>
  bold_labels() #|>
  #add_n() # add column with total number of non-missing observations
Table 1: Dataset card: statistiche descrittive.
Variabili N = 3,0101
id 2,581.75 (1,500.54)
nearc2 1,327 (44%)
nearc4 2,053 (68%)
educ 13.26 (2.68)
age 28.12 (3.14)
fatheduc 10.00 (3.72)
    (Osservazioni mancanti) 690
motheduc 10.35 (3.18)
    (Osservazioni mancanti) 353
weight 321,185.26 (170,645.80)
momdad14 2,376 (79%)
sinmom14 303 (10%)
step14 117 (3.9%)
reg661 140 (4.7%)
reg662 484 (16%)
reg663 589 (20%)
reg664 193 (6.4%)
reg665 627 (21%)
reg666 289 (9.6%)
reg667 331 (11%)
reg668 85 (2.8%)
reg669 272 (9.0%)
south66 1,247 (41%)
black 703 (23%)
smsa 2,146 (71%)
south 1,215 (40%)
smsa66 1,955 (65%)
wage 577.28 (262.96)
enroll 278 (9.2%)
KWW 33.54 (8.61)
    (Osservazioni mancanti) 47
IQ 102.45 (15.42)
    (Osservazioni mancanti) 949
married
    1 2,144 (71%)
    2 14 (0.5%)
    3 3 (<0.1%)
    4 155 (5.2%)
    5 102 (3.4%)
    6 585 (19%)
    (Osservazioni mancanti) 7
libcrd14 2,021 (67%)
    (Osservazioni mancanti) 13
exper 8.86 (4.14)
lwage 6.26 (0.44)
expersq 95.58 (84.62)
1 Mean (SD); n (%)

Stima OLS di Base

Iniziamo con il semplice modello linear che include soltanto la variabile educ \[ \log(wage_i) = \beta_0 + \beta_1 educ_i + u_i \]

Stimiamo il modello per mezzo dei minimi quadrati ordinari (OLS) usando la funzione feols del pacchetto fixest:

library(fixest)
lm1 <- feols(log(wage) ~ educ, data=card, vcov="hetero")
lm1
OLS estimation, Dep. Var.: log(wage)
Observations: 3,010
Standard-errors: Heteroskedasticity-robust 
            Estimate Std. Error  t value  Pr(>|t|)    
(Intercept) 5.570882   0.039093 142.5016 < 2.2e-16 ***
educ        0.052094   0.002907  17.9210 < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RMSE: 0.421249   Adj. R2: 0.098437

Il coefficiente stimato è \(hat{\beta}_1=0.0521\). Questa stima è quasi sicuramente distorta per via delle variabili omesse cioè quelle variabili che hanno influire sia sul salario sia sul livello di istruzione. La presenza di queste varibili rende l’assunzione \(E(u_i|educ_i)=0\) poco credibile e, di conseguenza, un’interpretazione causale del coefficiente è impossibile.

Possiamo in ogni caso interpretatare il coefficiente stimato come indicatore dell’associazione statistica esistente fra i salari degli individui e il loro livello di istruzione. In particolare, possiamo dire che un anno addizionale di istruzione è associato con una crescita salariale del 5.21%.

Modello OLS con variabili esogene

Per attenuare il problema delle variabili omesse possiamo includere nel modello delle variabili che pensiamo possano essere fonte di distorsione e consideriamo il seguente modello:

\[ \log(wage_i) = \beta_0 + \beta_1 educ_i + \beta_2 exper_i + \beta_3 exper_i^2 + \beta_4 south_i + \beta_5smsa_i + \beta_6 black + u_i. \tag{1}\]

lm2 <- feols(log(wage) ~ educ + exper + I(exper^2) + south + smsa + black, data=card, vcov="hetero")
lm2
OLS estimation, Dep. Var.: log(wage)
Observations: 3,010
Standard-errors: Heteroskedasticity-robust 
             Estimate Std. Error   t value   Pr(>|t|)    
(Intercept)  4.733664   0.070158  67.47181  < 2.2e-16 ***
educ         0.074009   0.003642  20.32079  < 2.2e-16 ***
exper        0.083596   0.006733  12.41654  < 2.2e-16 ***
I(exper^2)  -0.002241   0.000318  -7.04429 2.3017e-12 ***
south       -0.124862   0.015351  -8.13390 6.0179e-16 ***
smsa         0.161423   0.015175  10.63736  < 2.2e-16 ***
black       -0.189632   0.017432 -10.87809  < 2.2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RMSE: 0.373755   Adj. R2: 0.289088

L’inclusione di esperienza lavorativa (anche in forma quadratica per catturare effetti non lineari), la regione geografica (south), l’area metropolitana e black fornisce un controllo più accurato di altri fattori che potrebbero influenzare i salari. In questo nuovo modello, un anno addizionale di istruzione è associato con una crescita salariale del 7.40%.

Per poter interpretatare questa stima come causale, dovremmo essere certi che il nuovo errore non contenga più nessuna variabile che simultaneamente determini il salario ed una delle altre variabili che abbiamo introdotto nel modello. In altre parole, dovremmo essere pronti a sostenare l’assunzione \[ E(u_i|educ_i, exper_i, south, smsa_i, black_i) = 0. \tag{2}\]

La variabile che pensiamo possa ancora essere nell’errore è \(q_i\), l’abilità dell’individuo. Questa variabile non osservabile include tratti come la motivazione personale, la resilienza, le abilità sociali, non è osservabile che possono influenzare il livello del salario di un lavoratore.

Ricordiamo che l’esclusione di questa variabile dal modello Equation 2 risulterà problematica se \[ E(q_i|educ_i, exper_i, south, smsa_i, black_i) \neq 0. \] Siamo pronti a considerare \(exper_i, south, smsa_i, black_i\) come variabile esogene, cioè variabili che non hanno una relazione sistematica con quelle varibili: le persone che abitano nel sud (south=1) o in un’area metropolitana (smsa=1) non hanno un’abilità superiore ai lavoratori del nord o che vivono in area rurali. Anche per quanto riguarda l’esperienza e il colore della pelle siamo più che pronti ad assumere che non ci sia una sistematica relazione con \(q_i\). Quindi possiamo sostenere a testa alta \[ E(q_i|exper_i, south, smsa_i, black_i)=0, \tag{3}\] e che quindi l’errore (che contiene \(q_i\)) non sia sistematicamente associato con \(exper_i, south, smsa_i, black_i\). In gergo, diciamo che queste variabili sono esogene. Rimane il problema dell’istruzione. Quasi per devinizione, l’abilità individuale determina il livello di istruzione di un individuo: la motivazione personale, la diligenza e la capacità di perseverare nelle difficoltà sono chiaramente associate con una probabilità più alta di completare un percorso di studi più avanzato. Il risultato è una relazione fra \(q_i\) e \(educ_i\) quindi, sebbena Equation 3 possa essere assunta come valida, non possiamo assumere soddisfatta Equation 2.

Variabili strumentali

David Card ha proposto di “strumentare” i livelli di istruzione usando la prossimità geografica ad una università. Le variabili in questione sono nearc2 and nearc4: variabili binari che prendono il valore \(1\) se l’individuo risiedeva nel 1966 (le altre variabili si riferiscono al 1976) vicino ad un college di due anni o ad un college di quattro anni.

Giustificazione della validità degli strumenti

Per giustificare l’uso di nearc2 e nearc4 come strumenti per educ è necessario verificare che due condizioni siano soddisfatte:

  1. Rilevanza: Gli strumenti devono essere correlati, vedremo meglio in che modo, con la variabile endogena (educ). L’ipotesi è che la prossimità a un istituto di istruzione superiore abbassi i costi dell’istruzione, sia diretti che indiretti, e quindi incrementi la probabilità che un individuo prosegua l’educazione oltre il livello secondario.

  2. Esogeneità: Lo strumento non deve essere correlato con l’errore, cioè con l’abilità. In altre parole, la prossimità a un college influenzare i salari degli individui solo attraverso il suo effetto sull’istruzione, e non dovrebbe essere direttamente correlata con altri fattori che influenzano i salari, come l’abilità non osservata o le preferenze lavorative. Vedremo che questa assunzione può essere discutibile, ma per il momento procediamo assumendo che gli strumenti siano endogeni.

Rilevanza

Il modo più semplice, ma anche impreciso, di testare la rilevanza degli strumenti è quello di calcolare la correlazione fra educ e nearc2 e nearc4. Questo può essere fatto usando il modello linear, visto che nel modello univariato il coefficiente di regressione è il rapporto fra la covarianza fra le variabili e la varianza della variabile dipendente. Se c’è correlazione allora il coefficiente deve essere (significativamente) diverso da zero.

summary(feols(educ ~ nearc2, data=card, vcov = "hetero"))
OLS estimation, Dep. Var.: educ
Observations: 3,010
Standard-errors: Heteroskedasticity-robust 
             Estimate Std. Error   t value  Pr(>|t|)    
(Intercept) 13.150921   0.064510 203.85880 < 2.2e-16 ***
nearc2       0.255258   0.098453   2.59269  0.009569 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RMSE: 2.67347   Adj. R2: 0.00191
summary(feols(educ ~ nearc4, data=card, vcov = "hetero"))
OLS estimation, Dep. Var.: educ
Observations: 3,010
Standard-errors: Heteroskedasticity-robust 
             Estimate Std. Error   t value   Pr(>|t|)    
(Intercept) 12.698015   0.090220 140.74510  < 2.2e-16 ***
nearc4       0.829019   0.106694   7.77005 1.0684e-14 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
RMSE: 2.64848   Adj. R2: 0.02048

In entrambi i casi, il coefficiente è positivo: esiste un’associazione positiva fra vivere vicino ad un college e il livello di istruzione raggiunto. I coefficienti sono statisticamente significativi: le statistiche \(t\), ottenuti mediante usando uno standard error valido anche in presenza di eteroschedasticità, sono entrambi superiori al livello critico al livello di significatività \(\alpha=0.05\). I due strumenti mostrano però una diversa “forza”: la correlazione fra nearc2 e educ è \(\sqrt{R^2} = 0.047\) mentre è di \(\sqrt{R^2} = 0.144\) fra nearc4 e `educ1.

L’esistenza di una semplice correlazione non è comunque evidenza sufficiente a caratterizzare i nostri strumenti come rilveanti. Il modello in Equation 1 ha le seguente form: \[ y_i = \beta_0 + \beta_1 X_{i} + \beta_2 W_{1i} + \beta_3 W_{2i} + \dots + \beta_{r+1}W_{ri} + u_i, \] dove \(X_i = educ_i\) è la variabile _endogena` e \(W_{1i} = exper_i\), \(W_{2i} = exper_i^2\), \(W_{3i} = south_i\), \(W_{4i} = smsa_i\) e \(W_{5i} = black_i\) sono le variabili esogene.

In questo modello la condizione di rilevanza è che il coefficiente sullo strumento in una regressione fra la variabile endogena, lo strumento e le variabili esogene sia statisticamente diverso da zero. Nel caso volessimo usare entrambi gli strumenti, dobbiamo testare l’ipotesi nulla che i coefficienti di entrambi gli strumenti siano uguali a zero.

first_stage_nearc2 <- feols(educ ~ nearc2 + exper + I(exper^2) + south + smsa + black, data=card, vcov = "hetero")
first_stage_nearc4 <- feols(educ ~ nearc4 + exper + I(exper^2) + south + smsa + black, data=card, vcov = "hetero")
first_stage_nearc4_2 <- feols(educ ~ nearc4 + nearc2 + exper + I(exper^2) + south + smsa + black, data=card, vcov = "hetero")
etable(first_stage_nearc2, first_stage_nearc4, first_stage_nearc4_2, highlight = list(m1 = "nearc2", m2 = "nearc4", m1 = c("nearc2", "nearc4")), order = c("nearc2", "nearc4", "exper", "exper square", "south", "smsa", "black"))
                 first_stage_nearc2  first_stage_nearc4 first_stage_near..2
Dependent Var.:                educ                educ                educ
                                                                           
nearc2             0.1222. (0.0735)                         0.1077 (0.0731)
nearc4                               0.3373*** (0.0806)  0.3312*** (0.0806)
exper square        0.0007 (0.0017)     0.0007 (0.0017)     0.0007 (0.0017)
exper           -0.4096*** (0.0319) -0.4100*** (0.0320) -0.4095*** (0.0319)
south           -0.3269*** (0.0787) -0.2915*** (0.0785) -0.2787*** (0.0788)
smsa             0.4969*** (0.0816)  0.4039*** (0.0849)  0.3887*** (0.0857)
black            -1.017*** (0.0880)  -1.006*** (0.0878)  -1.013*** (0.0877)
Constant          16.79*** (0.1428)   16.66*** (0.1467)   16.62*** (0.1495)
_______________ ___________________ ___________________ ___________________
S.E. type       Heteroskedast.-rob. Heteroskedast.-rob. Heteroskedast.-rob.
Observations                  3,010               3,010               3,010
R2                          0.47203             0.47447             0.47485
Adj. R2                     0.47098             0.47342             0.47362
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Il coefficiente di nearc2 nella regressione riportata nella prima colonna è statisticamente diverso da zero al 10% di significatività (\(t=1.66 > 1.64\)). Il coefficiente di nearc4 nella regressione riportata nella secondo colonna è statisticamente diverso da zero allo 0.1% di significatività (\(t=4.18 > 3.29\)). Per verificare se entrambi i coefficienti della regressione della terza colonna sono entrambi diversi da zero dobbiamo calcolare la statistica di Wald:

library(car)
Loading required package: carData
joint_test <- linearHypothesis(first_stage_nearc4_2, c("nearc2=0", "nearc4=0"), test = "Chisq")
joint_test
Linear hypothesis test

Hypothesis:
nearc2 = 0
nearc4 = 0

Model 1: restricted model
Model 2: educ ~ nearc4 + nearc2 + exper + I(exper^2) + south + smsa + 
    black

  Res.Df Df  Chisq Pr(>Chisq)    
1   3004                         
2   3002  2 19.433  6.026e-05 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Rigettiamo l’ipotesi nulla che entrambi i coefficienti siano simultanemeante uguali a zero.[^chisq]

[chisq:] Il test di Wald ha una distribuzione \(\chi^2\) con un numero di gradi di libertà pari al numero dei coefficienti che stiamo testando. In questo caso, i gradi di libertà saranno quindi \(df=2\). Il valore critico della \(\chi_2^2\) è \(5.99\) che è minore del valore del test (\(19.43\)). Alternativamente, avremmo potuto usare il \(p\)-value. Il \(p\)-value è \(6.0264295\times 10^{-5}\) che essendo più piccolo di qualsiasi ragionevole livello di significatività induce a rigettare l’ipotesi nulla.

Secondo Stadio della Regressione IV

Le regressioni della precedente sezione costituiscono il primo stadio nella costruzione dello stimatore TSLS. Nel secondo stadio andiamo a regredire la variabile educ predetta dalle regressioni del primo stadio nei tre casi:

educ_hat_nearc2 <- predict(first_stage_nearc2)
educ_hat_nearc4 <- predict(first_stage_nearc4)
educ_hat_nearc4_2 <- predict(first_stage_nearc4_2)
## Includiamo questi valori predetti nel data.frame `card`
## affinchè siano accessibili da `feols`
card$educ_hat_nearc2 <- educ_hat_nearc2
card$educ_hat_nearc4 <- educ_hat_nearc4
card$educ_hat_nearc4_2 <- educ_hat_nearc4_2
second_stage_nearc2 <- feols(log(wage) ~ educ_hat_nearc2 + exper + I(exper^2) + south + smsa + black, data=card, vcov = "hetero")
second_stage_nearc4 <- feols(log(wage) ~ educ_hat_nearc4 + exper + I(exper^2) + south + smsa + black, data=card, vcov = "hetero")
second_stage_nearc4_2 <- feols(log(wage) ~ educ_hat_nearc4_2 + exper + I(exper^2) + south + smsa + black, data=card, vcov = "hetero")
etable(second_stage_nearc2, second_stage_nearc4, second_stage_nearc4_2, 
       highlight = list(m1 = "educ_hat_nearc2", 
                        m2 = "educ_hat_nearc4", 
                        m1 = c("educ_hat_nearc2", 
                               "educ_hat_nearc4", 
                               "educ_hat_nearc4_2")), 
       order = c("educ_hat_nearc2", "educ_hat_nearc4", 
                 "exper", "exper square", "south", "smsa", "black"))
                  second_stage_nearc2 second_stage_nearc4 second_stage_nea..2
Dependent Var.:             log(wage)           log(wage)           log(wage)
                                                                             
educ_hat_nearc2     0.3498** (0.1237)                                        
educ_hat_nearc4                         0.1323** (0.0486)                    
educ_hat_nearc4_2                                          0.1608*** (0.0461)
exper square      -0.0024*** (0.0003) -0.0023*** (0.0003) -0.0023*** (0.0003)
exper              0.1967*** (0.0513)  0.1075*** (0.0211)  0.1192*** (0.0202)
south                -0.0304 (0.0458) -0.1049*** (0.0233) -0.0951*** (0.0228)
smsa                  0.0190 (0.0651)  0.1313*** (0.0294)  0.1166*** (0.0281)
black                 0.0887 (0.1262)   -0.1308* (0.0519)   -0.1020* (0.0496)
Constant               0.0926 (2.083)   3.753*** (0.8180)   3.272*** (0.7771)
_________________ ___________________ ___________________ ___________________
S.E. type         Heteroskedast.-rob. Heteroskedast.-rob. Heteroskedast.-rob.
Observations                    3,010               3,010               3,010
R2                            0.18739             0.18706             0.18831
Adj. R2                       0.18576             0.18543             0.18668
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Un problem per l’interpretazione della tavola precedente è che gli errori standard non sono corretti. Per ottenere quelli corretti dobbiamo utilizzare la funzione feols in maniera che i due stadi siano calcolati internamente cosicchè sia possibile aggiunstare gli errori standard in maniera tale che tengano conto del fatto che le variabili educ_hat_nearc2 e educ_hat_nearc4 sono le predizioni dei primi stadi.

tsls_nearc2 <- feols(log(wage) ~ exper + I(exper^2) + south + smsa + black 
                     | educ ~ nearc2, data=card, vcov = "hetero")
tsls_nearc4 <- feols(log(wage) ~ exper + I(exper^2) + south + smsa + black 
                     | educ ~ nearc4, data=card, vcov = "hetero")
tsls_nearc4_2 <- feols(log(wage) ~ exper + I(exper^2) + south + smsa + black 
                       | educ ~ nearc2+nearc4, data=card, vcov = "hetero")
etable(tsls_nearc2, tsls_nearc4, tsls_nearc4_2, 
       highlight = "educ", 
       order = c("educ", "exper", "exper square", "south", "smsa", "black"))
                        tsls_nearc2         tsls_nearc4       tsls_nearc4_2
Dependent Var.:           log(wage)           log(wage)           log(wage)
                                                                           
educ               0.3498. (0.2023)   0.1323** (0.0486)  0.1608*** (0.0486)
exper square    -0.0024*** (0.0006) -0.0023*** (0.0003) -0.0023*** (0.0004)
exper              0.1967* (0.0842)  0.1075*** (0.0211)  0.1192*** (0.0213)
south              -0.0304 (0.0738) -0.1049*** (0.0229) -0.0951*** (0.0234)
smsa                0.0190 (0.1084)  0.1313*** (0.0298)  0.1166*** (0.0303)
black               0.0887 (0.2079)   -0.1308* (0.0515)   -0.1020. (0.0521)
Constant             0.0926 (3.406)   3.753*** (0.8177)   3.272*** (0.8178)
_______________ ___________________ ___________________ ___________________
S.E. type       Heteroskedast.-rob. Heteroskedast.-rob. Heteroskedast.-rob.
Observations                  3,010               3,010               3,010
R2                          -1.1715             0.22520             0.14551
Adj. R2                     -1.1759             0.22365             0.14381
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

I coefficienti stimati da questa ultima serie di comandi e riportati nella tabella sono identici a quelli ottenuti alla procedura a due stadi manuale. La differenza consiste negli errori standard che sono diversi da quelli ottenuti dalla prima procedura.

L’analisi delle stime OLS e TSLS basata sulle tabelle fornite offre una visione approfondita di come i due metodi trattano l’endogeneità dell’istruzione nei modelli di salario. I dati mostrano come gli stimatori TSLS correggano il bias che affligge le stime OLS a causa delle variabili omesse o della correlazione tra le variabili esplicative e il termine di errore.

Riassumendo i nostri risultati:

Risultati OLS

  1. Modello OLS Semplice (lm1): Questo modello stima che ogni anno aggiuntivo di istruzione è associato ad una crescita del salario del 5.2%.

  2. Modello OLS Esteso (lm2): Introducendo controlli per l’esperienza, l’esperienza quadrata, la regione (south), l’area metropolitana (smsa), e la razza (black), il coefficiente dell’istruzione passa a 0.0740 (aumento del 7.4% del salario per ogni anno di istruzione addizionale).

Risultati TSLS

  1. Modello TSLS con nearc2 (tsls_nearc2): L’uso di nearc2 come strumento per l’istruzione mostra un coefficiente molto più alto per l’istruzione (35%). Questo coefficiente non è statisticamente significativo al livello convenzionale. L’imprecisone è probabilmente dovuta al fatto che questo strumento sebbene soddisfi la condizione di rilevanza, non ha una “forte” correlazione con educ.

  2. Modello TSLS con nearc4 (tsls_nearc4): Il coefficiente per l’istruzione è 0.1323, statisticamente significativo al livello del 1%.

  3. Modello TSLS con nearc2 e nearc4 (tsls_nearc4_2): L’uso combinato di entrambi gli strumenti produce un coefficiente di 0.1608, anch’esso significativo e indicativo di un ritorno dell’istruzione più elevato rispetto all’OLS esteso.

I risultati TSLS indicano che, quando si corregge per l’endogeneità utilizzando variabili strumentali appropriate, i ritorni stimati dell’istruzione sui salari sono significativamente più alti rispetto alle stime OLS, che possono soffrire di bias dovuto a variabili omesse o misurate in modo errato.

Test per endogeneità

Il test di endogeneità, noto anche come test J è un test usato per verificare se gli strumenti utilizzati in un modello con variabili strumentali sono esogeni.

La procedura inizia con la stima dell’equazione di interesse tramite TSLS, utilizzando tutti gli strumenti disponibili. Usando questa regressione, vengono calcolati i residui

u_hat <- resid(tsls_nearc4_2)
card$u_hat <- u_hat

Questi residui vengono utilizzati come variabile dipendente in una nuova regressione, dove le variabili indipendenti includono sia gli strumenti (nearc2 e nearc4) sia le altre variabili esogene del modello originale (exper, exper^2, south, smsa, black).

jreg <- feols(u_hat~nearc2 + nearc4+exper+exper^2+
                south+smsa+black, data = card, 
              vcov = "hetero")

Il cuore del test è il test Wald per verificare se i coefficienti associati agli strumenti siano statisticamente diversi da zero.

linearHypothesis(jreg, c("nearc2=0", "nearc4=0"), test="Chisq")
Linear hypothesis test

Hypothesis:
nearc2 = 0
nearc4 = 0

Model 1: restricted model
Model 2: u_hat ~ nearc2 + nearc4 + exper + I(exper^2) + south + smsa + 
    black

  Res.Df Df  Chisq Pr(>Chisq)
1   3004                     
2   3002  2 2.6552     0.2651

Per analizzare il risultato del test, bisogna tenere in mente che i gradi di libertà di questo test non corrispondono al numero delle restrizioni testate (nel caso specifico, due: nearc2 = 0 e nearc4 = 0), ma piuttosto al numero di strumenti (2) meno il numero di variabili endogene (1). In questo esempio, la statistica chi-quadrato risultante è \(2.6552\), che deve essere confrontata con il valore critico della distribuzione chi-quadrato con un grado di libertà (3.84). Quindi, visto 2.6552 < 3.84, non possiamo rigettare l’ipotesi nulla che entrambi i coefficienti siano uguali a zero. Il \(J\) test suggerisce quindi l’esogeneità degli strumenti.