2017-07-06 40 views
0

在stata中運行nl命令後,如何獲得95%置信區間的下限和上限。在Stata中返回nl的CI下限和上限

獲得分數的估計,你只是做:

global point_est = _b[/beta] 

和標準誤差可以保存這樣的:

global std_err = _se[/beta] 

所以如何讓上下CI界限?它不是正常的,所以:

95%CI-上= point_est + 1.96 * std_err

感謝您的幫助!

回答

1

你錯了:nl,因爲每一個通用的估計命令,產生對稱的置信區間。 (一些自舉置信區間是不對稱的,一些自然允許exp,log或logit scale的命令,如logisticproportion,可以在這些尺度上產生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"。他們唯一的預期目的是在不能通過任何其他有意義的方式傳遞的程序之間傳遞東西。解析語法的系統,加上返回值的系統,可以滿足大部分需求。相反,全局變量可能是某種類型的佔位符。

+0

真棒,謝謝 – mmvw