1

在一项实验中,参与者可以使用策略 X 和 Y 的组合来解决问题。θ 是 X 的权重(范围从 0 到 1,分布为 Beta),它可以通过某种方式从人类数据中推断出来(此处或许无需赘述)。

在我阅读的一篇论文(p. 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)
}

在此先感谢,如果有任何我应该添加的细节,请告诉我!

4

2 回答 2

0

你在寻找这样的东西吗?

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

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

于 2018-07-02T20:18:49.710 回答
0

如果我理解正确,我认为您的 JAGS 模型中的 theta 存在误解。从您的问题来看,您似乎将 theta 视为参数?但是在您的模型中,您将 theta 作为数据(对不起,如果我误解了您)。但不管怎样,您已经通过重新定义 alpha 和 beta 来正确地重新参数化 beta 分布的均值和方差,这样,使用上面的代码,您将拥有 E(x) = mu * phi 和 variance(x) = mu( 1-mu)/(phi+1)。

于 2018-05-30T17:48:02.767 回答