Hi Guys,
Thank you for all responses and especially I want to thank "minh vu" and
Andrew Thomas who gave me the correct direction. As the respondents
pointed out, dflat() introduces trouble negative numbers. A small change
can rescue this model: change dflat() to dunif(a,b) ( 0<a<b ). And if d is
in [0,1], beta(1,1) is a good prior distribution. Using abs to do
transformation doesn't work in my case because d has missing data.
For using ones-trick, Bernoulli distribution should not be forgotten which
I missed when I was typing the help. Actually, WinBUGS will not allow this
ones-trick pass. So we don't need to worry too much of missing it.
Below is the email of "minh vu" and I hope it could help other users in
this community.
Thanks,
Jean
Hi Jean,
here is what I think the problem is, statistcally speaking when dealing
with
the Gamma PDF f(x) we have the condition that our parameters alpha and beta
are always positive, and also we have the condition that 0 < x < oo.
If you were to plot up the Gamma PDF with say alpha = 2 and beta = 1, you
will clearly see that for positive x's values the graph is positively
bounded (with a right tail skew), but for negative x's values the graph is
negatively unbounded (with the pdf goin towards negative infinity).
So for this gamma function in which you specify in winBUGS as :
g[i] <- pow(mu.g,r)*pow(d[i],(r-1))*exp(-mu.g*d[i])/exp(loggam(r))
I think winBUGS doesn't recognises that you only intend to consider the
positive portion of the specified PDF and not the negative portion and
since
winBUGS doesn't recognise this it display that
TRAP 20 (precondition violated) page.
If you try replacing the term d[i] with abs(d[i]) I think the program will
update because now the new function is positively bounded for values (but
this making this replacement is riduculous as your posterior will look like
an abslolute-value gamma pdf which isn't what you wanted).
Another way to explain this is to look at the example given in the program,
go to:
Help > User Manual > Tricks Advanced Use of Bugs Language
and under the heading " Specifying a new sampling distribution" you should
see a blue link "new-sampling" click on this link.
In this example given by winBUGS, the author is specifying the Normal PDF
using the zeros trick. This work and can be updated because as we all know
the Normal PDF f(x) is never negative and is bounded positively for all
values of x, and it is for this reason that using the ones trick or zeros
trick works on the normal PDF and not the Gamma (and should work for any
other positively bounded function I should think).
So only positively bounded functions can be run and updated in winBUGS
(provided everything else is syntatically correct).
Well good luck with the program.
-------------------------------------------------------------------
This list is for discussion of modelling issues and the BUGS software.
For help with crashes and error messages, first mail [log in to unmask]
To mail the BUGS list, mail to [log in to unmask]
Before mailing, please check the archive at www.jiscmail.ac.uk/lists/bugs.html
Please do not mail attachments to the list.
To leave the BUGS list, send LEAVE BUGS to [log in to unmask]
If this fails, mail [log in to unmask], NOT the whole list
|