R 带有lme4或其他包的稀疏混合模型
我在一个大文件(500000行)上使用混合模型。 我的模型公式如下所示:R 带有lme4或其他包的稀疏混合模型,r,matrix,sparse-matrix,lme4,mixed-models,R,Matrix,Sparse Matrix,Lme4,Mixed Models,我在一个大文件(500000行)上使用混合模型。 我的模型公式如下所示: Y~0+num1:factor1+num1:factor2+num2:factor3+factor4+(0+num3主语)+(0+num4主语)+(1主语), 其中num-数值变量因子-分类变量/因子 由于分类变量有许多独特的级别,因此固定效应矩阵为非常稀疏(稀疏度~0.9)。 如果处理密度如此高,则拟合这样一个矩阵需要大量时间和内存 我对线性回归也有同样的问题。 我的密集矩阵是20GB,但当我将其转换为稀疏矩阵时,它
Y~0+num1:factor1+num1:factor2+num2:factor3+factor4+(0+num3主语)+(0+num4主语)+(1主语)
,其中
num
-数值变量<代码>因子-分类变量/因子
由于分类变量有许多独特的级别,因此固定效应矩阵为非常稀疏(稀疏度~0.9)。如果处理密度如此高,则拟合这样一个矩阵需要大量时间和内存 我对线性回归也有同样的问题。
我的密集矩阵是
20GB
,但当我将其转换为稀疏矩阵时,它只变成了35MB
因此,我拒绝使用
lm
函数,而是使用了另外两个函数:
sparse.model.matrix
(创建稀疏模型/设计矩阵)和矩阵模型:::lm.fit.sparse
(用于拟合稀疏矩阵并计算系数)我可以使用哪些函数/包来实现此功能 也就是说,我的主要问题是是否有可能实现具有稀疏矩阵的混合模型?
我应该使用哪些函数来创建
X
和Z
稀疏模型矩阵?那么,我应该使用哪一个函数用稀疏矩阵拟合模型以获得系数 我将非常感谢您在这方面的任何帮助
- 从CRAN上的1.0.2.1版开始,
有一个glmmTMB
参数:sparseX
glmmTMB([formula],[data],sparseX=c(cond=TRUE))
(glmmTMB
默认使用family=“gaussian”
)
glmmTMB
对于线性混合车型的速度不如lme4
快:我不知道您的里程数(但我对这里感兴趣)。还有一些关于如何在lme4
中破解稀疏模型矩阵等价物的讨论(通过让多水平因子成为具有较大固定方差的随机效应)。非常感谢,今天我将尝试glmmTMB
。QQ-我已经查看了lme4
的源代码和modular.R
的第727行,它说sparseX
矩阵还没有实现,但你计划在将来实现它吗?另外,也许你知道,是否可以使用ASReml
包来实现稀疏混合模型?sparseX
已经在lme4愿望清单上很久了,除非有人自愿,否则我不会屏住呼吸。。。我不知道ASReml的功能。。。但这似乎有可能。。。