El ANOVA en modelos de regresión lineal es equivalente a la prueba de Wald (y la prueba de razón de verosimilitud) de los modelos anidados correspondientes. Entonces, cuando desee realizar la prueba correspondiente utilizando errores estándar de coherencia a la heterocedasticidad (HC), esto no puede obtenerse a partir de una descomposición de las sumas de cuadrados, pero puede realizar la prueba de Wald utilizando una estimación de covarianza HC. Esta idea se utiliza tanto en Anova()
y linearHypothesis()
desde el car
paquete y coeftest()
y waldtest()
del lmtest
paquete. Los últimos tres también se pueden usar con plm
objetos.
Un ejemplo simple (aunque no muy interesante / significativo) es el siguiente. Utilizamos el modelo estándar de la ?plm
página del manual y queremos llevar a cabo una prueba de Wald para determinar la importancia de ambos log(pcap)
y unemp
. Necesitamos estos paquetes:
library("plm")
library("sandwich")
library("car")
library("lmtest")
El modelo (bajo la alternativa) es:
data("Produc", package = "plm")
mod <- plm(log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp,
data = Produc, index = c("state", "year"))
Primero, veamos las pruebas marginales de Wald con errores estándar de HC para todos los coeficientes individuales:
coeftest(mod, vcov = vcovHC)
t test of coefficients:
Estimate Std. Error t value Pr(>|t|)
log(pc) 0.2920069 0.0617425 4.7294 2.681e-06 ***
log(emp) 0.7681595 0.0816652 9.4062 < 2.2e-16 ***
log(pcap) -0.0261497 0.0603262 -0.4335 0.66480
unemp -0.0052977 0.0024958 -2.1226 0.03411 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Y luego llevamos a cabo una prueba de Wald para ambos log(pcap)
y unemp
:
linearHypothesis(mod, c("log(pcap)", "unemp"), vcov = vcovHC)
Linear hypothesis test
Hypothesis:
log(pcap) = 0
unemp = 0
Model 1: restricted model
Model 2: log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp
Note: Coefficient covariance matrix supplied.
Res.Df Df Chisq Pr(>Chisq)
1 766
2 764 2 7.2934 0.02608 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Alternativamente, también podemos ajustar el modelo bajo la hipótesis nula ( mod0
digamos) sin los dos coeficientes y luego llamar waldtest()
:
mod0 <- plm(log(gsp) ~ log(pc) + log(emp),
data = Produc, index = c("state", "year"))
waldtest(mod0, mod, vcov = vcovHC)
Wald test
Model 1: log(gsp) ~ log(pc) + log(emp)
Model 2: log(gsp) ~ log(pc) + log(emp) + log(pcap) + unemp
Res.Df Df Chisq Pr(>Chisq)
1 766
2 764 2 7.2934 0.02608 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
La estadística de prueba y el valor p calculados por linearHypothesis()
y waldtest()
son exactamente los mismos. Solo la interfaz y el formato de salida es algo diferente. En algunos casos, uno u otro es más simple o más intuitivo.
Nota: Si proporciona una estimación de matriz de covarianza (es decir, una matriz similar vocvHC(mod)
) en lugar de un estimador de matriz de covarianza (es decir, una función similar vocvHC
), asegúrese de proporcionar la estimación de matriz de covarianza HC del modelo bajo la alternativa, es decir, el modelo no restringido
plm
paquete tiene métodos para elvcovHC()
genérico delsandwich
paquete, no proporciona métodos paravcovHAC()
. En cambio, seplm
entrega con sus propias funciones dedicadas para calcular matrices de covarianza en modelos de panel que potencialmente también incluyen correlación en serie. VervcovNW()
ovcovSCC()
en paqueteplm
.vcovHAC
,vcovNW
,vcovSCC
) son _H_eteroskedasticity y _A_utocorrelation _C_onsistent ... Eso es lo que HAC representa.Esto se puede hacer con la
Anova
función en elcar
paquete. Consulte esta excelente respuesta para obtener más detalles y una revisión de otras técnicas para tratar la heterocedasticidad en ANOVA.fuente