Pregunta

¿Es posible tener un uso CONFINT el robusto vcov obtenido por vcovHC (del paquete sándwich) después de ajustar un modelo?

¿Fue útil?

Solución

No, no se puede utilizar la función de CONFINT directamente con la robusta vcov. Pero es bastante recta hacia adelante para hacer esto a mano.

x <- sin(1:100)
y <- 1 + x + rnorm(100)
## model fit and HC3 covariance
fm <- lm(y ~ x)
Cov <- vcovHC(fm)

tt <-qt(c(0.025,0.975),summary(fm)$df[2])
se <- sqrt(diag(Cov))
ci <-coef(fm) + se %o% tt

De lo contrario, su puede adaptar la función confint.default() a sus propias necesidades:

confint.robust <- function (object, parm, level = 0.95, ...)
{
    cf <- coef(object)
    pnames <- names(cf)
    if (missing(parm))
        parm <- pnames
    else if (is.numeric(parm))
        parm <- pnames[parm]
    a <- (1 - level)/2
    a <- c(a, 1 - a)
    pct <- stats:::format.perc(a, 3)
    fac <- qnorm(a)
    ci <- array(NA, dim = c(length(parm), 2L), dimnames = list(parm,
        pct))
    ses <- sqrt(diag(sandwich::vcovHC(object)))[parm]
    ci[] <- cf[parm] + ses %o% fac
    ci
}

Como ya se ha sugerido Brandon, se obtendría más posibilidades de una respuesta rápida si usted pide estas cosas a la stats.stackexchange.com

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top