在stata中运行nl命令后,如何获得95%置信区间的下限和上限。
获得点估计,你只需:
global point_est = _b[/beta]
并且可以像这样保存标准错误:
global std_err = _se[/beta]
那么如何获得上限和下限CI?这不正常,所以:
95%CI-upper!= point_est + 1.96 * std_err
感谢您的帮助!
答案 0 :(得分:1)
你错了:nl
,因为每个通用估算命令都会产生对称置信区间。 (某些引导置信区间是不对称的,一些自然允许exp,log或logit比例的命令,如logistic
或proportion
,可以在这些比例上生成CI,然后将它们反向转换为非对称它只需要估计系数和标准误差,并使用您引用的公式精确地产生置信区间。请参阅help estcom
。
. sysuse auto, clear
. nl (price = exp( {a} + {b}*mpg ) )
------------------------------------------------------------------------------
price | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
/a | 9.882335 .2007597 49.22 0.000 9.482128 10.28254
/b | -.0569546 .0105899 -5.38 0.000 -.0780651 -.035844
------------------------------------------------------------------------------
. di reldif( _b[/a] - invt(e(df_r),0.975)*_se[/a], 9.482128 )
2.582e-09
. di reldif( _b[/a] + invt(e(df_r),0.975)*_se[/a], 10.28254 )
1.944e-07
此外,除非绝对必须,否则请勿使用global
宏。这就是程序员所称的a "smell"。他们唯一的目的是在不能通过任何其他有意义的方式传递的程序之间传递东西。具有解析的语法系统加上返回值系统可以满足大多数需求。相反,全局变量可能是某种占位符。