The BUGS Project
The BUGS Project
version 0.5 manual
Next: 9 Topics in modelling
Previous: 7 Processing output
Three types of problems can arise: errors detected by BUGS, errors
detected by the computer operating system, and undetected errors.
We hope that the error messages
given out by BUGS are
reasonably straightforward to follow. Below we have listed some of the common error messages with a brief explanation:
- Allowed number of function evaluations exceeded for ARS
or Cannot locate mode of sampling distribution
-- these errors may occur during sampling and may mean the initial values are grossly inappropriate, or
more likely that there is essentially no information in the
likelihood or the prior and so the sampling procedure is scrabbling
around. Try using a more informative prior or changing the initial
values.
- Expected a parameter or Expected a variable name --
results from failing to declare a node in the var statement; these error messages should as give a pointer to the line and column number
of the undeclared node.
- Expected entry in data file to be either a number or NA --
occurs if there is insufficient data in the .dat file to fill the specified variables.
- Index expression greater than array bound --
occurs the array in the data file is longer or shorter than that defined in the model specification, or if an array index used in the model specification is greater than the maximum dimension of the array declared in the var statement.
- Invalid value for node expected positive value --
occurs if an illegal inital value has been specified for a stochastic node.
- Node already inferred to be data or stochastic --
occurs when BUGS is presented with a conflict in type of node.
A typical example is when a deterministic function of a stochastic node is
given an initial value, or when a scalar quantity is defined within a loop. Always
check that each node in the graph appears once and only once on the
left hand side of the model specification (with the exception
noted in Section 4.13).
- Node
has undefined parent
or No prior specified for node --
occurs if a stochastic node is included in the model (i.e. as a parameter of another distribution), but is not itself provided with a distribution.
- Unable to choose update method for node
--
means that
BUGS has not positively concluded log-concavity. The sampling
may actually be log-concave, but it has not been detected, and
currently this means that BUGS will not continue, although
see the suggestion in Section 3 concerning the use of categorical
variables. Please let
us know of examples where you know log-concavity exists, but it has not
been detected.
- The compilation may not be able to generate feasible starting values after 100
attempts. This may occur in genetic problems, but also in continuous
data such as mixtures. Change initial values of
precision parameters to be low in order to make data plausible, and check that
you have specified realistic initial values for any missing data and regression
coefficients. Virtually all our examples use an initial value of zero for all
regression coefficients: however, this is not always appropriate, so care is required.
- Common errors, such as leaving off semi-colons at the end
of a line, are not always detected on the line in which the error
is made.
- We have noted the problems on some Sparc workstations that the
program does not respond to the return
key.
Ctrl J can then be used instead.
- Memory fault or Segmentation fault
will occur when an array is referred to outside
its declared length. Check that the right index is being used in any
for loops, and that array sizes in data and initial value files
match those in the var declaration. This error is also
currently given if a named .bug, .dat or .in file does not
exist.
- LOG SING error occurs when doing impossible things with 0
or a negative number, like
taking log of it. This may occur when attempting to sample
way out in the tails of a distribution. Check definitions and starting values carefully.
The primary concern is apparent convergence to an inappropriate
point. Our general strategy is discussed in Section 9.1,
and is essentially as follows: start from small models
which have been used in other software, and check convergence carefully
from a variety of starting points, and maybe different
parameterisations.
The other point to emphasise is that BUGS has no procedure for
checking that conditional distributions, if directly specified using
the `over-ride' facility described in Section 9.10, define a
correct joint distribution. Thus although a warning is given that a Possible cycle or undirected link has been detected,
it is entirely the responsibility of the user to
check that a full joint probability distribution is defined.
Next: 9 Topics in modelling
Previous: 7 Processing output
Comments to bugs@mrc-bsu.cam.ac.uk
© 1995 MRC Biostatistics Unit
Return to the Welcome Page