Stata/Tobit 和选择模型
外观
< Stata
我们观察到 x 的完整边际分布,但我们只观察到 y 在给定阈值以上或以下的分布。
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
估计
eststo clear eststo : reg y x eststo : tobit y x , ll(0) esttab , se
我们也可以有一个双限 tobit 模型
*** 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
我们只观察到 x 和 y 的分布,如果 y 在给定阈值以上或以下。
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
heckman估计 Heckman 选择模型。
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