- Microeconometria para painel dinâmico
- Cara no bar
- Questões do ENAD
*** LGN ***
cls
clear all
set seed 54321
set obs 1000
g d1 = ceil(runiform(0,6))
g d2 = ceil(runiform(0,6))
g s = d1+d2
g n = _n
g cum_amount = sum(s)
g cum_mean = cum_amount/n
scatter cum_mean n
*
cls
clear
all
set seed 54321
set obs 1000
g x = rpoisson(2)
g n = _n
g cum_amount = sum(x)
g cum_mean = cum_amount/n
scatter cum_mean n
*
cls
clear all
set seed 54321
set obs 1000
g x = rbeta(1/2,1/2)
g n = _n
g cum_amount = sum(x)
g cum_mean = cum_amount/n
scatter cum_mean n
*** TLC ***
cls
clear all
set seed 54321
set obs 10000
sca a = 2
sca b = 4
sca m = 500
forv i = 1/`=m' {
g x`i' = a+(b-a)*runiform()
}
egen y = rowmean(x*)
g y_bar = (y-(a+b)/2)/(sqrt((b-a)^2/12)/sqrt(m))
kdensity y_bar
*** OLS / IV ***
clear all
cls
set obs 10000
set seed 12345
scalar varx = 2
scalar medx = 10
gen x1 = rnormal(medx,sqrt(varx))
gen u = 1
scalar varu = 2
scalar medu = 0
scalar beta0 = 1
scalar beta1 = 2
gen Ey = beta0+beta1*x1
gen y = 1
tempname sim
postfile `sim' beta0 beta1 using results, replace
quietly {
forvalues i = 1/1000 {
*replace u = rnormal(medu,sqrt(varu))
replace u = rnormal(medu,sqrt(varu))+.05*x1^2
replace y = Ey + u
reg y x1
scalar beta0 = _b[_cons]
scalar beta1 = _b[x1]
post `sim' (beta0) (beta1)
}
}
postclose `sim'
use results, clear
summarize
tw (kdensity beta0) (kdensity beta1)
***
clear all
cls
set obs 10000
set seed 12345
*scalar varx = 2
scalar varx = 200
scalar medx = 10
gen x1 = rnormal(medx,sqrt(varx))
scalar varu = 2
scalar medu = 0
scalar beta0 = 1
scalar beta1 = 2
gen Ey = beta0+beta1*x1
gen u = rnormal(medu,sqrt(varu))+.05*x1^2
gen y = Ey + u
reg x1 u
predict z, resid
*replace z = z+rnormal()
replace z = .1*z+rnormal()
corr u x1 z
reg y x1
ivregress 2sls y (x1 = z)
clear all
cls
set obs 1000
set seed 12345
*criar um regressor exógeno (dummy sexo)
gen x2 = cond(runiform()>.6,1,0)
*criar uma variável omitida (habilidade)
gen h = rnormal(5,20)
kdensity h
*criar um regressor endógeno (anos de escolaridade)
gen x3 = ceil(10+.1*h+rnormal(0,3))
sum
scatter x3 h
kdensity x3
gen u = 1
scalar varu = 2
scalar medu = 0
scalar beta1 = 1
scalar beta2 = 1
scalar beta3 = 1
scalar gamma = 1
gen Ey = beta1+beta2*x2+beta3*x3+gamma*h
gen y = 1
tempname sim
postfile `sim' beta1 beta2 beta3 using results, replace
quietly {
forvalues i = 1/100 {
replace y = Ey + rnormal(0,1)
reg y x2 x3
*reg y x2 x3 h
scalar beta1 = _b[_cons]
scalar beta2 = _b[x2]
scalar beta3 = _b[x3]
post `sim' (beta1) (beta2) (beta3)
}
}
postclose `sim'
use results, clear
summarize
tw (kdensity beta1) (kdensity beta2) (kdensity beta3)
***
clear all
cls
set obs 1000
set seed 12345
*criar um regressor exógeno (dummy sexo)
gen x2 = cond(runiform()>.6,1,0)
*criar uma variável omitida (habilidade)
gen h = rnormal(5,20)
*criar um regressor endógeno (anos de escolaridade)
gen w = rnormal(0,3)
gen x3 = ceil(10+.1*h+w)
gen u = 1
scalar varu = 2
scalar medu = 0
scalar beta1 = 1
scalar beta2 = 1
scalar beta3 = 1
scalar gamma = 1
gen y = beta1+beta2*x2+beta3*x3+gamma*h+rnormal(0,1)
reg y x2 x3 h
estimates store reg1
reg y x2 x3
estimates store reg2
*criar um instrumento
gen z = w+rnormal(0,1)
correlate x2 x3 h z
ivregress 2sls y x2 (x3 = x2 z)
estimates store reg3
estout reg1 reg2 reg3, cells(b(star fmt(3))) stats(r2)
*Durbin–Wu–Hausman
*https://www.stata.com/support/faqs/statistics/durbin-wu-hausman-test/
reg x3 x2 z
predict u_hat, res
reg y x2 x3 u_hat
*instrumento fraco
*https://www.stata.com/manuals13/rivregresspostestimation.pdf
ivregress 2sls y x2 (x3 = x2 z)
estat firststage
*The null hypothesis of each of Stock and Yogo's tests is that the set of instruments is weak.
https://arquivos.ufsc.br/d/c5f9285b54864b55b9dd/