【问题标题】:vcovHC and confidence intervalvcovHC 和置信区间
【发布时间】:2011-04-18 13:07:16
【问题描述】:

是否可以在拟合模型后让 confint 使用由 vcovHC(来自三明治包)获得的健壮 vcov?

【问题讨论】:

  • 尝试在 stats.stackexchange.com 上询问这个

标签: r confidence-interval


【解决方案1】:

不,您不能将函数 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
}

正如 Brandon 已经建议的那样,如果您在 stats.stackexchange.com 上询问这些问题,您将有更多机会获得快速回答

【讨论】:

  • 一如既往——完美运行。谢谢@Joris。米莎
  • 很好的答案,你为什么选择 qnorm 而不是 qt? object$df.residual 具有所需的 df 参数。
  • 我已经深入研究了正态分布与 t 分布的问题,您似乎应该将正态分布与 HC 矩阵一起使用,请参阅我的 question and answer on CrossValidated
猜你喜欢
  • 2013-07-07
  • 2014-06-30
  • 2018-01-02
  • 2013-09-18
  • 1970-01-01
  • 2017-10-23
  • 2023-03-27
  • 1970-01-01
  • 2017-11-03
相关资源
最近更新 更多