【问题标题】:How do I pull robust standard errors from multivariate logit in R?如何从 R 中的多元 logit 中提取稳健的标准错误?
【发布时间】:2019-09-29 01:33:54
【问题描述】:

我使用下面的代码(顶部)在 R 中进行了多元 logit 回归。现在我试图获得完全相同的回归的稳健标准误差。我也在使用下面的代码(底部),但是之后的意义会发生很大的变化。

我想知道我使用的代码是否合适,以及这是否可能与为什么某些变量在稳健 SE 估计之前但之后不重要有关。谢谢。

library(sandwich)
library(lmtest)
setwd("C:/...")
mydata <- read.csv(file="sextest.csv", header=TRUE, sep=",", na.strings=c(""))
sapply(mydata,function(x) sum(is.na(x)))
sapply(mydata, function(x) length(unique(x)))
model <- glm(LCC ~.,family=binomial(link='logit'),data=mydata)

require(foreign)
require(sandwich)
fitglm <- glm(LCC ~.,family=binomial(link='logit'),data=mydata)
cov.m1 <- vcovHC(fitglm, type = "HC0")
std.err <- sqrt(diag(cov.m1))
q.val <- qnorm(0.975)
r.est <- cbind(Estimate = coef(fitglm), "Robust SE" = std.err , z = (coef(fitglm)/std.err) , "Pr(>|z|) "= 2 * pnorm(abs(coef(fitglm)/std.err), lower.tail = FALSE) , LL = coef(fitglm) - q.val  * std.err , UL = coef(fitglm) + q.val  * std.err)
r.est

【问题讨论】:

    标签: r multivariate-testing mlogit robustness


    【解决方案1】:

    是的,使用三明治估计器将是获得 logit 模型的稳健标准误差的正确方法,并且您的代码看起来正确。

    并排比较正常标准误和稳健标准误,您很可能会发现稳健标准误更大一些。由于您的估计不受影响,这意味着某些参数将从显着变为无关紧要。这是常见的,基本上是你想要的。您计算稳健标准误是因为您认为正常的标准误是不正确的,例如异方差性,这可能会导致您错误地得出一个参数不重要的结论。

    【讨论】:

      猜你喜欢
      • 2015-02-06
      • 1970-01-01
      • 1970-01-01
      • 2020-12-22
      • 2012-03-04
      • 2020-10-18
      • 2020-03-14
      • 2020-05-12
      • 2016-12-16
      相关资源
      最近更新 更多