Faculty of Medical and Health Sciences
Department of Pharmacology & Clinical Pharmacology, University of Auckland
Faculty of Medical and Health Sciences
Department of Pharmacology & Clinical Pharmacology, University of Auckland

NONMEM's SIGDIG Convergence Criterion

See this page for some discussion of what convergence means.

Stuart Beal decided to use a criterion that all parameters should have >= SIGDIG significant digits. Another criterion could have been an OBJ value that changed by less than FOBJ where FOBJ might be 0.001. I would have preferred the latter criterion because it seems like NONMEM wastes a lot of time crunching through iterations with no reported change in OBJ. I dont believe the parameter estimates are really any better after this activity.

Other similar programs (e.g. WinBugs, Monolix) don't have a convergence criterion but ask the user to decide by looking to see if they have found a fuzzy caterpillar rather then a wiggly worm (strange but true!).

Picking a SIGDIG of 3 is just traditional - like using a Type 1 (alpha) error of 0.05 for hypothesis testing. For convenience, most people use SIGDIG of 3 so they don't have to spend time explaining why they might prefer 2 or 4.

My own preference is 6 because I happened to come across a simple 2 cpt PK problem with NONMEM V that got the right answer (which was known a priori) with SIGDIG=6 but converged prematurely with SIGDIG=3. A SIGDIG of 5 was almost as good as 6 but 4 was wrong but not as bad as 3. NONMEM VI does better than NONMEM V but still terminates prematurely with SIGDIG=3. My conclusion from this one example is that SIGDIG=3 is not a reliable convergence criterion even with NONMEM VI.

The problem used data simulated with a mammillary model but estimation was done with either a mammillary model (mam) or a model which assumed elimination from the peripheral compartment (rec). These models are known to be exactly equivalent but with SIGDIG=3 the OBJ values were clearly different. With SIGDIG=6 the OBJ values were identical.

Intel 9.1 F77 Intel Pentium
METHOD=COND, additive residual error
+ means $COV ran successfully

Run Obj Eval Sig
mam_mam_6 -1519.243 85 +6.5
mam_rec_6 -1519.243 78 +6.3
mam_mam_5 -1519.229 106 +5.3
mam_rec_5 -1519.228 78 +5.3
mam_mam_4 -1517.777 33 3.9
mam_rec_4 -1519.105 70 +4.7
mam_mam_3 -1517.777 30 +4.2
mam_rec_3 -1406.731 32 2.9
Run Obj Eval Sig
mam_rec_6 -1519.243 104 +8.7
mam_mam_6 -1519.243 101 +6.5
mam_rec_5 -1519.243 93 +5.2
mam_mam_5 -1519.243 101 +5.5
mam_rec_4 -1519.240 93 +4.3
mam_mam_4 -1519.241 92 +4.5
mam_rec_3 -1519.021 115 +3.1
mam_mam_3 -1518.920 49 +3.2