You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在sommer R包中正确指定嵌套随机效应结构?

正确在sommer中指定嵌套结构的方法

你当前的代码存在重复拟合genotype随机效应的问题,这确实可能导致方差估计偏差,进而让CV准确率虚高。以下是对应lme4中(1|genotype/root_ID)嵌套结构的正确写法:

核心逻辑

lme4的(1|genotype/root_ID)等价于同时拟合两个随机效应:

  • 基因型(genotype)的随机截距
  • 基因型内根ID(root_ID)的嵌套随机截距

在sommer中,若你要给genotype指定加性遗传矩阵Gu=a,只需把普通的基因型随机效应替换为vsr(genotype, Gu=a),再保留嵌套的genotype:root_ID项即可,不要额外重复添加genotype项。

修正后的代码

mod1 <- mmer(Y ~ 1,
             random= ~ vsr(genotype, Gu=a) + genotype:root_ID,
             rcov= ~units, nIters=10,
             data=fold, verbose = FALSE, dateWarning=FALSE)

额外说明

  • 如果你想明确用vsr()包裹嵌套项,也可以写成vsr(genotype:root_ID),效果和直接写genotype:root_ID一致
  • 重复添加genotype项会让模型同时拟合加性遗传版和普通随机截距版的基因型效应,这会人为放大模型的解释能力,导致CV准确率被高估

内容的提问来源于stack exchange,提问作者bigoof99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 02:57:05