Uncategorized

Bons papais e mamães importam?

Wallace e Erik (ou, formalmente, Souza & Figueiredo (2014)) fazem um estudo interessante. Eis o resumo:

This study aims to measure the influence of family background on the level of individual income. The empirical estimation strategy was based on three steps: i) estimating the effect of different methods for mean treatment, following Heckman and Honore (1990) and Heckman and Vytlacil (1999); ii) the variation bounds of Shaikh and Vytlacil (2004) for the impact of treatment and iii) a test for  robustness of the estimates with the schooling of the spouse and parents of spouse as instruments to endogenize year study of individuals. The results indicate a significant effect of parents’ education, especially in less educated individuals. This can be explained, among other factors, the lower level of income and consequently a higher degree of dependence on these individuals of their family background, following the assumptions of unequal opportunities. Finally, with the use of instruments has a greater impact on the yield, since it can be viewed as proxies for characteristics of subjects not observed.

Ficou um pouco confuso o resumo, mas nas conclusões eles explicam melhor:

In general, estimates show that the impact of father’s education is stronger on the group of individuals without a college degree (“Lower”), corroborating the idea that, for being less educated, they probably have lower average earnings and thus are more susceptible to the effects of family background. In other words, these individuals are more influenced and, to some extent, more dependent on their father’s education level, especially with regard to decisions about education. (p.19)

Mais interessante, neste ponto, é lembrar da história do Mussum (sim, o humorista), contada na recém-lançada biografia da editora Leya. Em resumo, em algum momento de sua vida, ele decide que queria ir à escola e, como a mãe era pobre, Mussum teve que aceitar a proposta dela de que estudaria para uma prova que poderia para uma boa escola pública de nível técnico.

Ou seja, naquele momento, a decisão da mãe foi uma inflexão na vida de Mussum, tal e qual nos dizem os autores, com os resultados do texto citado. Mas, o que pode surpreender você – com certeza foi uma surpresa para mim – é que, neste processo, o próprio Mussum alfabetizou a mãe. Em outras palavras, foi uma solução win-win.

p.s. Em alguns casos, o dia dos pais e também o das mães, ambos, têm um significado bem maior, não?

Uncategorized

Exemplo de 2SLS em R (Momento R do Dia)

Tomo de empréstimo a base de dados do exercício 19.4 da 5a edição de Gujarati (agora Gujarati & Porter).

Trata-se de um sistema de oferta e demanda de moeda.

Mdt= b0 + b1Yt + b2Rt+b3Pt+u1t

Mst = a0 + a1Yt + u2t

As variáveis R (taxa de juros) e P (índice de preços) são exógenas por hipótese. Percebe-se que existem duas variáveis que não estão na equação de oferta que são, justamente, estas duas. Logo, há duas formas de se identificar a equação de oferta, o que a caracteriza como uma equação sobre-identificada. A equação de demanda, como se vê, é não-identificada (ou sub-identificada).

O exercício de Gujarati pede as formas reduzidas, pergunta sobre identificação e depois faz uma aplicação do teste de simultaneidade e de exogeneidade. Mas nós vamos partir da identificação e usar o pacote systemfit do R para estimar o sistema. Depois, vamos comparar o resultado com aquele obtido por meio do comando ivreg do pacote AER.

Para importar os dados, fazemos:

# importar Table 19.4.xls

base <- read.table(file = "clipboard", sep = "\t", header=TRUE)
head(base)
m2<-ts(base$M2, start=c(1970),freq=1)
gdp<-ts(base$GDP, start=c(1970),freq=1)
tbrate<-ts(base$TBRATE, start=c(1970),freq=1)
cpi<-ts(base$CPI, start=c(1970),freq=1)

Feito isto, vamos aos dois métodos de estimação.

Estimando o sistema com “systemfit”

Neste pacote – que está bem exemplificado pelos autores do mesmo aqui – a sintaxe dos comandos exige que se escreva o sistema. Assim, temos as seguintes linhas de comando.

library(systemfit)
demand1<-m2~gdp+tbrate+cpi
supply1<-m2~gdp
system<-list(demand=demand1,supply=supply1)
inst1<-~tbrate+cpi

Repare que definimos as duas equações e o sistema. Em seguida, informamos ao programa a lista de instrumentos. Para resolver o sistema, usamos o comando systemfit. Note que escolhi o método de Mínimos Quadrados em Dois Estágios (2SLS).

fit2sls2<-systemfit(system,"2SLS",inst=inst1)
print(fit2sls2)
summary(fit2sls2)

