Puede utilizar una prueba t simple como la propuesta por Glen_b, o una prueba de Wald más general.
La prueba de Wald permite contrastar múltiples hipótesis sobre múltiples parámetros. Se formula como: $R\beta=q$ donde R selecciona (una combinación de) coeficientes, y q indica el valor contra el que se va a probar, $\beta$ que son los coeficientes de regresión estándar.
En su ejemplo, en el que sólo tiene una hipótesis sobre un parámetro, R es un vector de filas, con un valor de uno para el parámetro en cuestión y cero en el resto, y q es un escalar con la restricción a probar.
En R, puede ejecutar una prueba de Wald con la función hipótesis lineal() del paquete coche . Supongamos que desea comprobar si el segundo coeficiente (indicado por el argumento matriz.hipótesis ) es diferente de 0,1 (argumento 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
Para la prueba t, esta función implementa la prueba t mostrada por Glen_b:
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
Asegurémonos de que hemos obtenido el procedimiento correcto comparando el Wald, nuestra prueba t y la prueba t por defecto R, para la hipótesis estándar de que el segundo coeficiente es cero:
> 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
Debería obtener el mismo resultado con los tres procedimientos.
0 votos
Relacionados: stats.stackexchange.com/questions/29981/