【发布时间】:2018-04-17 20:20:50
【问题描述】:
我在 JAGS 中有标记重新捕获模型,我想编写分类变量和连续变量之间的交互。
ngr 是组数
nind 是我的标记重新捕获模型中的个体数量
gr.sp[ind] 只是在我的数据库中搜索属于个人 ind 的组
ngr是组数
先验:
phi.precip ~ dnorm(0,0.01)
for(groups in 1:ngr) {
phi.gr[groups] ~ dnorm(0, 0.01)
}
这是我的模型可能性的一小部分:
...
for(ind in 1:nind) {
for(yr in 1:nyear) {
logit(phi[ind,yr]) <- e.phi[ind,yr]
e.phi[ind,yr] <-
phi.gr[gr.sp[ind]] + # Categorical variable telling how much belonging to a certain group changes your fitness
phi.precip * sum.rainfall[yr] + # Effect of rain on my individuals
phi.gr.precip * phi.gr[gr.sp[ind]] * sum.rainfall[yr] # This is the interaction between the categorical and the continuous I'm trying to code.
}
...}
首先,您如何定义phi.gr.precip 的先验?应该是这样的:
for(groups in 1:ngr) {
phi.gr.precip[groups] ~ dnorm(0, 0.01)
}
但是,我不知道如何实现它。
其次,phi.gr.precip 应该如何编码以包含个人所在的群体 (gr.sp[ind]) 和气候 (sum.rainfall[yr],代表一年中的降雨量) 之间的相互作用?
编码类似like 的交互似乎需要phi.gr.precip 中与分类变量中相同数量的参数。但这需要我在可能性中循环:
...
for(ind in 1:nind) {
for(yr in 1:nyear) {
logit(phi[ind,yr]) <- e.phi[ind,yr]
e.phi[ind,yr] <-
phi.gr[gr.sp[ind]] +
phi.precip * sum.rainfall[yr] +
for(groups in 1:ngr) {
phi.gr.precip[groups] * phi.gr[gr.sp[ind]] * sum.rainfall[yr]
}
}
...}
当我运行模型时,这不起作用。
【问题讨论】: