Stata/Tobit and Selection Models

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

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)) ;
 * 1) delimit ;
 * 1) 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 : 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 eststo clear eststo : reg y x eststo : tobit y x, ll(-2) ul(2) esttab, se
 * Data Generating Process ***
 * Estimation ***

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