【问题标题】:unable to compute sqrt function due to error message [closed]由于错误消息而无法计算 sqrt 函数 [关闭]
【发布时间】:2019-01-15 00:14:26
【问题描述】:

尝试基于 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 函数会出现此错误消息?

【问题讨论】:

  • 请使用 Stata 的dataex 命令向我们提供minimal reproducible example,以便我们尽力为您提供帮助。没有样本数据,我们无法复制任何东西。
  • 我有超过 100 万个观察值,那么它是如何工作的呢?
  • help dataex 找出答案!

标签: stata hypothesis-test


【解决方案1】:

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

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

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

这是一个在汽车数据集上显示此内容的示例(使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-28
    • 2019-05-16
    • 2022-01-02
    • 2021-12-08
    • 2013-08-19
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多