如何计算 Stata 中单尾检验的 p 值?
How do I calculate the p-value of a one-tailed test in Stata?
我有以下模型:ln(MPG_{i}) = \beta _{0} + \beta {1}WEIGHT{i} + \beta {1}FOREIGN{i} + \beta {3}FOREIGN{i} * WEIGHT_{i} + \varepsilon_{i,j}
我想在STATA中用test命令测试$\beta_{3}上的系数是否>0.5$。
我使用了以下代码并得到了这个结果:
测试1.foreign#c.weight = 0.5001
( 1) 1.foreign#c.weight = .5001
F( 1, 70) = 4.9e+07
Prob > F = 0.0000
所以我们拒绝了我们的空值,因为 p 值非常小。
但问题是,这是一个双尾测试。
我的目标是获取此左尾检验的 t 检验值,然后将其存储。然后使用 t 检验计算其 p 值。
计算 p 值后,我决定是否拒绝原假设。我确信我会拒绝 null 并且 p 值会非常小。只需要一些帮助来弄清楚如何以正确的方式对其进行编码。
编辑: 我试过使用这些命令:
lincom _b[forweight] - 0.5
display invttail(71, 0.5)
最后一个命令吐出值 0。现在这是左侧 t 检验的 p 值吗?
中对此进行了介绍
下面是测试系数为0.5的相关代码:
sysuse auto, clear
gen ln_mpg = ln(mpg)
regress ln_mpg i.foreign##c.weight
test _b[1.foreign#c.weight]=.5
local sign_wgt = sign(1.foreign#c.weight)
display "Ho: coef <= 0.5 p-value = " ttail(r(df_r),`sign_wgt'*sqrt(r(F)))
display "Ho: coef >= 0.5 p-value = " 1-ttail(r(df_r),`sign_wgt'*sqrt(r(F)))
我有以下模型:ln(MPG_{i}) = \beta _{0} + \beta {1}WEIGHT{i} + \beta {1}FOREIGN{i} + \beta {3}FOREIGN{i} * WEIGHT_{i} + \varepsilon_{i,j}
我想在STATA中用test命令测试$\beta_{3}上的系数是否>0.5$。
我使用了以下代码并得到了这个结果:
测试1.foreign#c.weight = 0.5001
( 1) 1.foreign#c.weight = .5001
F( 1, 70) = 4.9e+07
Prob > F = 0.0000
所以我们拒绝了我们的空值,因为 p 值非常小。
但问题是,这是一个双尾测试。
我的目标是获取此左尾检验的 t 检验值,然后将其存储。然后使用 t 检验计算其 p 值。
计算 p 值后,我决定是否拒绝原假设。我确信我会拒绝 null 并且 p 值会非常小。只需要一些帮助来弄清楚如何以正确的方式对其进行编码。
编辑: 我试过使用这些命令:
lincom _b[forweight] - 0.5
display invttail(71, 0.5)
最后一个命令吐出值 0。现在这是左侧 t 检验的 p 值吗?
下面是测试系数为0.5的相关代码:
sysuse auto, clear
gen ln_mpg = ln(mpg)
regress ln_mpg i.foreign##c.weight
test _b[1.foreign#c.weight]=.5
local sign_wgt = sign(1.foreign#c.weight)
display "Ho: coef <= 0.5 p-value = " ttail(r(df_r),`sign_wgt'*sqrt(r(F)))
display "Ho: coef >= 0.5 p-value = " 1-ttail(r(df_r),`sign_wgt'*sqrt(r(F)))