如何用Winbugs找到后验参数的概率

时间:2013-05-16 23:11:16

标签: bayesian winbugs mcmc

我的winbugs代码如下:

model
{
    for ( i in 1:N){ logit(p[i])<- alpha+ beta*x[i]
        y[i]~ dbin(p[i], n[i])
    }

    alpha~ dnorm(0,0.000001)
    beta~ dnorm(0,0.000001)
    pbeta<-step(beta-0)
}

list(N=20,
n=c(6, 7, 6, 8, 8, 5, 6, 6, 5, 8, 6, 5, 7, 6, 6, 7,6 , 6, 7, 3),
y=c(0,2,6,2,2,1,3,6,2,3,4,3,7,0,1,0,0,1,1,2),
x=c(25.7, 32.3, 49.6, 35.2, 35.9, 33.2, 39.8, 51.3, 32.9, 40.9,
43.6, 42.5, 50.4, 36.5, 34.1, 31.3, 28.3, 36.5, 37.4, 40.6))
list(alpha=0.1, beta=0.2)

运行此代码后,我有alpha和beta的后验分布。现在我想看P(beta>0)。他们说我可以使用pbeta<- step(beta)(pbeta被视为虚拟变量:如果beta=0则为0,如果beta>0则为1)。但是当我把它放在模型中时它会给我一个错误通知。

1 个答案:

答案 0 :(得分:0)

我看不出你的代码有什么问题,它适合我。什么是错误消息?

在一个不相关的问题上,如果你将协变量值置于其均值周围,你的MCMC链应该更有效地收敛。