如何输出IV(2SLS) Regress第一阶段的参数coeff.s及其标准误差std.err.s.
webuse hsng2,clear
xi: ivregress 2sls rent pcturban (hsngval = faminc i.region), small first
outreg2 只能输出第二阶段的结果,
不知道savefirst怎么用
有没有一种方法能够把第一阶段的数提取出来,
且输出结果跟outreg2那样美观std.err在括号里。
虽然单独做第一阶段回归,
即xi: reg hsngval faminc i.region pcturban
得到的结果跟ivregress第一阶段的结果相同,
但是有没有更直接的方法,既然ivregress能显示第一阶段的结果,那输出也应该没问题。
Thanks in advance!
问题已解决:
http://www.stata.com/statalist/archive/2011-03/msg00930.html
help ivreg2 里关于savefirst的介绍:
xi: xtivreg2 depvar x (endovar=ivlist), fe i(id) savefirst
estimates restore _xtivreg2_endovar
粗斜体是关键前缀_xtivreg2_后面加instrumented variable的名字,即可, 这样就恢复了第一阶段的结果了,然后输出
outreg2 using first.xls
例子:2个IV 模型
webuse nlswork,clear
global iv="union south"
global x="age not_smsa"
* stage by stage :
xi: xtivreg2 ln_w $x (tenure = $iv), fe first savefirst savefprefix(m1_)
est store m1
xi: xtivreg2 ln_w $x (ttl_exp = $iv), fe first savefirst savefprefix(m2_)
est store m2
outreg2 [m1 m2] using trial.xls, replace nor2 noni bdec(3) label sortvar(tenure ttl_exp $iv $x)
est restore m1_tenure
outreg2 using trial.xls, append nor2 noni bdec(3) label sortvar(tenure ttl_exp $iv $x) ctitle("m1,tenure")
est restore m2_ttl_exp
outreg2 using trial.xls, append nor2 noni bdec(3) label sortvar(tenure ttl_exp $iv $x) ctitle("m2, ttl_exp")
* or model by model :
xi: xtivreg2 ln_w $x (tenure = $iv), fe first savefirst savefprefix(m1_)
est store m1
outreg2 [m1] using trial.xls, replace nor2 noni bdec(3) label sortvar(tenure ttl_exp $iv $x)
est restore m1_tenure
outreg2 using trial.xls, append nor2 noni bdec(3) label sortvar(tenure ttl_exp $iv $x) ctitle("m1, tenure")
xi: xtivreg2 ln_w $x (ttl_exp = $iv), fe first savefirst savefprefix(m2_)
est store m2
outreg2 [m2] using trial.xls, append nor2 noni bdec(3) label sortvar(tenure ttl_exp $iv $x)
est restore m2_ttl_exp
outreg2 using trial.xls, append nor2 noni bdec(3) label sortvar(tenure ttl_exp $iv $x) ctitle("m2, ttl_exp")