[logo]
The BUGS Project
The BUGS Project
version 0.5 manual


next previous contents
Next: 9 Topics in modelling Previous: 7 Processing output

8 Errors

Three types of problems can arise: errors detected by BUGS, errors detected by the computer operating system, and undetected errors.

8.1 Errors found by BUGS

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. Invalid value for node expected positive value --   occurs if an illegal inital value has been specified for a stochastic node.

  6. 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).

  7. 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.

  8. 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.

Additional comments

  1. 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.

  2. 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.

  3. 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.

8.2 Errors found by the operating system

  1. 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.

  2. 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.

8.3 Undetected errors

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 previous contents
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