68 $EST Record Options (Classical)
1 $EST: Improvement in Estimation of Classical NONMEM Methods
In pre-NM7 NONMEM installations, the classical first order conditional estimation methods tended to be particularly sensitive to the formation of a non-positive definite Hessian matrix during the estimate of etas. In NONMEM 7, if the user selects NOABORT as a $EST option, most Hessian matrices will be forced to be positive definite if not already, allowing the program to continue, and abnormal termination of an estimation will occur less often. The occasional occurrence and correction of non-positive definite Hessian matrices during the intermediate steps does not typically result in erroneous results. Even with the NOABORT option, there is one remaining component in the NONMEM algorithm for which positive definite correction is not performed, which can still cause problems at the beginning of an estimation. It remains so the user may diagnose a serious problem in the setup of the estimation. Should this still be a nuisance, as of NONMEM 7.2.0 the user may select the NOHABORT option, which will perform positive definite correction at all levels of the estimation, but it can hide a serious ill-posed problem, so use with care. Also, NOHABORT will cause NONMEM to ignore any errors (and not print them after 10 occurrences as of NONMEM 7.4) that occur during the evaluation of variables for the $TABLE step (when NP4F is called), and the variables printed in tables should therefore be cautiously assessed.
1.1 Resetting the Search to Circumnavigate Saddle Points and Detect Inestimable Parameters (NM74)
Sometimes the variable metric search algorithm used for FO/FOCE/Laplace ends near a local minimum with an eigenvalue that is near zero, suggesting a saddle point or inestimable or non-identifiable parameters. You can request the saddle point reset, which repositions the values about 1 OFV unit away, and resumes the search, in hopes of continuing toward a minimum with a smaller OFV. This is based on the method by Yasunori and Nyberg, in the Perl Speaks NONMEM software. If the final OFV results is nearly the same value as just before the saddle point reset, and one or more of the final parameters differ from those just before the saddle reset (see .ext file, or Nparameters on the iteration just before the saddle reset mark), then this suggests that those parameters may be inestimable or non-identifiable.
1.1.1 SADDLE_RESET=0 (default) (NM74)
SADDLE_RESET is the number of times that you wish a reset to occur in the course of the search. Normally, you should request just 1.
1.1.2 SADDLE_HESS=0 (default) (NM74)
SADDLE_HESS=0 selects the Hessian matrix last generated by the variable metric method. This Hessian is not the true second derivative, but is a guaranteed positive definite matrix. Perturbing the estimates using this matrix requires very little computation, and is often sufficient to reposition the problem away from a saddle point. If SADDLE_HESS=1, then the full second derivative information matrix (identical to R matrix in the $COV step) will be evaluated, and used to reposition the estimates. This may work better than the SADDLE_HESS=0 setting, but the computational expense is high, equivalent to that of a $COV step.
2 Controlling the Accuracy of the Gradient Evaluation and Individual Objective Function Evaluation
In classical NONMEM methods (First order, First order conditional, Laplace), the user specifies SIGDIGIT or NSIG to indicate the number of significant digits that population parameters are to be evaluated at the maximum likelihood. If NSIG=3 (the default), then the problem would be optimized until all of the parameters varied by less than 3 significant digits. This same NSIG value would also be used to specify relative step size (h) to each THETA, SIGMA, and OMEGA, for evaluating the partial derivative of the objective function with respect to the parameter. Such partial derivative evaluations are needed to set up gradients to determine the direction the search algorithm must travel to approach the minimum of the objective function.
The forward finite difference of the partial derivative of O (the objective function) with theta(1) would be evaluated as
\[ \frac{O(\theta(1+h)) - O(\theta(1))}{\theta(1) h} \]
Numerical analysis of forward finite difference methods (Press et al. 1992) recommends that the ideal relative step size h for the parameter theta(1) should be no greater than SIGL/2, where SIGL is the significant digits to which the objective function is evaluated. If h is set to a precision of SIGL/2 (which for the present discussion we mean it is set to \(10^{-SIGL/2}\)), then the resulting derivative itself will have approximately SIGL/2 precision as well.
In the main search algorithm, finite central difference methods are also used. These are evaluated as:
\[ \frac{O(\theta(1+h)) - O(\theta(1-h))}{2 \theta(1) h} \]
Numerical analysis of central finite difference methods recommend that the ideal relative step size h for the parameter theta(1) should be no greater than SIGL/3. If h is set to SIGL/3, then the resulting finite difference value itself will have approximately 2*SIGL/3 precision.
The main search algorithm also utilizes pseudo-second derivative type evaluations using forward difference methods. For these calculations, an ideal h would be \(10^{-SIGL/3}\), resulting in precision of second derivative constructs of about SIGL/3. Thus, it is safest to set the step size h, as specified by NSIG, to be no more than SIGL/3.
An internal SIGL in NONMEM specifies the precision to which the objective function itself (actually, the individual subject objective functions, which sum to the total objective function) is to be evaluated. This internal SIGL is set to 10. As long as NSIG was set to a value less then or equal to 10/2 or 10/3, then the gradients would be evaluated to an appropriate precision to make the gradient search algorithm work efficiently. With many subjects, if SIGL=10 is the precision to which each individual objective function is evaluated, and they are all of the same sign, then the sum objective function could have a resulting precision of \(\log_{10}(N)+SIGL\), where N is the number of subjects, for a maximum of 15, the limiting precision of double precision. Thus with 100 subjects, the actual precision that the total objective function is evaluated could be 12. One should not necessarily rely on this, so it is safest to suppose the more conservative precision of 10, for which a suitable NSIG would be 3.
For analytical problems, those which do not utilize $DES, one can usually expect a reasonably efficient convergence to the minimum of the objective function with NSIG=3. However, with differential equation problems (those used for ADVAN 6, 8, 9, 13, 14, or 15), the limiting precision that objective function values may be evaluated is not based on the internal SIGL of 10, but rather, on the TOL level set by the user (where TOL represents the relative significant digits precision to which differential equations are to be integrated, so the precision is \(10^{-TOL}\)), which is used by PREDPP when differential equations are integrated. The relationship between the predicted value and the individual subject’s maximized objective function is complex, but one can use the rule of thumb that the individual’s objective function is evaluated to a precision of the smaller of TOL and the internal SIGL. Thus, when a user specifies a TOL=4, then it may well be that the sum objective function has no greater precision than 4. If the user then specifies NSIG=3, then the main search algorithm evaluates finite gradients using step size h that varies theta at the 3rd significant digit. This results in 1 significant digit precision remaining in evaluating the finite difference gradients. The search algorithm is now attempting to maximize the objective function to 3 significant digits, when it is working with gradients that are accurate to only 1-2 significant digits. This results in inefficient advancement of the objective function, causing NONMEM to make repeated evaluations within an iteration, as well as iterations for which the objective function is barely moving. NONMEM can then spend many hours trying to obtain precision in its parameters which are impossible to obtain. Eventually it may stop because the maximum iterations were used up, or when it realizes that it could not reach the desired precision.
With this understanding of the search algorithm process, and recognizing the complex relationship between the step size needed for each parameter and the finite difference method used in each part of the algorithm, the optimization algorithm was changed to allow the user to specify SIGL, and for the algorithm to set up the appropriate step size for a given finite difference method, based on the user-supplied SIGL. While some trial and error may still be required by the user for a given problem, certain general rules may be considered.
Set
SIGL,NSIG, andTOLsuch that:SIGL<=TOL NSIG<=SIGL/3
With these options, the algorithm sets up the following:
For forward finite difference, h is set to SIGL/2 precision. For central finite difference, h is set to SIGL/3 precision. For forward second order difference, h is set to SIGL/3 precision. The individual fits for evaluating optimal eta values will be maximized to a precision of the user-supplied SIGL value.
Optimization of population parameters occurs until none of the parameters change by more than NSIG significant digits.
For the $COV step, the step size for evaluating the R matrix (central difference second derivative) is set to SIGL/4, which according to numerical analysis, yields the optimal precision of SIGL/2 for the second derivative terms. If only the S matrix is evaluated (central difference first derivative), then the step size for it is set to SIGL/3. (But see I.58 $COV: Additional Options and Behavior for a way to set SIGL and TOL for $COV, distinct from the option for the $EST command).
If the user sets NSIG>SIGL/3, and specifies SIGL, then the optimization algorithm will do the following, which is a less than optimal setup:
For forward finite difference, h is set to NSIG precision. For central finite difference, h is set to NSIG precision. For forward second order difference, h is set to NSIG precision. The individual fits for evaluating optimal eta values will be maximized to a precision of the user-supplied SIGL value. Optimization of population parameters occurs until none of the parameters change by more than NSIG significant digits. For the $COV step, the step size for evaluating the R matrix (central difference second derivative) is set to SIGL/4, which according to numerical analysis, yields the optimal precision of SIGL/2 for the second derivative terms. If only the S matrix is evaluated (central difference first derivative), then the step size for it is set to SIGL/3.
If the user does not specify SIGL, or sets SIGL=100, then the optimization algorithm will perform the traditional NONMEM VI optimization, which as discussed above, may not be ideal:
For forward finite difference, h is set to NSIG precision. For central finite difference, h is set to NSIG precision. For forward second order difference, h is set to NSIG precision. The individual fits for evaluating optimal eta values will be maximized to a precision of SIGL=10. Optimization of population parameters occurs until none of the parameters change by more than NSIG significant digits.
For the $COV step, the step size for evaluating the R and S matrix is set to NSIG, as is done in NONMEM VI. This is far from optimal, particularly for analyses requiring numerical integration, and is often the cause of the inability to evaluate the R matrix.
Command syntax:
Example:
`$EST` METHOD=1 `INTERACTION` `SIGL`=9 `NSIG`=3To see the advantage of properly setting NSIG, TOL, and SIGL, consider the following problem, which is example 6 at the end of this document. Data were simulated with 17 PK and 18 PD observations for each of 50 subjects receiving a bolus of drug, followed by short infusion a week later. The PK model has 2 compartments (Vc, k12, k21) with first-order (k10) and receptor-mediated clearance (Vmax, Kmc). The PD model is indirect response, with receptors generated by zero order process (k03), and removed by first order process (k30) or via drug-receptor complex (Vmax, Kmc). There are 46 population parameters, variances/covariances, and intra-subject error coefficients, and thee differential equations. In the table below are listed the estimation times (not including a $COV step) using various SIGL, NSIG, and TOL values. Note that when not setting SIGL (NM 6 method), the problem would take a very long time. When SIGL, NSIG, and TOL were set properly, estimation times were much less, with successful completions. Of course, as they say in the weight-loss commercials, individual results may vary, and such great differences in execution times will not occur for all problems.
| Advan method | NSIG=3, TOL=6, SIGL=100 (NM6 style) | NSIG=2, TOL=6, SIGL=6 | NSIG=1, TOL=4, SIGL=3 |
|---|---|---|---|
| 9 | >30 | 22 | 10 |
| 6 | >24 | 17 | 3 |
| 13 (new) | >20 | 8.5 | 2 |
3 The SIGLO level (NM72)
As of NONMEM 7.2.0, the user may obtain even greater control of the precision at which various parts of the estimation are performed by using the SIGLO option. If used, the SIGLO option is the precision to which the individual etas are estimated. The SIGL level set by the user continues to be the precision (or delta) setting for the finite difference algorithms in the higher level estimation process for THETAS, OMEGAS, and SIGMAS. By default, if SIGLO is not specified, then SIGLO is set to the same value as SIGL, and everything is evaluated in accordance with the previous paragraph. Should SIGLO be used, the recommended setting would be:
SIGLO<=TOL
`SIGL`<=SIGLO
`NSIG`<=`SIGL`/34 Alternative convergence criterion for FO/FOCE/Laplace (NM72)
Sometimes many iterations will occur with very little change in the objective function, even with SIGL/TOL adjustment. This may occur because a parameter may oscillate at the 2nd significant digit, for example, and NSIG was set to 3. The parameter may never settle down to a value that fluctuates at less than NSIG significant digits if its contribution to the objective function is very small. Thus, a minimum objective function is achieved, but NONMEM’s traditional convergence test, based on all parameters changing by less then NSIG significant digits, is never satisfied. An alternative convergence test is to set CTYPE=4 in the $EST statement. NONMEM will then additionally test if the objective function has not changed by more then NSIG digits beyond the decimal point over 10 iterations. If this condition is satisfied, the estimation will terminate successfully.
5 Additional Control for $MSFI record (NM73)
5.1 NOMSFTEST (NM73)
Sometimes the MSFI error check is too strict, and prevents an MSF file from being utilized in a subsequent control stream file or problem. This occurs particularly when using classical NONMEM methods. To turn off MSFI error checking, set NOMSFTEST (default is MSFTEST):
`$MSFI` myfilename NOMSFTEST5.2 NEW (NM74)
When the problem that created the MSF file has successfully completed, calling for a resumed or new estimation is prevented when the method is FO/FOCE/Laplace. To allow analysis to continue, or to allow an analysis on a new data set, resuming from the final parameters of the MSF file, use the option NEW:
`$MSFI` myfilename NEWBe careful in its use. Your data set (items) structure and model should be identical to the ones used for generating the MSF file.
5.3 VERSION (NM74)
You can now read MSF files generated by previous versions of NONMEM, using the VERSION option:
$MSFI myfile.msf VERSION=7.4.0 ; (for all versions 7.4.x)
$`MSFI` myfile.msf VERSION=7.3.0
$MSFI myfile.msf VERSION=7.2.0
$`MSFI` myfile.msf VERSION=7.1.2
$MSFI myfile.msf VERSION=7.1.0
$`MSFI` myfile.msf VERSION=6.2
`$MSFI` myfile.msf VERSION=6.1The MSF file format for NONMEM 7.5.0 and higher is the most up-to-date one, and does not require a VERSION specification when using MSFI files constructed by a NONMEM version 7.5.0 or higher, and to be used by NONMEM version 7.5.0 or higher.
6 General New Options for $ESTIMATION Record (NM73)
6.1 OPTMAP=0 (default) (NM73)
0: Standard variable metric (Broyden, Fletcher, Goldfarb, and Shanno (BFGS)) optimization method used by NONMEM to find optimal eta values (aka EBE, CPE, MAP, or conditional mode estimates, referred to symbolically η̂, or eta hat) for each subject at the mode of their posterior densities, using analytical derivatives of F with respect to etas, and analytical derivatives of H with respect to etas, that were supplied by NM-TRAN or by the user.
1: Variable metric method, using numerical finite difference methods for first derivatives of F with respect to etas. Necessary when not all code used in evaluating F, G and H for observation event records is abbreviated code (some may be in verbatim code), and/or some portions of the computation of F, G and H are evaluated in a hidden subroutine specified by $SUBROUTINES OTHER= and the user-written code does not compute the eta derivatives. When OPTMAP=1 is present, values of G and H are ignored during eta optimization. This may be used to test user-coded derivatives, because two runs, one with OPTMAP=1 and one without it, should give very similar values for the OBJV, WRES, etc. if the user-coded derivatives are correct. That is, the analytic derivatives in G and H are ignored, and this option may be used when analytic derivatives are difficult to compute (e.g., user supplied code such as SDE).
2: Nelder Mead method, which uses a secant method, rather than relying on derivatives.
6.2 ETADER=0 (default) (NM73)
In evaluating the MAP objective function, the term log(Det(V)) must be evaluated to obtained the marginal or integrated posterior density, where V is the eta Variance matrix based on the subject’s posterior density.
0: Expected value V, using analytical first derivatives
1: Expected value V, using forward finite difference numerical first derivatives. Needed if not all code evaluating F and Y derivatives with respect to eta are available for processing by NM-TRAN or in user supplied code.
2: Expected value V, using central finite difference numerical first derivatives. Needed if not all code evaluating F and Y derivatives with respect to eta are available for processing by NM-TRAN or in user supplied code. That is, the analytic derivatives in G and H are ignored, and this option may be used when analytic derivatives are difficult to compute (e.g., user supplied code such as SDE).
3: 2nd derivative method of evaluating V, using numerical second derivatives of -log(L) with respect to etas. This is equivalent to using the “Laplace” NUMERICAL method, even though FOCE may be selected.
When relying on numerical derivatives by using OPTMAP>0 or ETADER>0, you may need to set the SLOW option for proper estimation of FOCE or Laplace (SLOW is not utilized by EM/BAYES methods). Note also that non Monte Carlo weighted residual diagnostics (such as NWRES, NWRESI, CWRES, CWRESI) use first derivatives of F with respect to eta, and the appropriate numerical derivatives will be used to assess them if ETADER>=1.
6.3 NUMDER=0 (default) (NM73)
The file root.fgh is produced if the user selects $EST NUMDER=1. The file lists the numerically evaluated derivatives of Y or F with respect to eta, where
G(I,1)=partial F with respect to eta(i))
G(I,J+1)=Second derivatives of F with respect to eta(i),eta(j)
H(I,1)=partial Y with respect to eps(i)
H(i,j+1)=partial Y with respect to eps(i),eta(j))This option is useful for comparing with and checking analytic derivatives values.
The analytical derivatives values are stored in root.agh, if NUMDER=2 is selected. If you want both, set NUMDER=3.
6.4 MCETA=0 (default) (NM73)
0: Eta=0 is initial setting for MAP estimation (eta optimization) during FOCE/LAPLACE/ITS/IMPMAP, and sometimes IMP.
1: ETA=values of previous iteration is initial setting for MAP estimation, or ETA=0, whichever gives lower objective function.
>1: MCETA-1 Random samples of ETA, using normal random distribution with variance OMEGA, are tested. Plus previous ETA is tested, and ETA=0 is tested. The test is, whichever supplies the lowest objective function is the eta set used as initial parameters for the MAP optimization.
6.5 NONINFETA=0 (default) (NM73)
NONMEM has traditionally not assessed post-hoc eta hat (also known as empirical Bayes Estimates, EBE’s, conditional mode etas, or conditional parametric etas (CPE)), if the derivative of the data likelihood with respect to that eta is zero for a given subject, and simply specified that eta as zero. This eta is called a non-influential eta. The true EBE is zero anyway, if this eta is not correlated by an off-diagonal omega element with an eta that is influential. If the non-influential eta is correlated with an influential eta, then the true EBE of the non-influential eta will in general not be 0. When NONINFETA=0, the default, then this traditional algorithm is in effect, so that all non-influential etas, even those correlated with influential etas, will be reported as 0 when outputted with $TABLE. However, if NONINFETA=1, then all etas are involved in the MAP estimation, regardless of their influence. This will result in non-influential etas reported as a non-zero value, if it is correlated with influential etas. From a pure statistical stand-point, this is the true EBE, although intuitively it may be puzzling for some users. Whether NONINFETA=1 or 0, the individual’s objective function will change very little if at all, because NONMEM provides a corrective algorithm to assess the correct objective function. But for purposes of post-hoc evaluated etas, one may wish to set NONINFETA depending on the desired interpretation. The NONINFETA option applies only to FO/FOCE/Laplace. The Monte Carlo and EM methods have always used (even with earlier versions of NONMEM 7) the pure statistical option (NONINFETA=1).
6.6 FNLETA=1 (default) (NM72)
Set FNLETA to 0 if you do not want it to spend time performing the end FNLMOD (which evaluates final mixture proportions for each subject in mixture models) and FNLETA (which evaluates final etas) routines using the original algorithm after the estimation and covariance steps are completed. You may want to turn this off if each objective function call takes a long time, with very complex problems or large data sets. Be aware, that certain $TABLE outputs, such as the traditional WRES, RESI, and PRED, may or may not be properly evaluated if the FNLMOD and FNLETA steps are omitted.
Normally, when you do not set FNLETA, or when you set FNLETA to 1, regardless of the method that was used (classical or EM/Monte Carlo) to obtain the THETAs, OMEGAs and SIGMAs in the last $EST step, $TABLE parameters are estimated based on a “post-hoc” evaluation of the etas at the mode of the posterior density position (eta hat), and using the final theta/OMEGAs/sigma estimates (classical and EM), or at the posterior means of THETAs/OMEGAs/SIGMAs (BAYES) (so, population parameters used are those listed on the -1000000000 line of the .ext file). These eta hat values are identical to those evaluated during the estimation for ITS/FOCE/Laplace methods, but differ from the mean values estimated during an IMP, SAEM, BAYES analysis.
Setting FNLETA=0 prevents the post-hoc analysis, so that $TABLE parameters are evaluated based on the eta/phi values generated by the last iteration of the last $EST method implemented (those listed in the .phi file), which are mode of posterior values for ITS/FOCE/Laplace, and conditional means for IMP/SAEM.
Before nm75, the phis/etas after a BAYES analysis yields single sample position values of the very last iteration, and had limited use. With nm75, $TABLE parameters use final MCMC posterior means (those listed in the .phi file, collected during the stationary phase) for the phis, and posterior means of the THETAs, OMEGAs, SIGMAs (those listed on the -1000000000 line of the .ext file). For example, suppose you have a user defined variable in $ERROR or $PK that is a function of THETA(1) and ETA(1):
MU_1=`THETA`(1)
CL=EXP(MU_1+ETA(1)) ; phi(1)=theta(1)+eta(1)
W=CL+`THETA`(2)Then W will be output to the table as
W=exp(MCMC mean(`THETA`(1)+ETA(1))+MCMC mean(`THETA`(2))
If you wish to have the MCMC mean of W:
W=MCMC mean (EXP(MU_1+ETA(1))+`THETA`(2))
you will need to collect individual samples of W with an additional WRITE statement, and then summarize the the results after NONMEM analysis, as shown in example 8 in Example 8: Sample History of Individual Values in MCMC Bayesian Analysis.
Regardless of the FNLETA setting, the .phi and .phm tables (see I.65 $EST: Additional Output Files Produced) always output the phi/eta values used for the particular method (mode of posterior, and approximate Fisher information based variances for ITS/FOCE/Laplace methods, Monte Carlo assessed conditional means and conditional variances for SAEM/IMP methods).
If you set FNLETA=2 (NM73), then the estimation step is not done, and whatever etas are stored in memory at the time are used in any subsequent $TABLE’s. This has value if you loaded the individual etas from an MSF file, or from a $PHIS/$ETAS record, and you want to calculate $TABLE items based on those etas, rather than from a new estimation. For example:
$PROB
$INPUT C ID GRP AMT TIME DV1 DV CMTS `EVID` `MDV`
$DATA mydata.csv IGNORE=C
…
$`MSFI`=myresults.MSF
…
$EST METHOD=1 FNLETA=2
$TABLE ID TIME DV IPRED CMTS `MDV` `EVID` NOAPPEND NOPRINT FILE=mytable.tabTo summarize:
FNLETA=1: Diagnostics depending on EBE’s such as CWRES, CIWRES, CIPRED, etc., will use EBE’s based on the final estimation method (conditional mode for FO/FOCE/Laplace/ITS, conditional mean for IMP/SAEM, MCMC posterior means for BAYES), while user selected items will use EBE’s from the FNLETA step (eta modes).
FNLETA=0: All table outputs (diagnostics and user selected items) will use EBE’s from final estimation method (conditional modes for FO/FOCE/Laplace/ITS, conditional means for IMP/SAEM, MCMC posterior means for BAYES).
FNLETA=2: All table outputs will use a common set of EBE’s from an imported source. When using an imported source, such as a *_ETAS.msf or *.phi file (from a $ETAS/PHIS record), ensure that their ID ordering matches that of the $DATA data file.
FNLETA=3 (as of nm74): Like FNLETA=1, will call FNLETA, and all table outputs (diagnostics and user selected items) will use EBE’s from the FNLETA step (eta modes).
6.7 KNUTHSUMOFF=0 (default) (NM74)
In NONMEM 7.4, the Knuth summing method is used to allow the most accurate summation of individual objective function values, even with large variations in values of the individual objective function. To turn this off, and allow a standard summation (not recommended except for comparison purposes from earlier versions), set KNUTHSUMOFF=1. With KNUTHSUM algorithm on by default, the SORT option is not necessary.
6.8 FPARAFILE (NM74)
As of NONMEM 7.4, computations of final etas (empirical Bayes estimates) after the last estimation record are evaluated are performed in a parallel computing setting, if parallel computing was requested, by the –parafile option on the command line, for example (see section I.75 Parallel Computing (NM72)). If you wish to turn parallel computing off for the final eta computation, then set FPARAFILE to off (the F stands for FNLETA=final eta step) on any $EST record in the problem:
`$EST` FPARAFILE=OFF …Note that if FNLETA=0, then parallelization will not occur anyway, since final etas are not re-evaluated after the last iteration of the last estimation process performed. Please note setting PARAFILE to OFF, rather than FPARAFILE will prevent parallelization for the estimation step itself.
6.9 NOSUB=0 (Default) (NM74)
Subscripts of THETAs, etas, and epsilons may be replaced with meaningful aliases, such as THETA(CL) in place of THETA(1). See I.8 Expansions on Abbreviated and Verbatim Code under $ABBR REPLACE feature for abbreviated code (NM73-NM75) for how the $ABBR REPLACE command can be used to do this. These aliases will also be used as labels for the final estimates in the NONMEM report file. If you like the convenience of using meaningful labels in your abbreviated code, but do not wish to see them expressed in the report file for a given estimation step, then set
`$EST` NOSUB=1to turn this symbolic label substitution off.
To set the default NOSUB for the entire problem, specify the following $DEFAULT record:
`$DEFAULT` NOSUB=1NOSUB also accepts a -1 to indicate revert to NONMEM default, which is to treat -1 as a 0. The NOSUB default setting is in effect throughout the control stream file, until another $DEFAULT record setting NOSUB is encountered.
6.10 EVALSHRINK=0 (Default) (NM760)
By default, when MAXEVAL=0, and population parameters are not inputted from an MSF file (using the $MSFI record), Etabar and shrinkage information is not calculated and displayed in the NONMEM report file. If you wish to have this information displayed when MAXEVAL=0, then set EVALSHRINK=1 on the $EST record.
7 The FAST Option for use with FOCE/ITS and Differential Equation ($DES) Models (NM74)
As of nm74, the FAST option is available for FOCE/ITS methods. The FAST method allows use of analytical theta derivatives to facilitate FOCE analysis, especially when using differential equation models ($DES) (although analytical models are also helped). The method by which this works is based on Almquist et al. (Almquist et al. 2015). All THETAs should be MU-referenced in the manner described in I.46 MU Referencing. For THETAs that should not have inter-subject variability associated with them, or should not be MU referenced, Mu reference it anyway by adding additonal etas and directly assigning them to these THETAs through MU referencing, but set the associated omega values to 0.0 FIXED. Next, set FAST option on the $EST record. For example:
$PK
MU_1=THETA(1)+THETA(2)*LOG(AGE)
MU_2=THETA(3)
MU_3=THETA(4) ; for THETAs associated with 0 FIXED OMEGAs, must have strict
; assignment. Functional transformation, such as MU_3=LOG(THETA(4)), should not be done.
KA=EXP(MU_1+ETA(1))
CL=EXP(MU_2+ETA(2))
V=EXP(MU_3+ETA(3))
…
$`OMEGA` BLOCK(2)
0.2
0.01 0.2
$OMEGA (0.0 FIXED)
…
$EST METHOD=1 `INTERACTION` FAST …Notice that theta(4) is associated with eta(3), but as the parameter modeled by theta(4) should not have inter-subject variability, the omega(3,3) is fixed to 0. Also, before nm751, a strict assignment must be made for MU’s that have 0 valued OMEGAS, without functional transformation (MU_X=THETA(Y) format). If there is a function transformation between MU and THETA, and the associated OMEGA is 0, then NONMEM will not use the analytical derivative evaluation for the associated theta. As of nm751, functional (but still one-to-one) transformation is allowed in the mu referencing for the FAST algorithm to take effect on that theta. The reason for requiring MU-mapping for all THETAs, is that NM-TRAN provides analytical eta derivatives for all etas. With MU-mapping (or referencing), that particular eta derivative is interpreted as the corresponding theta derivative by NONMEM, and utilized in FAST algorithms, similar to what has been classically done for OMEGA derivatives. In the above example, analytical derivatives of f with respect to eta(1) are used to generate derivatives of F with respect to theta(1) and theta(2), and similar for theta3 and theta4:
df/d(th1)=df/d(eta1)
df/d(th2)=df/d(eta1)*LOG(AGE)
df/d(th3)=df/d(eta2)
df/d(th4)=df/d(eta3)
For THETAs associated with non-zero OMEGAs, MU-reference equations need not be linear with respect to the THETAs, but often linear mu-referencing stabilizes the problem, even for FOCE.
For Monte Carlo EM algorithms, even if a theta should not normally be mu-referenced, you can MU-reference it anyway, but set its associated OMEGA diagonal to 0, as described in I.46 MU Referencing. Then, if you set MUM=M(x) for that theta (x), this will evaluate its gradient using the analytical eta derivatives as shown above. The FAST option need not be set for Monte Carlo EM/BAYES algorithms for this to occur. Setting MUM=M(x) can increase speed for analytical models, but may in fact slow down analysis for differential equation $DES problems, because all of the first derivative assessments are turned on, many of which are in fact not needed by IMP/SAEM. Trial and error is recommended in turning on the analytical derivatives feature for THETAs that have 0 valued OMEGAs.
Switches OBJQUICK and MUFIRSTREC can speed up the analysis even further (section MUFIRSTREC, OBJQUICK).