2013-05-16 2 views
0

Мой winbugs код выглядит следующим образом:Как найти вероятность параметра задней с 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) 

После выполнения этого кода, я апостериорное распределение альфа и бета. Теперь я хочу увидеть P(beta>0). Они сказали, что я могу использовать pbeta<- step(beta) (pbeta обрабатывается как фиктивная переменная: 0, если beta=0 и 1, если beta>0). Но когда я положил его в модель, он дал мне уведомление об ошибке.

ответ

0

Я не вижу ничего плохого в вашем коде, и это работает для меня. Каково было сообщение об ошибке?

Что касается не связанных между собой вопросов, то ваши цепочки MCMC должны сходиться более эффективно, если вы центрируете значения ковариата вокруг их среднего значения.

+0

Спасибо за ваш ответ, на самом деле, теперь он работает. Я не знаю, почему, я сделал то же самое, но это работало только в конце дня. – Thaole

Смежные вопросы