有没有办法使用权重选项估算R中的随机效果面板线性回归?
对于固定效果,我可以简单地使用
lm(y ~ x + factors(id_variable), weights=wgt)
然而,我正在寻找RE,因为个人数量太大而且达到了记忆限制。
由于调查数据类型
,需要加权如果R中没有,是否可以 stata 或 SAS ?
答案 0 :(得分:2)
在我的(有限的)经验调查中,多级模型的权重是一堆蠕虫(我主要遵循Andrew Gelman对此的看法,例如this paper或this blog post about it;这里是(未答复的){{3关于这个话题)。换句话说,在担心计算问题之前,您可能必须解决统计问题(处理此问题的正确方法是什么?)。
我确实认为Stata和/或SAS提供了这样的功能(请参阅上面的CrossValidated链接),但我不能告诉你很多。
但是,如果您不想要/需要随机效果,即您只想处理大量固定效果的问题,您应该能够像CrossValidated question中那样使用稀疏模型矩阵,如下例所示。
你仍然需要弄清楚如何处理权重。我不认为weights=
,lm
,glm
等中的lme4
参数处理调查权重。我相信survey
包非常复杂,但我不知道它的surveyglm()
函数是否可以处理/有稀疏模型矩阵的选项......
library("Matrix")
library("MatrixModels")
set.seed(101)
ngrps <- 1e3
nobs <- 10
ntot <- nobs*ngrps
d <- data.frame(y=rnorm(ntot),
x=rnorm(ntot),
f=gl(ngrps,nobs))
object.size(X1 <- model.matrix(~x+f,data=d)) ## 80 MB
object.size(X2 <- sparse.model.matrix(~x+f,data=d)) ## 709K
system.time(m1 <- MatrixModels:::lm.fit.sparse(X2,d$y)) ## 0.004 seconds
system.time(m2 <- lm.fit(X1,d$y)) ## 9 seconds