如何通过JAGS中的均值和标准差重新分类Beta分布?

时间:2018-01-14 05:17:17

标签: bayesian mcmc jags winbugs r2jags

在一个实验中,参与者可以使用策略X和Y的组合来解决问题。 θ是X的权重(范围从0到1,以Beta分布),可以某种方式从人类数据中推断出来(也许这里不需要详述)。

在我读过的a paper(第117页)1中,作者通过平均值和标准偏差重新参数化了θ的Beta分布。如何在JAGS中实现这一点?以下是我的尝试,我不确定它是否正确。如果没有,我想知道我应该做些什么。

model{
  for (i in 1:n) { # for each person
      theta[i] ~ dbeta(alpha, beta) # theta values come from data
  }
      alpha <- mu * phi
      beta <- (1-mu) * phi
      phi ~ dgamma(.1,.1)
      mu ~ dunif(0,1)
}

提前致谢,如果有任何细节需要我加入,请告诉我。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,我认为你的JAGS模型中存在对theta的误解。从你的问题来看,这听起来像你在想这个参数?但是在你的模型中,你有theta作为数据(抱歉,如果我误解你)。但无论如何,你通过重新定义alpha和beta来正确地重新参数化β分布的均值和方差,这样,使用上面的代码,你将得到E(x)= mu * phi和方差(x)= mu( 1-MU)/(PHI + 1)。

答案 1 :(得分:0)

您是否正在寻找类似的东西?

a <- mu / (sd * sd)
b <- (1-mu) / (sd * sd)
theta ~ dbeta(a, b)

其中,mu是平均值,sd是标准偏差。