[英]How to store confidence intervals from stata margins estimation?
統計專家,
我一直在努力尋找一種方法來存儲邊際估計,包括 p 值和置信區間。
下面是我的代碼。 我所能得到的只是變量 I 的估計邊際效應。看起來我不能像我們可以為通常的回歸模型做的那樣指定“ci”。 有沒有一種方法可以存儲和顯示邊際估計中的其他數字?
probit Y1 X
margin, dydx(X) post
est store m1
probit Y2 X
margins, dydx(X) post
est store m2
esttab m1 m2
esttab m1 m2, ci
另一個相關問題是:如何保存交互項的邊際估計? 下面的示例代碼
probit Y2 year month year*month
margins year#month, asbalanced post
先感謝您!
這是一種在邊距命令后獲取 p 值和置信區間的方法。
sysuse auto, clear
probit foreign price trunk
margin, dydx(price) post
eststo m1
margin
命令的結果:
------------------------------------------------------------------------------
| Delta-method
| dy/dx std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
price | .0000268 .0000159 1.69 0.092 -4.36e-06 .000058
------------------------------------------------------------------------------
然后可以從存儲的矩陣e(b)
和e(V)
中恢復 p 值和置信區間。 要獲得 p 值,我們需要 z 分數,它是對標准誤差(e(b)[1,1]/sqrt(e(V)[1,1])
的點估計。rest 正在計算兩條尾部的區域使用normal
。
置信區間是點估計e(b)[1,1]
加上標准誤差sqrt(e(V)[1,1])
乘以 z invnormal(0.975)
的臨界值。
與 output 一起顯示,以便您可以看到排列的數字:
. di "P-value: " normal(-abs(e(b)[1,1]/sqrt(e(V)[1,1])))*2
P-value: .09186065
. di "Upper bound: " e(b)[1,1] + sqrt(e(V)[1,1])*invnormal(0.975)
Upper bound: .00005796
. di "Lower bound: " e(b)[1,1] - sqrt(e(V)[1,1])*invnormal(0.975)
Lower bound: -4.361e-06
例如,要將 p 值放入表中,您可以使用estadd
:
estadd scalar pvalue = normal(-abs(e(b)[1,1]/sqrt(e(V)[1,1])))*2
然后esttab
:
esttab m1, stats(pvalue, label("P-value"))
. esttab m1, stats(pvalue, label("P-value"))
----------------------------
(1)
----------------------------
price 0.0000268
(1.69)
----------------------------
P-value 0.0919
----------------------------
t statistics in parentheses
* p<0.05, ** p<0.01, *** p<0.001
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.