1

我正在运行几个简单的回归,我希望将给定系数的回归的显着性值 (P > |t|) 保存在局部宏中。

例如,我知道:

local consCoeff = _b[_cons]

将保存常数的系数,_se[_cons]我可以得到标准误差。但是,似乎没有任何关于如何获得重要性的文档。

如果下划线格式有效(例如_pt等),那将是最好的,但任何事情都可以。

4

2 回答 2

1

无需自己计算任何东西,因为 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
于 2018-06-14T09:27:38.573 回答
0

系数的 t-stat 是系数除以标准误差。然后可以使用ttail具有适当自由度的函数计算 p 值。由于您正在寻找双尾 p 值,因此结果将乘以 2。

在您的情况下,应该执行以下操作:

local consPvalue = (2 * ttail(e(df_r), abs(_b[cons]/_se[cons])))
于 2018-06-14T02:24:33.897 回答