首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rjags错误ilogit的向量参数无效

rjags错误ilogit的向量参数无效
EN

Stack Overflow用户
提问于 2017-08-14 23:11:37
回答 1查看 1.4K关注 0票数 1

我想使用rjags来比较betareg回归和相同的回归。

代码语言:javascript
复制
library(betareg)
d = data.frame(p= sample(c(.1,.2,.3,.4),100, replace= TRUE),
               id = seq(1,100,1))

# I am looking to reproduce this regression with jags
b=betareg(p ~ id, data= d, 
          link = c("logit"), link.phi = NULL, type = c("ML"))
summary(b)

下面我试着用rjags做同样的回归。

代码语言:javascript
复制
#install.packages("rjags")
library(rjags)
jags_str = "
model {
#model

y ~ dbeta(alpha, beta)
alpha <- mu * phi
beta  <- (1-mu) * phi
logit(mu) <- a + b*id

#priors
a  ~ dnorm(0, .5)
b  ~ dnorm(0, .5)
t0 ~ dnorm(0, .5)
phi <- exp(t0)
}" 
id = d$id
y = d$p
model <- jags.model(textConnection(jags_str), 
                    data = list(y=y,id=id)
)
update(model, 10000, progress.bar="none"); # Burnin for 10000 samples
samp <- coda.samples(model, 
                     variable.names=c("mu"), 
                     n.iter=20000, progress.bar="none")

summary(samp)
plot(samp)

我在这一行得到一个错误

代码语言:javascript
复制
 model <- jags.model(textConnection(jags_str), 
                        data = list(y=y,id=id)
    )

Error in jags.model(textConnection(jags_str), data = list(y = y, id = id)) : 
  RUNTIME ERROR:
Invalid vector argument to ilogit

你能给我一些建议吗

(1)如何修复错误

(2)如何设置beta回归的先验

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-15 21:37:19

出现此错误的原因是您向标量函数logit提供了id向量。在Jags中,反向链接函数不能矢量化。要解决这个问题,需要使用for循环遍历id的每个元素。为此,我可能会在您的数据列表中添加一个额外的元素,表示id有多长。

代码语言:javascript
复制
d = data.frame(p= sample(c(.1,.2,.3,.4),100, replace= TRUE),
           id = seq(1,100,1), len_id = length(seq(1,100,1)))

在那里,你只需要对你的jags代码做一个小的编辑。

代码语言:javascript
复制
for(i in 1:(len_id)){
y[i] ~ dbeta(alpha[i], beta[i])
alpha[i] <- mu[i] * phi
beta[i]  <- (1-mu[i]) * phi
logit(mu[i]) <- a + b*id[i]
}

然而,如果你跟踪mu,它将是一个20000 (迭代次数)乘以100 (id长度)的矩阵。您可能对实际参数(abphi)更感兴趣。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45677668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档