【问题标题】:k-fold cross validation for GLMM S4 class model objectGLMM S4 类模型对象的 k 折交叉验证
【发布时间】:2013-12-19 14:45:08
【问题描述】:

我有一个使用 R 中的 glmer 函数拟合的 GLMM 对象,并且想要执行 k 折交叉验证。对于简单的 GLM,我使用了 DAAG pkg 中的 CVbinary 函数,如下所示。

> SimpleGLM <- glm(Res ~ Var1 + Var2, data = Data, family=binomial)
> CVbinary(SimpleGLM,  nfolds=10, print.details=TRUE)

Fold:  3 2 4 1 7 10 6 9 5 8
Internal estimate of accuracy = 0.828
Cross-validation estimate of accuracy = 0.827

但是,当将 IndID 的随机项添加到模型中时,与 glmer 拟合的模型的 S4 类会导致错误(如下)。

GLMMod <- glmer(Res ~ Var1 + Var2 + (1|IndID), data = Data, family=binomial)
> CVbinary(GLMMod ,  nfolds=10, print.details=TRUE)

Error in obj$data : $ operator not defined for this S4 class

我一直在网上寻找,但无法找到类似于 CVbinary 的函数,它适用于 S4 对象,但在我手动编码之前想在这里仔细检查一下。

简而言之,(假设我正确解释了R 错误)是否有对 S4 对象执行 k 折交叉验证的函数?

【问题讨论】:

标签: r lme4 s4


【解决方案1】:

建议您检查该问题背后的统计假设。当专家对此进行评估以评估单个因素的 p 值时,他们强调需要在适当注意随机因素规范所暗示的研究设计的情况下进行引导。请参阅"draft" GLMM FAQ。 (感谢@BenBolker 对该资源的作者身份和维护。它在去年有了很大的扩展,现在甚至有一些kewl 图形。它正在成为一本书的章节。)DAAG 的作者还出版了 DAAGxtras,它有使用 pkg:lme4 中新引入的 predict 方法后可以设置的 compareModels 函数

还有混合模型-in-R 存档的资源:@​​987654322@

【讨论】:

  • 感谢您的资源。
  • 注意开发/当前版本的 GLMM 常见问题有moved
  • 我不明白如果尚未提出任何功能,为什么这个问题被标记为已回答。
猜你喜欢
  • 2016-11-15
  • 2018-12-17
  • 2016-01-15
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 2020-12-01
  • 1970-01-01
  • 2020-08-29
相关资源
最近更新 更多