Atenção: Esta lista não vale ponto e não precisa entregar, mas é útil para aplicar o conteúdo de variáveis instrumentais

Antes de iniciar, vamos instalar os pacotes necessários (comando install.packages) e depois requisitar eles (comando library). Depois de instalado em seu computador, não precisa instalar mais, só requisitar.

Por isso, depois de instalar, coloque um # em frente ao install.packages para que não instale novamente. (Quando se coloca um # em frente ao comando, esse comando se torna um comentário)

#install.packages("dplyr")  #pacote para limpar as bases
#install.packages("AER") #pacote para fazer o MQ2E
#install.packages("stargazer") #pacote para deixar os resultados das regressões formatados

library(dplyr)
library(AER)
library(stargazer)


options(scipen = 999) #Desligamos a notação cientifica

1 Base de dados

A base de dados utilizada será a PNAD 2014-Pesquisa Nacional por Amostra de Domicílios, pois neste ano está disponível o suplemento de mobilidade, contendo a educação da mãe e do pai. Estamos utilizando somente a base de mulheres que trabalham (ou seja, que tem renda positiva). As variáveis contidas na base são as seguintes:

X Variável identificadora da pessoa
uf Codigo do estado
salario Rendimento mensal em dinheiro no trabalho principal da semana de referência
raca Dummy indicando 1=Branco,0=Negro
educ Educação da Mulher
idade Idade
educpai Educação do pai
educpai Educação da mãe

Foram feitos alguns ajustes para facilitar o exercício: foram removidos observações que não continham alguma dessas variáveis, e a variável de educação foi codificado usando a estratégia de Mahlmeister et al. (2019). É válido lembrar que nem todas as mulheres da PNAD foram selecionadas para responder o suplemento de mobilidade, por isso o número de observações foi reduzido.

A base está no Stoa, na parte de Variáveis instrumentais e chama “Base de Dados PNAD-2014-adaptada”

Vamos abrir a base de dados e nomea-la como “df” (abreviação de data frame). Lembre-se que para abrir a base de dados, ela deve estar na pasta do seu projeto. Caso não esteja na pasta, você pode colocar o endereço completo de onde esteja.

df<-read.csv("Bases/PNAD2014.csv")

2 Estimação por MQO

A ideia é reproduzir o exemplo 15.1 do Wooldridge, utilizando dados reais do Brasil

Vamos estimar o retorno sobre o salário da educação das mulheres. Ou seja, queremos estimar: \[log(salario)=\beta_0+\beta_1educ+u\]

Vamos primeiro estimar um MQO simples. Interprete os valores! Qual é o viés que podemos ter nessa regressão?

MQO<-lm(log(salario)~educ,df)
summary(MQO)
## 
## Call:
## lm(formula = log(salario) ~ educ, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.4098 -0.5331 -0.2187  0.1302 21.3031 
## 
## Coefficients:
##             Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)  6.15239    0.11084  55.505 < 0.0000000000000002 ***
## educ         0.08777    0.01111   7.897  0.00000000000000353 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.422 on 4655 degrees of freedom
## Multiple R-squared:  0.01322,    Adjusted R-squared:  0.01301 
## F-statistic: 62.37 on 1 and 4655 DF,  p-value: 0.000000000000003529

3 Estimação utilizando educação do pai como VI

Quais são os pressupostos para que educação do pai seja um bom instrumento?

Primeiramente, educação do pai não pode estar correlacionado com \(u\) do MQO estimado anteriormente. Em segundo lugar, a educação das mulheres e educação do pai dessa mulher devem estar correlacionados. Vamos então estimar:

corr<-lm(educ~educpai,df)
summary(corr)
## 
## Call:
## lm(formula = educ ~ educpai, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -12.889  -1.489   1.078   2.078   7.078 
## 
## Coefficients:
##             Estimate Std. Error t value            Pr(>|t|)    
## (Intercept)  8.35569    0.06048  138.16 <0.0000000000000002 ***
## educpai      0.28330    0.01084   26.14 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.982 on 4655 degrees of freedom
## Multiple R-squared:  0.128,  Adjusted R-squared:  0.1278 
## F-statistic: 683.3 on 1 and 4655 DF,  p-value: < 0.00000000000000022

Vamos salvar os valores previstos da educação:

df$educ_pred <- corr$fitted.values

Após salvar, vamos fazer o salário como função da educação predita:

IV<-lm(log(salario)~educ_pred,df)

Vamos colocar as estimações de MQO e de IV lado a lado para podermos comparar is resultados. Interprete a diferença nas estimações. Qual é o sentido do viés?

