Internal convergence checking

Like any MCMC application, the results produced can not be relied upon without careful visual inspection of the posterior distributions produced from several independent runs.  BCal attempts to perform a limited amount of convergence checking automatically.  It is essential, however, that you understand that it is currently impossible to reliably detect convergence automatically.  The convergence checking facility provided in BCal is intended to complement reproducibility tests conducted by you (see the BCal tutorial).  It is by no means a replacement for such tests.

Convergence checking sensitivity

BCal utilises the Raftery & Lewis convergence diagnostic as implemented in CODA and thus supports a variety of different levels for the convergence checking sensitivity.  A high level of sensitivity will result in a very strict convergence diagnostic (the ideal case) and a low level of sensitivity will results in a very lenient convergence diagnostic (the least ideal case).  The higher the sensitivity, the greater the system requirement will be (on the BCal server machine).  BCal provides five levels of sensitivity within the internal convergence checker.  We strongly recommend you always use the highest level possible (level 5 is the most sensitive).  However, the demands of the convergence checker, in terms of system resources, increases as the project size increases.  Consequently, it is currently not possible to perform convergence checking on very large projects whilst using the highest level of sensitivity.  When calibrating a very large project, the most appropriate sensitivity level must be selected.  This will depend upon the number of parameters defined within the project.  The following table shows the maximum number of parameters you can have for each sensitivity level, as well as the minimum sample size that is required to obtain anything like reliable results.
 
Sensitivity level
Sample size required
Maximum parameters
level 1 4000 340
level 2 7000 200
level 3 11000 120
level 4 18000 70
level 5 26000 50

When you submit a project for calibration BCal will always ensure that the sensitivity level chosen is suitable with regard to the size of the project.  BCal will also check that the minimum number of samples you have defined is suitable, based upon the sensitivity level you have selected.

How the convergence checker operates

When you submit a project for calibration you specify the minimum sample size.  This becomes the first check point.  Once the number of iterations that have been simulated exceeds this check point, BCal runs the internal convergence checker for the first time.  If the MCMC data passes the convergence check at the selected sensitivity level BCal will stop the calibration and make the results available to you.  If the check is unsuccessful, BCal will set a new check point based upon the results obtained from the Raftery & Lewis convergence diagnostic.

The convergence checking process is repeated until either the MCMC data passes the test, or the maximum number of iterations is reached (currently 1,000,000).  If the maximum number of iterations is reached, the calibration is deemed to have a convergence problem.

The Raftery & Lewis convergence diagnostic checks for two different symptoms of convergence failure.  The first of these simply estimates whether sufficient simulations have been obtained given the number of parameters and the complexity of the problem under investigation (if this happens your project status will read "Convergence Problem").  The second is used to warn of high dependence between simulated values in your MCMC data (if this happens your project status will read "High Dependence factor").  In both of these cases BCal will not allow you access to the results of your calibration as they likely to be unreliable.

What to do if you have a convergence problem

If BCal informs you that your project has a "Convergence problem" it means that BCal has computed 1,000,000 iterations in an attempt to estimate the calendar dates of interest, but has been unable to obtain reliable results.  If this is a very large project (say more than 50 radiocarbon determinations) we recommend that you try to subdivide the project into several smaller chunks.  This has the benefit that you will get results more quickly while you investigate what the problem is.  If this is not a very large project or you have already subdivided it, it may be that you have imposed some very strict constraints using prior information.  You could try relaxing some of these to see if this solves the problem.  Problems of this sort are often caused by the fact that you have placed some restrictions on the calendar dates that are conflicting with one another.  Have a good look at all the constraints placed on the simulations (both in the project definition and the prior information) and consider whether you have included things that might be contradictory or over restrictive in some way.

If your calibration fails due to a "High dependence factor", it is because our internal checking suggests that you have a problem with high dependence between the simulated values for at least one of the parameters of your model.  This means that the results computed are not completely reliable and so have not been made available.  This problem usually arises when you provide prior information that is extremely restrictive or use model conditions that are too restrictive for the problem to hand.  We suggest that you try relaxing one or more of the constraints imposed and try again.  The sort of things to consider are:

  1. your use of abutting phase boundaries - are you certain that these shouldn't perhaps be modelled as overlapping or with hiatuses between them?
  2. your use of prior information - have you imposed very strict boundaries on something that could be overly restrictive?
If after experimentation to try to resolve convergence problems you are still unable to get BCal to provide useful results, please feel free to contact a member of the BCal team (info@bcal.shef.ac.uk) and we will do our best to find some time to help you out.

Move up a level