Note que a diferença entre print e summary é de detalhamento. Também note que, com esta biblioteca, o sistema é estimado, mesmo que a equação de demanda não seja identificável. Isto fica claro quando usamos o summary.

> print(fit2sls2)

systemfit results
method: 2SLS

Coefficients:
demand_(Intercept)        demand_gdp        demand_tbrate     demand_cpi
-795.817242                      0.165427             -64.865418         26.393878
supply_(Intercept)      supply_gdp
-2517.944548             0.805575
> summary(fit2sls2)

systemfit results
method: 2SLS

              N  DF     SSR      detRCov         OLS-R2   McElroy-R2
system 74 68  6339723   4258428053   0.974049     0.967006

                N DF SSR MSE RMSE R2 Adj R2
demand 37 33 4265631 129261.5 359.530 0.965079 0.961904
supply 37 35 2074092 59259.8 243.433 0.983020 0.982535

The covariance matrix of the residuals
demand supply
demand 129261.5 58323.1
supply 58323.1 59259.8

The correlations of the residuals
demand supply
demand 1.000000 0.666386
supply 0.666386 1.000000
2SLS estimates for ‘demand’ (equation 1)
Model Formula: m2 ~ gdp + tbrate + cpi
Instruments: ~tbrate + cpi

                    Estimate          Std.Error         t value    Pr(>|t|)
(Intercept)     -7.95817e+02    2.25516e+09    0          1
gdp                1.65427e-01      8.70873e+05    0          1
tbrate             -6.48654e+01    7.93049e+07    0         1
cpi                 2.63939e+01      3.61958e+07    0          1

Residual standard error: 359.529607 on 33 degrees of freedom
Number of observations: 37 Degrees of Freedom: 33
SSR: 4265630.767425 MSE: 129261.538407 Root MSE: 359.529607
Multiple R-Squared: 0.965079 Adjusted R-Squared: 0.961904
2SLS estimates for ‘supply’ (equation 2)
Model Formula: m2 ~ gdp
Instruments: ~tbrate + cpi

                            Estimate      Std. Error             t value      Pr(>|t|)
(Intercept)        -2.51794e+03  1.32467e+02    -19.0081   < 2.22e-16 ***
gdp                    8.05575e-01  1.81658e-02       44.3456   < 2.22e-16 ***

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 243.433303 on 35 degrees of freedom
Number of observations: 37 Degrees of Freedom: 35
SSR: 2074092.061577 MSE: 59259.773188 Root MSE: 243.433303
Multiple R-Squared: 0.98302 Adjusted R-Squared: 0.982535

Repare como os teste “t” e os p-valores da equação estimada de demanda não fazem sentido algum. Agora, vamos fazer o mesmo exercício com o comando ivreg do pacote AER.

Estimação com variáveis instrumentais, por meio do pacote AER

Bem, aqui vão os comandos.

library(AER)
oferta <- ivreg(m2 ~ gdp | tbrate+cpi,)
summary(oferta)
summary(oferta, vcov = sandwich, df = Inf, diagnostics = TRUE)
demanda<-ivreg(m2~gdp+tbrate+cpi |tbrate+cpi )

Neste pacote, os comandos são mais intuitivos. Você define uma equação de cada vez. Aproveitei para mostrar o absurdo que é tentar estimar a curva de demanda usando os mesmo instrumentos da oferta. Além disso, para a curva de oferta, apresento os erros-padrão robustos para os estimadores.

> oferta <- ivreg(m2 ~ gdp | tbrate+cpi,)
> summary(oferta)

Call:
ivreg(formula = m2 ~ gdp | tbrate + cpi)

Residuals:
Min 1Q Median 3Q Max
-471.89 -123.96 39.56 144.45 434.82

Coefficients:
                     Estimate     Std. Error     t value    Pr(>|t|)
(Intercept)    -2.518e+03   1.325e+02   -19.01 <2e-16 ***
gdp                8.056e-01    1.817e-02     44.35 <2e-16 ***

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 243.4 on 35 degrees of freedom
Multiple R-Squared: 0.983, Adjusted R-squared: 0.9825
Wald test: 1967 on 1 and 35 DF, p-value: < 2.2e-16

> summary(oferta, vcov = sandwich, df = Inf, diagnostics = TRUE)

Call:
ivreg(formula = m2 ~ gdp | tbrate + cpi)

Residuals:
Min 1Q Median 3Q Max
-471.89 -123.96 39.56 144.45 434.82

Coefficients:
                       Estimate        Std. Error   z value  Pr(>|z|)
(Intercept)        -2.518e+03   1.066e+02   -23.61  <2e-16 ***
gdp                    8.056e-01   1.899e-02     42.41  <2e-16 ***

