问题描述
通常,我的混合模型包含几个具有许多唯一级别的分类变量,因此X
矩阵非常稀疏。
我使用glmmTMB
包来稀疏处理X
和Z
矩阵。这大大减少了模型拟合期间的RAM使用量。glmmTMB
软件包很棒,但对我来说有一个问题(也许我缺少了什么):
当我在数字变量和分类变量(作为FE)之间使用 interactions 时,模型拟合就没有错误。
例如,此模型运行良好:
fit = glmmTMB(Y ~ 0 + num1:factor1 + num2:factor1 + factor2 +
(0 + num3|subject) + (0 + num4|subject) + (1|subject),model_data,REML = TRUE,sparseX=c(cond=TRUE))
但是当我在两个两个类别变量之间使用任何互动时,即公式看起来像这样:
fit = glmmTMB(Y ~ 0 + num1:factor1 + factor3:factor1 + factor2 +
(0 + num2|subject) + (0 + num3|subject) + (1|subject),sparseX=c(cond=TRUE)),
我收到以下错误:
iter: 5 Error in newton(par = c(beta = 1,beta = 1,:
Newton Failed to find minimum.
In addition: Warning message:
In (function (start,objective,gradient = NULL,hessian = NULL,:
NA/NaN function evaluation
outer mgc: NaN
Error in (function (start,:
gradient function must return a numeric vector of length 4
同时,在混合模型理论中,两个类别变量之间的相互作用是有效的。
此外,这种模型(具有两个因素之间的相互作用)已成功地与Julia
MixedModels
软件包相符。
请帮助我了解此错误的根源吗?
在具有两个类别变量之间的相互作用的模型中,有没有办法避免这种情况?
为什么此类模型只能用于Julia MixedModels
而不适用于glmmTMB
?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)