stargazer(MQO,IV,type="text",column.labels = c("MQO","IV"))
## 
## ============================================================
##                                     Dependent variable:     
##                                 ----------------------------
##                                         log(salario)        
##                                      MQO            IV      
##                                      (1)            (2)     
## ------------------------------------------------------------
## educ                               0.088***                 
##                                    (0.011)                  
##                                                             
## educ_pred                                        0.192***   
##                                                   (0.031)   
##                                                             
## Constant                           6.152***      5.166***   
##                                    (0.111)        (0.296)   
##                                                             
## ------------------------------------------------------------
## Observations                        4,657          4,657    
## R2                                  0.013          0.008    
## Adjusted R2                         0.013          0.008    
## Residual Std. Error (df = 4655)     2.422          2.428    
## F Statistic (df = 1; 4655)        62.368***      38.083***  
## ============================================================
## Note:                            *p<0.1; **p<0.05; ***p<0.01

4 Estimação utilizando educação da mãe e do pai como variável instrumental

Vamos utilizar duas variáveis como variáveis instrumentais: educação da mãe e educação do pai. Para isso vamos fazer um MQ2E. Vamos primeiro fazer manualmente , e depois fazemos usando o comando no R.

4.1 Manualmente

#Primeiro estágio
prim_est<-lm(educ~educpai+educmae,df)

#Valor previsto
df$educ_predMQ2E<- prim_est$fitted.values

#Segundo estágio
MQ2Emanual<-lm(log(salario)~educ_predMQ2E,df)

summary(MQ2Emanual)
## 
## Call:
## lm(formula = log(salario) ~ educ_predMQ2E, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.0847 -0.5374 -0.1992  0.1388 20.8790 
## 
## Coefficients:
##               Estimate Std. Error t value             Pr(>|t|)    
## (Intercept)    5.49598    0.24598  22.343 < 0.0000000000000002 ***
## educ_predMQ2E  0.15724    0.02576   6.104        0.00000000112 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.428 on 4655 degrees of freedom
## Multiple R-squared:  0.007941,   Adjusted R-squared:  0.007728 
## F-statistic: 37.26 on 1 and 4655 DF,  p-value: 0.000000001118

4.2 Pacote de MQ2E

Porque é melhor fazer o MQ2E com pacote e não manualmente? (Veja página 488 Wooldridge)

Vamos usar o pacote AER, e dentro dele vamos usar o comando ivreg. Digite help(ivreg) para ver informações sobre o comando.

help(ivreg)
## starting httpd help server ... done
MQ2Epct<-ivreg(formula=log(salario)~educ|educmae+educpai,data=df)

Vamos comparar as três estimações: MQO, IV com educação do pai como instrumento e MQ2E com educação do pai e da mãe como instrumento (manual e com o pacote). Pense nos potenciais problemas com estas variáveis instruementais.

stargazer(MQO,IV,MQ2Emanual,MQ2Epct,type="text",column.labels = c("MQO","IV","MQ2Emanual","MQ2Epct"))
## 
## ===========================================================================
##                                             Dependent variable:            
##                                 -------------------------------------------
##                                                log(salario)                
##                                              OLS               instrumental
##                                                                 variable 
##                                    MQO       IV     MQ2Emanual   MQ2Epct   
##                                    (1)       (2)       (3)         (4)     
## ---------------------------------------------------------------------------
## educ                            0.088***                         0.157***  
##                                  (0.011)                         (0.026)   
##                                                                            
## educ_pred                                 0.192***                         
##                                            (0.031)                         
##                                                                            
## educ_predMQ2E                                        0.157***              
##                                                      (0.026)               
##                                                                            
## Constant                        6.152***  5.166***   5.496***    5.496***  
##                                  (0.111)   (0.296)   (0.246)     (0.246)   
##                                                                            
## ---------------------------------------------------------------------------
## Observations                      4,657     4,657     4,657       4,657    
## R2                                0.013     0.008     0.008       0.005    
## Adjusted R2                       0.013     0.008     0.008       0.005    
## Residual Std. Error (df = 4655)   2.422     2.428     2.428       2.432    
## F Statistic (df = 1; 4655)      62.368*** 38.083*** 37.260***              
## ===========================================================================
## Note:                                           *p<0.1; **p<0.05; ***p<0.01

Extra: Como poderíamos fazer as estimações incluindo raça como variável explicativa? Se quiser, faça em casa este mesmo exercício incluindo raça.