首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dirichlet-多项式WinBUGS码

Dirichlet-多项式WinBUGS码
EN

Stack Overflow用户
提问于 2014-06-22 08:57:22
回答 1查看 4.3K关注 0票数 4

我试着用BUGS编写一个dirichlet多项式模型。基本上,我有18个地区和3个类别的每个地区。例如,1: 0.50属于低,0.30属于中,0.20属于高。这个列表继续到18区,当然有不同的proportions.The,只有我得到的代码是

代码语言:javascript
复制
`model  {
 for (i in 1:N) {
 x[1:3] ~ dmulti(p[],n[i])
 p[1:3] ~ ddirch(alpha[])
 }
 for (k in 1:3) {
 alpha[k] <- 1
 }
 }
 DATA list(n=c(38483, 2259, 1900),x=c(29256.42719, 1857.431404, 1548.007808, 29256.42719, 1857.431404, 1548.007808, 29256.42719, 1857.431404, 1548.007808), N=3)`

例如,我把它缩短到三个区域。它在单击“gen”后声明'Dirichlet36‘。请帮我把这个编码。

EN

回答 1

Stack Overflow用户

发布于 2014-08-16 08:09:15

这可能会有帮助(来源):

关于Dirichlet分布参数的学习 假设作为模型的一部分,有j概率数组pj,1:K,j= 1,…,J,其中K是每个数组的维数,和(pj,1:K) =1,我们给它们一个Dirichlet先验: pj,1:K ~ ddirch(alpha[]) 我们想了解一下alpha[]。但是,Dirichlet分布的参数alpha[]不能是随机节点。诀窍是,如果deltak ~dgamma(α,1),则元素deltak /sum(deltak 1: K ),k= 1,…,K的向量是Dirichlet,参数为αK,k= 1,…,K。因此,下面的构造应该允许学习参数alpha[]: 对于(k in 1:K) { pj,k <- deltaj,k/ sum(deltaj,) deltaj,k~ dgamma(alphak k,1) } 优先顺序可以直接放在字母上。

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

https://stackoverflow.com/questions/24349692

复制
相关文章

相似问题

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