【发布时间】:2019-10-31 14:40:06
【问题描述】:
我正在尝试在 Haskell 中复制 lme4 的一些子集。我已经或多或少地管理了lmer 部分,其结果与 Bates (2009)“lme4 中的线性混合模型实现”论文中的示例相匹配。所以现在我进入了广义的位。
稍微让人放心的一件事是,我可以使用高斯族和恒等链接函数在 lmer 示例上运行我的 glmer 等效项。所以事情并没有大错特错。
但是当我尝试匹配 cbpp 示例时,即使是我尝试匹配的非常简化的版本
example <- glmer(incidence/size ~ 1 + (1 | herd), data = cbpp,
family = binomial(), weights = size)
事情不正常。我的意思是我的 Haskell 版本 (https://github.com/adamConnerSax/glm-haskell/blob/GLMMs/test/glm/GLMM-test.hs) 不会收敛到相同的答案。
有两件事会很有帮助:
对于 glmer 算法,有没有比 Bates 的各种论文(2007、2009、2018)更好的参考?这些都在 LMM 部分有很多细节,但在 GLMM 位上却少得多。
假设我运行了上面的代码,结果为
example。在 lme4 中,有没有办法在给定的beta和u处获取各种偏差函数的值而不是解决方案?我可以只运行迭代重加权最小二乘法以获得固定值theta,而不是运行整个优化循环吗? R 和我的 Haskell 代码之间的比较点越多,我就越容易看出哪里出错了。
【问题讨论】:
-
我对其进行了编辑以显着缩小其范围。抱歉太宽泛了!可以不举行吗?谢谢!
-
"Things don't work" 作为对您的问题的描述几乎毫无用处——而且不一定正确,因为您的示例可以被复制并且运行良好。如果您可以提供您所面临问题的可重现示例,这很可能适合Stack Overflow。
-
好的!又试了一次。我在这个论坛上提问是因为我认为了解 glmer 工作原理的人最有可能提供帮助。但是你想让我缩小问题的范围。最重要的部分是 R 调试,我可以看到剩下的内容可能更适合 stackoverflow。我知道“事情不起作用”并不是特别有用。我现在链接到我的非工作 Haskell 代码,以防有人想重现我的问题。但我希望得到更多关于算法的信息以及一些关于如何在 R 中获得中间结果以进行调试的提示。
标签: r