由于错误消息而无法计算sqrt函数

时间:2018-08-07 20:10:36

标签: stata hypothesis-test

尝试基于Stata 15.0的简单分位数回归进行单面Wald检验

qreg volume if period == 2010 

我要测试我的qreg <= 10的系数(常数)

基于此post,我编写了以下代码:

local to_test = sign(_b[_cons]-1 )
display "H0: volume <=10 p-value=" ttail(r(df_r),`to_test' * sqrt(r(F)))

我最终收到此错误消息:

H0: volume <=10 p-value=unknown function *sqrt()
r(133);

为什么对于简单的sqrt函数会出现此错误消息?

1 个答案:

答案 0 :(得分:1)

要执行单面测试,您需要首先执行相应的双面 Wald测试。然后,您可以使用结果来计算单面测试的测试统计量和p值。

您的代码不起作用,因为您没有进行Wald测试,因此未定义r(df_r)和r(F)。当您尝试取尚未计算的量的平方根时,Stata会为您带来神秘的错误。还有其他问题,例如在符号计算中使用1而不是10。

我认为在进行给您带来问题的计算之前,分解问题并display分解所有部分是解决此问题的好方法。

下面是在汽车数据集上显示此示例的示例(代替使用dataex的示例):

. sysuse auto, clear
(1978 Automobile Data)

. qreg price weight length i.foreign, nolog

Median regression                                   Number of obs =         74
  Raw sum of deviations  71102.5 (about 4934)
  Min sum of deviations 54411.29                    Pseudo R2     =     0.2347

------------------------------------------------------------------------------
       price |      Coef.   Std. Err.      t    P>|t|     [95% Conf. Interval]
-------------+----------------------------------------------------------------
      weight |   3.933588   1.328718     2.96   0.004     1.283543    6.583632
      length |  -41.25191   45.46469    -0.91   0.367    -131.9284    49.42456
             |
     foreign |
    Foreign  |   3377.771   885.4198     3.81   0.000     1611.857    5143.685
       _cons |   344.6489   5182.394     0.07   0.947     -9991.31    10680.61
------------------------------------------------------------------------------

. local sign_cons = sign(_b[_cons] - 10)

. display "`sign_cons'"
1

. display r(df_r)
.

. display r(F)
.

. test _b[_cons] = 10

 ( 1)  _cons = 10

       F(  1,    70) =    0.00
            Prob > F =    0.9487

. display r(df_r)
70

. display r(F)
.00416983

. display "Ho: _cons <= 10 p-value = " ttail(r(df_r),`sign_cons'*sqrt(r(F)))
Ho: _cons <= 10 p-value = .47434855