【问题标题】:R weighted panel regression with random effect具有随机效应的 R 加权面板回归
【发布时间】:2023-03-18 02:12:02
【问题描述】:

有没有办法使用 weights 选项在 R 中估计 随机效应面板线性回归

对于固定效果,我可以简单地使用

lm(y ~ x + factors(id_variable), weights=wgt)

但是我正在寻找 RE,因为个人数量太大并且我达到了内存限制。

由于调查数据类型需要加权

如果在 R 中不可用,它是否在 stataSAS 中可用?

【问题讨论】:

    标签: r


    【解决方案1】:

    在我(有限的)经验中,多级模型的权重调查是一堆蠕虫(我主要遵循 Andrew Gelman 对此的看法,例如 this paperthis blog post about it;这是一个(未回答的)CrossValidated question 关于该主题) .换句话说,在您担心计算问题之前,您可能必须解决一个统计问题(处理这个问题的正确方法是什么?)。

    我确实认为 Stata 和/或 SAS 提供了这样的功能(请参阅上面的 CrossValidated 链接),但我不能告诉你太多关于它们的信息。

    但是,如果您不想要/不需要随机效果,即您只想处理具有大量固定效果的问题,您应该能够使用this question 中的稀疏模型矩阵,如下面的例子。

    仍然由您自己决定如何处理权重。我不相信lmglmlme4 等中的weights= 参数可以处理调查权重。我相信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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-29
      • 1970-01-01
      • 2012-08-13
      • 1970-01-01
      • 2015-06-20
      • 2020-12-15
      • 2014-10-08
      • 2017-08-10
      相关资源
      最近更新 更多