Re: Changing significant digits
From:Leonid Gibiansky
Subject:Re: [NMusers] Changing significant digits
Date:Mon, 22 Jul 2002 08:39:34 -0400
Hi Steve,
My understanding is that there are some internal iteration loops that
NONMEM runs until some precision is obtained. This precision is controlled
(in addition to something else) by the number of significant digits
required for the computations. Therefor, these loops stop at different
points depending on the number of significant digits requested. Since the
problem is highly non-linear, even small changes at each step may produce
visible changes in the output. My impression is that there are several
different places where the number of significant digits is used: one for
internal convergences, and another one to estimate of the number of
significant digits in the resulting parameter estimates. Sometimes the
modeling process looks like hunting: when you request 3 significant digits,
the problems stops with the message that you got only 2.5 digits.
Requesting 4 results in 3.5. If you ask for 7, you get 6.3. I am not sure
whether it is possible, but it would be helpful to have 2 parameters: one
for internal computations and one for the final parameter estimates. Then
you would be able to request all intermediate computations done with 5
significant digits, but would accept final output with 4 or 3 digits. Then
this "hunting process" would result in convergence rather than
disappointment.
I usually do the following: if changes in requested significant digits
(the hunt process described above) does not lead to any significant changes
in the objective function (no more than 2-3-4 units) or in the parameter
values (say, no more than 3-4%) then I view this as a technical issue that
can be resolved by changing the initial values or even accepting the run if
the number of digits in the result is more than 3. Alternatively, if
changes in significant digits result in large changes of the OF or
parameters, then the model is unstable and has to be corrected.
Leonid