针对某些值测试模型系数(回归斜率)


20

在R,当我有一个(广义)线性模型(lmglmglsglmm,...),我怎样才能测试系数(回归斜率)对大于0的任何其它值?在模型摘要中,会自动报告系数的t检验结果,但仅用于与0进行比较。我想将其与另一个值进行比较。

我知道我可以使用一个小技巧与reparametrizing y ~ xy - T*x ~ x,其中T是测试值,并运行此重新参数模型,但我追求简单的解决方案,这将可能在原有的模式工作。


Answers:


17

这是适用于任何程序包的更广泛的解决方案,即使您只有回归输出(例如来自纸张),也可以使用。

取系数及其标准误差。

计算t的df与H0β=0的测试相同。t=β^βH0s.e.(β^)tH0:β=0


1
谢谢Glen,我从[这个好答案]知道这一点。但是我如何从t值获得p值?
2014年

2
@Curiouspt()
Affine

@好奇:正如Affine所说的R函数pt -或其他任何具有t cdfs值的东西。许多包装都有这些,并且有广泛使用的t表。
Glen_b-恢复莫妮卡2014年

如果lm,lmer和其他人直接接受一个不同于零的测试参数,那就太好了。
skan,

@skan实际上是单行R代码以获得p值;编写一个小函数以获取summary.lm的输出并根据您的确切要求生成一个新表将是一件简单的事情。
Glen_b-恢复莫妮卡

10

您可以使用Glen_b建议的简单t检验,也可以使用更通用的Wald检验。

Wald检验允许在多个参数上检验多个假设。它被配制成:其中R选择(的组合)的系数,并且q指示针对要测试的值,β是所述标准regresison系数。Rβ=qβ

在您的示例中,对于一个参数只有一个假设,R是一个行向量,该参数的值是1,其他位置的值是0,q是要进行测试的限制的标量。

在R中,您可以从package car中运行带有函数linearHypothesis()的Wald测试。假设您要检查第二个系数(由参数hypothesis.matrix表示)是否不同于0.1(参数rhs):

reg <- lm(freeny)
coef(reg)

# wald test for lag.quarterly.revenue =0.1
>library(car)
>linearHypothesis(reg, hypothesis.matrix = c(0, 1, rep(0,3)), rhs=0.1)
#skip some result, look at last value on last row, of Pr(>F) 
  Res.Df       RSS Df  Sum of Sq      F Pr(>F)
1     35 0.0073811                            
2     34 0.0073750  1 6.0936e-06 0.0281 0.8679

对于t检验,此函数实现Glen_b所示的t检验:

ttest <- function(reg, coefnum, val){
  co <- coef(summary(reg))
  tstat <- (co[coefnum,1]-val)/co[coefnum,2]
  2 * pt(abs(tstat), reg$df.residual, lower.tail = FALSE)
}

> ttest(reg, 2,0.1)
[1] 0.8678848

通过比较第二个系数为零的标准假设,通过比较Wald,我们的t检验和R默认t检验,确保我们得到了正确的过程:

> linearHypothesis(reg, hypothesis.matrix = c(0, 1, rep(0,3)), rhs=0)[["Pr(>F)"]][2]
[1] 0.3904361
> ttest(reg, 2,0)
[1] 0.3904361
## The 'right' answer from R:
> coef(summary(reg))[2,4]
[1] 0.3904361

通过这三个过程,您应该获得相同的结果。


看起来不错!您能解释一下该hypothesis.matrix参数吗?
2014年

我不确定Wald测试是否可以做到。我打算使用标准的t检验,该检验通常随参数一起报告,但不包含0,而是包含其他一些值。
2014年

@好奇希望现在清楚了吗?
Matifou 2014年

3

最后,最简单的解决方案是进行重新参数化:

gls(I(y - T*x) ~ x, ...)

会产生相同的结果吗?
skan

但是,您减去的不是独立的东西。最小二乘的假设或共线性不是问题吗?它与lm(y〜x + + offset(T * x))有何不同?
skan,

1
@skan回归以x为条件,那里没有依赖关系;它应该与使用offset相同。
Glen_b-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.