使用 MCMCglmm 在之前设置 G,具有分类响应和系统发育

Posted

技术标签:

【中文标题】使用 MCMCglmm 在之前设置 G,具有分类响应和系统发育【英文标题】:Set G in prior using MCMCglmm, with categorical response and phylogeny 【发布时间】:2016-03-14 20:04:21 【问题描述】:

我是 R 中 MCMCglmm 包的新手,对 glm 模型一般来说是新手。我有一个物种特征数据集,以及它们是否被引入到它们的原生范围之外。

我想测试是否可以通过任何物种特征来解释被引入(作为二进制 0/1 响应变量)。我还想纠正物种之间的系统发育。

有人告诉我,对于二元响应,我可以使用 family =“threshold”,并且我应该将残差方差固定为 1。但是我在使用先验所需的其他参数时遇到了一些问题。

我已经为随机效应指定了 R 值,但如果我指定 R,我还必须指定 G,我不清楚如何确定该参数的值。我尝试输入默认值,但收到错误消息:

Error in MCMCglmm(fixed, random = ~species, data = data2, family = "threshold",  : 
prior$G has the wrong number of structures

我已阅读帮助小插曲和课程,但没有找到二进制响应的示例,我不清楚如何确定先验的值。这是我目前所拥有的:

fixed=Intro_binary ~ Trait1+ Trait2 + Trait3 
Ainv=inverseA(redTree1)$Ainv

binary_model = MCMCglmm(fixed, random=~species, data = data, family = "threshold", ginverse=list(species=Ainv),
 prior = list( 
    G = list(),    #not sure about the parameters for random effects.
    R = list(V = 1, fix = 1)),  #to fix the residual variance at one
  nitt = 60000, burnin = 10000) 

任何帮助或反馈将不胜感激!

【问题讨论】:

【参考方案1】:

您提供的信息有点棘手。我想说您可以在使用之前将G 定义为“弱”:

priors <- list(R = list(V = 1, nu = 0.002),
               G = list(V = 1, fix = 1)))

binary_model <- MCMCglmm(fixed, random = ~species, data = data,
                         family = "threshold",
                         ginverse = list(species = Ainv),
                         prior = priors,
                         nitt = 60000, burnin = 10000) 

但是,如果没有关于您的分析的更多信息,我强烈建议您绘制后验图以查看结果,看看是否有任何问题。查看MCMCglmm 包Course Notes 以获取有关如何设置这些先验的更多信息(尤其是在第 1.5 节中要做的事情 - 您还可以找到有关如何调整的更多具体信息如果它适合本教程的类别,则将其添加到 您的 模型中)。

【讨论】:

以上是关于使用 MCMCglmm 在之前设置 G,具有分类响应和系统发育的主要内容,如果未能解决你的问题,请参考以下文章

r MCMCglmm相关功能

主机开机显示器无显示,主机响1声长2声短,主机能启动,这台显示器在其它机器上能用,我也可以用别的?

电脑开机蜂鸣器响是啥情况

在训练 SVM 对图像进行分类时设置具有序列错误的数组元素

G-Ghost-RegNet实战:使用G-Ghost-RegNet实现图像分类任务(二)

G-Ghost-RegNet实战:使用G-Ghost-RegNet实现图像分类任务(二)