vcovHC и доверительный интервал - PullRequest
11 голосов
/ 29 сентября 2010

Можно ли с уверенностью использовать надежный vcov, полученный vcovHC (из сэндвич-пакета) после подгонки модели?

1 Ответ

13 голосов
/ 29 сентября 2010

Нет, вы не можете использовать функцию confint напрямую с надежным vcov.Но это довольно просто сделать вручную.

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

В противном случае вы можете адаптировать функцию confint.default() к вашим собственным потребностям:

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
}

Как уже предложил Брэндону вас будет больше шансов на быстрый ответ, если вы спросите об этом на stats.stackexchange.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...