Diagnostic tests:
                                      df1 df2 statistic p-value
Weak instruments        2   34   575.139 <2e-16 ***
Wu-Hausman               1   34      0.047    0.829
Sargan                          1   NA     0.166    0.684

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 243.4 on Inf degrees of freedom
Multiple R-Squared: 0.983, Adjusted R-squared: 0.9825
Wald test: 1799 on 1 DF, p-value: < 2.2e-16

> demanda<-ivreg(m2~gdp+tbrate+cpi |tbrate+cpi )
Warning message:
In ivreg.fit(X, Y, Z, weights, offset, …) :
more regressors than instruments

Percebe-se que os resultados são os mesmos. Quando se pede os diagnósticos, no caso da oferta, temos três testes: Wu-Hausman, Sargan e de exogeneidade fraca. Segundo a documentação:

diagnostics:  logical.

Should diagnostic tests for the instrumental-variable regression be carried out? These encompass an F test of the first stage regression for weak instruments, a Wu-Hausman test for endogeneity, and a Sargan test of overidentifying restrictions (only if there are more instruments than regressors).

O teste de Wu-Hausman está resumidamente explicado aqui. Já o teste de Sargan está aqui. Mais detalhes sobre o pacote AER podem ser encontrados aqui. O teste de instrumentos fracos pode ser encontrado em outros lugares, mas o Diffuse Prior tem um interessante texto sobre o tema. Como o teste indica evidências de rejeição da hipótese nula (H0: instrumentos excluídos são irrelevantes), a conclusão, para este exemplo, é a de que os instrumentos não são…irrelevantes, obviamente.

E os outros tópicos do exercício?

Não existe almoço grátis, não é? Portanto, você pode trabalhar sobre estes dados para responder as questões colocadas pelos autores. A bem da verdade, falar sobre a identificação da oferta, da demanda, encontrar as formas reduzidas…isto tudo é muito fácil.

O teste de simultaneidade envolve a estimação da forma reduzida do gdp, obtendo os resíduos e usando-os numa regressão de m2 em gdp e nos resíduos estimados. Na ausência de simultaneidade, os resíduos estimados não deveriam ajudar a explicar m2.

Estou me sentindo generoso hoje. Então, eis os comandos:

simult.test&lt;-lm(gdp~tbrate+cpi)
summary(simult.test)
vchapeu&lt;-simult.test$resid
simult.test2&lt;-lm(m2~gdp+vchapeu)
summary(simult.test2)

Coefficients:

Estimate    Std. Error   t value   Pr(>|t|)
(Intercept)           -2.518e+03  1.343e+02   -18.748   <2e-16 ***
gdp                       8.056e-01   1.842e-02   43.738   <2e-16 ***
vchapeu              -2.237e-02   1.043e-01   -0.214    0.832

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 246.8 on 34 degrees of freedom
Multiple R-squared: 0.983, Adjusted R-squared: 0.982
F-statistic: 985.6 on 2 and 34 DF, p-value: < 2.2e-16

Conclusão

Bem, por hoje é só. Mais um Momento R do Dia que facilita a vida de quem está aprendendo a caminhar no R. Claro, outros exercícios empíricos deveriam ser feitos por você mesmo. Já está aí o caminho das pedras. Faça sua parte.

2014-02-21 21.26.01
“Sorte a sua o professor não te passar um sistema de equações simultâneas mais completo, heim?”
Uncategorized

Mais policiais, menos crimes?

Existe, atualmente, uma visão estranha de que policiais são agentes da maldade e do crime. Não que não existam policiais corruptos, obviamente. Entretanto, há uma parcela da sociedade que pensa que policial é um sujeito que deveria ficar quieto, desarmado, para levar pedrada e tudo pelo “social”.

Não dá para começar um post falando assim da polícia (mas da sociedade dá, porque eu conheço alguns indivíduos que não conseguem distinguir a instituição “polícia” do indivíduo “policial”…algo como não saber a diferença do Ronaldinho para a Seleção Brasileira).

Uma pergunta que sempre me ocorre é a de se esta história de policiamente realmente diminui crimes. O pessoal do Freakonomics tem aquela tese engraçada sobre aborto que parece ser robusta para os EUA – e lá faz sentido, dados os fatos históricos daquela amostra – mas no Brasil não há um federalismo de facto, já que estados não podem adotar diferentes leis. Não senhor, experimentação, aqui, só a que Brasília permite.

Mas, ainda assim, a pergunta permanece: mais policiais, menos crimes? Aparentemente, existem evidências de que sim, pelo menos na amostra estudada. Quer saber mais? Olha o link aí.