首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >稀疏混合模型与lme4或其他包

稀疏混合模型与lme4或其他包
EN

Stack Overflow用户
提问于 2020-11-03 15:56:59
回答 1查看 337关注 0票数 3

我在一个大文件(500000行)上使用混合模型。我的模型公式是这样的:

Y ~ 0 + num1:factor1 + num1:factor2 + num2:factor3 + factor4 + (0 + num3|subject) + (0 + num4|subject) + (1|subject)

其中num -数值变量;factor -分类变量/因素。

由于范畴变量具有多个唯一的层次,因此固定效果矩阵是​​非常稀疏的(稀疏性~0.9)。

拟合这样的矩阵,如果它是处理密集的,需要大量的时间和RAM。

我的线性回归也有同样的问题。

我的稠密矩阵是20GB,但是当我把它转换成稀疏矩阵时,它变成了35 MB

因此,我拒绝使用lm函数,而是使用另外两个函数:

  1. sparse.model.matrix (创建稀疏模型/设计矩阵)和
  2. MatrixModels:::lm.fit.sparse (用于拟合稀疏矩阵并计算系数)。

我能对混合模型应用类似的方法吗?

我可以使用哪些功能/包来实现这一点?

也就是说,我的主要问题是是否有可能实现具有稀疏矩阵的混合模型。

我应该使用哪些函数来创建XZ稀疏模型矩阵?

那么,用哪一个函数来拟合稀疏矩阵来得到系数呢?

我将非常-非常感谢任何帮助在这方面!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-03 16:14:31

  • 在CRAN上的1.0.2.1版本中,glmmTMB有一个sparseX参数:

sparseX:一个命名的逻辑向量,包含(可能)名为"cond“、"zi”、"disp“的元素,用于指示是否应该将特定模型组件的固定效果模型矩阵生成为稀疏矩阵,例如‘c(cond=TRUE)’。默认都是‘假’

您可能需要glmmTMB([formula], [data], sparseX=c(cond=TRUE)) (默认情况下,glmmTMB使用family="gaussian" )。

对于线性混合模型,glmmTMB不像lme4那样快:我不知道您的里程是多少(但这里会感兴趣)。这里还讨论了如何在lme4中破解稀疏模型矩阵的等价性(通过使多层因子成为具有较大固定方差的随机效应)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64666255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档