0

我的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 被视为虚拟变量: 0 ifbeta=0和 1 if beta>0)。但是当我把它放在模型中时,它给了我一个错误通知。

4

1 回答 1

0

我看不出你的代码有什么问题,它为我运行。错误信息是什么?

在不相关的问题上,如果您将协变量值集中在它们的平均值周围,您的 MCMC 链应该更有效地收敛。

于 2013-05-17T11:27:49.610 回答