411 REFERENCE · Wikibooks
Stata/Tobit and Selection Models
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Censoring
We observe the full marginal distribution of x but we only observe the distribution of y above or below a given threshold.
clear
set obs 1000
gen u = invnorm(uniform())
gen x = invnorm(uniform())
gen y = x + u
su
replace y=0 if y < 0
su
hist y
#delimit ;
tw (sc y x, m(Oh) msize(small) )
(sc ycens x , m(Oh) msize(small) )
(lfit y x, lw(thick))
(lfit ycens x, lw(thick)) ;
#delimit cr
Estimation :
eststo clear
eststo : reg y x
eststo : tobit y x , ll(0)
esttab , se
We can also have a two limit tobit model :
*** Data Generating Process ***
clear
set obs 1000
gen u = invnorm(uniform())
gen x = invnorm(uniform())
gen y = x + u
su
replace y=-2 if y < -2
replace y=2 if y > 2
su
hist y
*** Estimation ***
eststo clear
eststo : reg y x
eststo : tobit y x , ll(-2) ul(2)
esttab , se
Truncation
We only observe the distribution of x and y if y is above or below a given threshold.
clear
set obs 1000
gen u = invnorm(uniform())
gen x = invnorm(uniform())
gen y = x + u
replace y = . if y > 0 /* drop some observations*/
eststo clear
eststo : reg y x
eststo : truncreg y x , ul(0)
esttab , se
Selection Models
heckman estimates the Heckman selection model.
clear
set obs 1000
gen u = invnormal(uniform())
gen v = 1 + u + invnormal(uniform())
gen x = invnormal(uniform())
gen z = invnormal(uniform())
gen d = (1 + x + z + v > 0)
gen ystar = 1 + x + u
gen y = ystar if d
heckman y x, select(d = z x)
test x = 1