【问题标题】:R: Regressions with group fixed effects and clustered standard errors with imputed datasetR:具有组固定效应的回归和具有估算数据集的聚类标准误差
【发布时间】:2017-08-18 09:24:42
【问题描述】:

我正在尝试在 R 中运行回归(多个模型 - 泊松、二项式和连续),其中包括群体(例如学校)的固定效应,以调整一般群体水平差异(基本上按群体贬低)和聚类标准错误考虑组中参与者的嵌套。我也在估算数据帧(用鼠标创建)上运行这些。似乎不同学科使用“固定效果”这个词的方式不同,所以我很难搜索到故障排除。

我已经拟合了随机截距模型(使用 lme4),但它们没有考虑学校的固定效应(而且我的研究问题对随机效应不感兴趣)。将这些组设置为假人可以极大地减慢运行速度。我也可以使用组假人运行单级 glm/lm,但我无法找到将标准错误与估算数据聚类的策略(尝试了 clusterSE 包)。我可以手动计算贬低,但似乎应该有更直接的方法来实现这一点。

我还查看了 lfe 包,但它似乎没有 glm 选项,并且 demeanlist 函数似乎与估算的数据帧不兼容。

在 Stata 中,命令是 xtreg, fe vce(集群变量),(fe = 固定效应,vce = 集群标准错误,添加 mi 以运行估算数据帧)。我可以切换到 Stata 进行建模,但如果可能的话,我肯定更愿意继续使用 R!

请让我知道这是否更好地发布在交叉验证中 - 我当时犹豫不决,但还是选择了这个,因为它似乎更像是一个编码问题。

谢谢!

【问题讨论】:

  • 查看plm 包以运行有限元面板模型,然后在lm.test 包的coeftest() 中运行以使用标准误差进行估计。看到这个Cross Validated post
  • 感谢您的帖子 - 我查看了 plm 包,但由于我没有面板数据,我认为它不合适。无论如何,该帖子上的 cmets 对使用 plm 很有帮助。

标签: r regression stata


【解决方案1】:

我会阻止引导程序。 “block”处理集群,“bootstrap”处理生成的回归量。

可能有一种更优雅的方法可以将其扩展到其他估算器,但这应该可以帮助您入门。

# junk data
x <- rnorm(100)
y <- 1 + 2*x + rnorm(100)
dat1 <- data.frame(y, x, id=seq_along(y))
summary(lm(y ~ x, data=dat1))

# same point estimates, but lower SEs
dat2 <- dat1[rep(seq_along(y), each=10), ]
summary(lm(y ~ x, data=dat2))

# block boostrap helper function
require(boot)
myStatistic <- function(ids, i) {
  myData <- do.call(rbind, lapply(i, function(i) dat2[dat2$id==ids[i], ]))
  myLm <- lm(y ~ x, data=myData)
  myLm$coefficients
}

# same point estimates from helper function if original data
myStatistic(unique(dat2$id), 1:100)


# block bootstrap recovers correct SEs
boot(unique(dat2$id), myStatistic, 500)

【讨论】:

  • 谢谢您-您的评论将我带到了具有块引导选项的 multiwayvcov 包。虽然它不适用于估算的数据,但它最终引导我使用miceadds 包的 lm.cluster/glm.cluster (rdrr.io/cran/miceadds/man/lm.cluster.html) 函数,一旦我添加 + 因子(簇变量)(到为每个组添加假人)到回归公式。
  • @ElizabethH -- 不错。我不知道这些包(我主要使用Stata)。我认为你应该解决你有一个生成的回归器。 Stata 使用 mi 为您执行此操作,但我不确定这些 R 包是否知道您已估算数据。引导是一种解决方案。
  • 我使用 'with' 命令在估算数据上运行它(类似于此处的 cmets - stackoverflow.com/questions/26473684/…)。万一以后有人提到这个问题,今天我还发现 glmmml 包有一个选项(glmmboot),但它只适用于泊松和二项式结果。
猜你喜欢
  • 2021-12-25
  • 2013-05-06
  • 2021-10-16
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 2019-12-23
  • 2015-05-30
  • 2014-10-13
相关资源
最近更新 更多