我正在运行几个简单的回归,我希望将给定系数的回归的显着性值 (P > |t|) 保存在局部宏中。
例如,我知道:
local consCoeff = _b[_cons]
将保存常数的系数,_se[_cons]
我可以得到标准误差。但是,似乎没有任何关于如何获得重要性的文档。
如果下划线格式有效(例如_pt
等),那将是最好的,但任何事情都可以。
我正在运行几个简单的回归,我希望将给定系数的回归的显着性值 (P > |t|) 保存在局部宏中。
例如,我知道:
local consCoeff = _b[_cons]
将保存常数的系数,_se[_cons]
我可以得到标准误差。但是,似乎没有任何关于如何获得重要性的文档。
如果下划线格式有效(例如_pt
等),那将是最好的,但任何事情都可以。
无需自己计算任何东西,因为 Stata 已经为您计算了。
例如:
. sysuse auto, clear
(1978 Automobile Data)
. regress price weight mpg
Source | SS df MS Number of obs = 74
-------------+---------------------------------- F(2, 71) = 14.74
Model | 186321280 2 93160639.9 Prob > F = 0.0000
Residual | 448744116 71 6320339.67 R-squared = 0.2934
-------------+---------------------------------- Adj R-squared = 0.2735
Total | 635065396 73 8699525.97 Root MSE = 2514
------------------------------------------------------------------------------
price | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
weight | 1.746559 .6413538 2.72 0.008 .467736 3.025382
mpg | -49.51222 86.15604 -0.57 0.567 -221.3025 122.278
_cons | 1946.069 3597.05 0.54 0.590 -5226.245 9118.382
------------------------------------------------------------------------------
结果也以矩阵形式返回r(table)
:
. matrix list r(table)
r(table)[9,3]
weight mpg _cons
b 1.7465592 -49.512221 1946.0687
se .64135379 86.156039 3597.0496
t 2.7232382 -.57468079 .54101802
pvalue .00812981 .56732373 .59018863
ll .46773602 -221.30248 -5226.2445
ul 3.0253823 122.27804 9118.3819
df 71 71 71
crit 1.9939434 1.9939434 1.9939434
eform 0 0 0
因此,对于 的 p 值weight
,请键入:
. matrix A = r(table)
. local pval = A[4,1]
. display `pval'
.00812981
系数的 t-stat 是系数除以标准误差。然后可以使用ttail
具有适当自由度的函数计算 p 值。由于您正在寻找双尾 p 值,因此结果将乘以 2。
在您的情况下,应该执行以下操作:
local consPvalue = (2 * ttail(e(df_r), abs(_b[cons]/_se[cons])))