$COVARIANCE, $COVR

Instructions for NONMEM Covariance Step

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 $COVARIANCE  [SPECIAL] [MATRIX=] [PRINT=[E][R][S]
              [COMPRESS]
              [SLOW|NOSLOW|FAST]
              [TOL=n] [ATOL=n]
              [SIGL=n] [SIGLO=n]
              [NOFCOV]
              [PARAFILE=[filename|ON|OFF] [PARAFPRINT=n]
              [THBND=n]
              [SIRSAMPLE=[numberlist] [SIRNITER=n] [SIRCENTER=n]
              [IACCEPT=x] [IACCEPTL=x]
              [SIRDF=n] [RANMETHOD=[n|S|m|P] ]
              [SIRPRINT=n] [FILE=filename] [FORMAT=s]
              [SIRTHBND=n]
              [SIRMINWT=x] [SIRMAXWT=x] [SIR_CAPCORR=x]
              [SIRSEED=n] [SIRCLOCKSEED=[0|1]]
              [SIRPARAFILE=[filename|ON|OFF] [SIRPARAFPRINT=n]
              [PRECOND=n] [PRECONDS=TOS] [PFCOND=n] [PRETYPE=n]
              [FPOSDEF=n]
              [CHOLROFF=n] [KNUTHSUMOFF=n]
              [POSDEF=n]
              [RESUME]
              [CONDITIONAL|UNCONDITIONAL]
              [OMITTED]
;# EXAMPLE
 $COV UNCONDITIONAL TOL=10 SIGL=10 SIGLO=11

Discussion

Optional. Requests that the NONMEM Covariance Step be implemented. This step outputs: standard errors, covariance matrix, inverse covariance matrix, and the correlation form of the covariance matrix. May also be coded $COVR.

If $COV is specified, then for IMP, IMPMAP, and ITS methods, standard error information will be supplied for every $EST statement. Standard error information for the classical methods (METHOD=0, METHOD=1) will be given only if they are the last estimation method, and only if NOFCOV is not specified.

Options

SPECIAL

The special computation will be used in the Covariance Step with a recursive PRED subroutine. A recursive PRED subroutine is such that, with single-subject data, the PRED computation with a data record depends on information passed to it with any of the previous data records. This is the default when PREDPP is used.

MATRIX=c

Specifies alternative covariance matrix to the default \(R^{-1} S R^{-1}\). MATRIX=R requests that \(2R^{-1}\) be used. MATRIX=S requests that \(4S^{-1}\) be used. (R: the Hessian matrix; S: the Cross-Product Gradient matrix.) With MATRIX=R the standard errors will be more consistent with other nonlinear regression software implementations. MATRIX=R should not be used with option SPECIAL.

The option has no relevance to the Covariance step results for a BAYES method.

PRINT=[E][R][S]

Additional outputs will be printed besides the defaults. E: print the eigenvalues of the correlation matrix. R: print the matrix .5*R. S: print the matrix .25*S. PRINT=R (or S) is not needed with MATRIX=R (or S).

COMPRESS

Covariance Step arrays are printed in compressed format, even if their size is such that NONMEM would normally print them in the usual format.

[SLOW | NOSLOW | FAST (NM74)]

SLOW requests a slower method of computation. Required when either a mixture model was used along with CENTERING on the $ESTIMATION record, or NUMERICAL was used on the $ESTIMATION record. If not present, the option will be automatically supplied in these two cases.

NOSLOW requests a faster method of computation. This is the default.

FAST is equivalent to FAST for the $ESTM record. If $EST FAST is set, then $COV will be set to FAST, unless SLOW or NOSLOW is specified.

TOL=n (NM72)

Tolerance. Used only with General Nonlinear (differential equation solver) ADVAN's. Sets NRD=TOL. By default, the value set on $SUBROUTINES record (or $TOL or TOL subroutine) is used. If TOL is coded on $COVARIANCE, it overides the default. With NONMEM 74, this feature is deprecated. A user-supplied TOL subroutine should test NM_STEP and set NRD accordingly.

TOL has no relevance to the Covariance step results for a BAYES method.

ATOL=n (NM72)

Absolute tolerance. Used only with ADVAN9, ADVAN13, ADVAN14, ADVAN15, ADVAN16, ADVAN17, ADVAN18, for which TOL is a relative tolerance. Sets ANRD=ATOL. The default is 12 (that is, accuracy is 10**(-12)). Usually the problem runs quickly when using this setting. On occasion, however, you may want to reduce ATOL (usually set it equal to that of TOL), and improve speeds of up to 3 to 4 fold.

By default, the value set on $SUBROUTINES record (or $TOL or TOL subroutine) is used. If ATOL is coded on $ESTIMATION, it overrides the default for that step. If ATOL is coded on $COVARIANCE, it overrides $ESTIMATION and/or the default for that step. With NONMEM 74, this feature is deprecated. A user-supplied TOL subroutine should test NM_STEP and set ANRD accordingly.

SIGL=n, SIGLO=n (NM72)

These options may be used to specify different values for the Covariance step size. The step size for evaluating the R matrix (central difference second derivative) is set to SIGL/4. If only the S matrix is evaluated (central difference first derivative), the step size is set to SIGL/3. SIGLO is the precision for individual ETA optimization.

Classical NONMEM methods in particular often require a different significant digits level of evaluation (usually more stringent) during the Covariance step than during Estimation Step. For example, during the Estimation step, NSIG=2, SIGL=6, TOL=6 may be sufficient, but during the Covariance step, one may need SIGL=12 TOL=12 to avoid issues of matrices not being positive definite.

By default, values specified in the $ESTIMATION record are used.

The options have no effects on BAYES method.

NOFCOV (NM72)

No $COV step for any classical estimation steps. This would be useful if you wanted EM estimation analyses performed, and a final FOCE analysis performed, but did not want the program to spend time on standard error assessments for FOCE, which can take a long time relative to the other methods.

PARAFILE=file | ON | OFF

Name of the "parallel file" (the parallelization profile) that controls parallelization (distributed computing). Default file name if not specified: parallel.pnm or parafile name specified on nmfe command. PARAFILE=ON turns on parallelization for this $COVARIANCE record; PARAFILE=OFF turns it off.

PARAFPRINT=n (NM74)

The print iteration intervals to the parallelization log file can be controlled by this option during parallelization of the $COV step.

See also $ESTIMATION and nmfe7.

Default is PARAFPRINT=1.

THBND=n (NM74)

If THBND=1, any theta boundaries specified in the $THETA record causes NONMEM to impose a non-linear transformation of the theta parameters so that the transformed parameters may vary from -infinity to infinity. It does this with logistic transformations. This is suitable during the estimation step, but may be desirable have this off (THBND=0) for covariance assessment, and assess partial derivatives of the objective function with respect to the THETAs themselves, or some linear transformation of these THETAs. By default THBND=1, in keeping with the behavior of earlier NONMEM versions, which effectively has THBND=1. Usually boundaries that are fairly wide will not impact how the variance-covariance is assessed, such as when a lower bound of 0 is given, but if you have very narrow boundaries set, then this can impact the assessment of the variance-covariance of the estimates considerably, and you may wish to set THBND=0. If no lower or upper bounds are given to THETAs in $THETA record, this option has no impact.

SIRSAMPLE=[numberlist] (NM74)

Option SIRSAMPLE requests the Sampling-Importance-Resampling algorithm (SIR) (See Guide Introduction_7, "Importance Sampling of the Variance-Covariance of the Parameter Estimates"). By default SIRSAMPLE=-1, so SIR process does not occur. SIRSAMPLE should be set between 300 and 10000, to indicate the number of random samples to be generated for each of the SIRNITER iterations. This will produce SIRSAMPLE importance samples, each of which will be placed in the raw output file. As of nm75, SIRSAMPLE may contain a list of integers, one for each of the SRNITER iterations (use double quotes around the list): SIRSAMPLE="1000,200,500" If there are fewer than SIRNITER values, the last value in the list will be used as the SIRSAMPLE value for the remaining iterations. Utility programs table_quant (frequency and quantile sorting) and table_resample (resampling) may be used to analyze $COV Sampling-Importance-Resampling data.

SIRNITER=n (NM74)

The number of times SIR sampling should occur. Default is 1.

SIRCENTER=n (NM74)

Where the sampling (proposal) density is to be centered. On the first iteration, the mean of the sampling density is at the estimate. On subsequent iterations, the mean of the sampling density is at the estimate (SIRCENTER=0) or at the mean of the (transformed) samples of the previous iteration (SIRSAMPLE=1). Default is 0.

SIR_CAPCORR=x (NM75)

Limit the correlation of OMEGAs and SIGMAs generated form the proposal density to have |correlation| of SIR_CAPCORR or less. This is similar to PSN's cap_correlation option.

SIRMINWT=x, SIRMAXWT=x (NM75)

Limit the weight range that a sample may relative to the proposal density, to avoid extreme values. Default values are SIRMINWT=0.001, SIRMAXWT=1000.0

SIRSEED=n (NM75)

Starting seed for SIR analysis (default=11456).

SIRCLOCKSEED=[0|1] (NM75)

If SIRCLOCKSEED=1 (default is 0), actual starting seed will be 10000*(seconds after midnight)+SEED. This allows a control stream to produce different stochastic results for automated replications, without the need to modify the seed value in the control stream file in each replication.

IACCEPT=x (NM74)

The acceptance ratio acts similarly to importance sampling in EM analysis. Default is 1.

IACCEPTL=x (NM74)

The same as listed for IACCEPTL in "Monte Carlo Importance Sampling EM". Default is 0.

SIRDF=n (NM74)

The proposal density is to be a t distribution with n degrees of freedom. Default is 0, a normal density.

RANMETHOD=[n|S|m|P] (NM74)

See the corresponding option of the $ESTIMATION record for importance sampling in EM analysis.

SIRPRINT=n (NM74)

Set the console print iterations interval. This does not impact the iterations listed in the raw output file. Default SIRPRINT=0.

FILE=filename (NM74)

By default, the raw output file is whatever was listed in the $EST step, or root.ext, where root is the root name of the control stream file. You can re-direct SIR sample listings to an alternative file with this option.

FORMAT=s (NM75)

By default, the format for the raw output file and all additional output files is whatever FORMAT was specified for the $EST step. You can change its format with the FORMAT option. s defines the delimiter [,|s(pace)|t(ab)] followed by a Fortran format specification. The default is s1PE12.5. For more details, see the format FORMAT=s1PE11.4.

SIRTHBND=n (NM74)

As with the deterministic covariance assessment step, by default the transformed parameters are sampled, so that no sample is below the $THETA lower bound specification, and no higher than the $THETA upper bound specification. To allow a boundariless search in the original theta domain, set SIRTHBND=1. You should also set THBND=1, so that the deterministc covariance matrix used as the proposal density is also not hindered or contorted by the boundaries. Default is the value of THBND, which in turn is 0 by default.

SIRPARAFILE=filename

Name of the "parallel file" (the parallelization profile) that controls parallelization during SIR sampling (distributed computing). Default file name if not specified: parallel.pnm or parafile name specified on nmfe command. SIRPARAFILE=ON turns on parallelization for this $COVARIANCE record during SIR sampling. SIRPARAFILE=OFF turns off parallelization for this $COVARIANCE record during SIR sampling.

SIRPARAFPRINT=n (NM74)

The print iteration intervals to the parallelization log file can be controlled by this option during parallelization of the SIR sampling portion of the $COV step. Default is SIRPARAFPRINT=1.

See also $ESTIMATION record and nmfe7 command.

PRECOND=n (NM74)

Options PRECOND through PRETYPE affect the preconditioning of the R Matrix. (See Guide Introduction_7, "Preconditioning the R Matrix to Improve Precision and Success Rate of $COV Step"). By default, PRECOND (Preconditioning cycles") is 0, and no preconditioning of the R matrix is performed. When PRECOND=n, then up to n preconditioning cycles are performed. This is used in combination with the PFCOND setting.

PRECONDS=TOS (NM74)

By default, if preconditioning is performed, it is done on THETAs (T), Omegas (O), and Sigmas(S). Specify PRECONDS (Preconditioning types)=T to do only THETAs, PRECONDS=TO to do only THETAs and OMEGAs, etc.

PFCON=n (NM74)

PFCOND means 'forced' precondition cycles. Preconditioning occurs exactly PFCOND times, without testing if the R matrix is positive definite or not on each preconditioning cycle. On the remaining PRECOND-PFCOND cycles, the R matrix is tested for positive definiteness, and upon success, will terminate the preconditioning cycles. Default is PFCOND=0.

PRETYPE=n (NM74)

By default PRETYPE(preconditioning type)=0 and the R matrix corrector is V*square_root(eigenvalue). If you set PRETYPE=1, then the corrector is V*square_root(eigenvalue)*Vtranspose. If you set PRETYPE=2, then the corrector is the correlation version of PRETYPE=1.

FPOSDEF=n (NM74)

By default FPOSDEF(forced positive definite)=0. If FPOSDEF=1, then if the Rmatrix is not positive definite, it will be forced positive definite. If PRECOND>0, this will occur after the PRECONDth try.

CHOLROFF=n (NM74)

If CHOLROFF is set to 1, then one part of the R matrix evaluation (before inversion) will be evaluated in the manner of earlier versions of NONMEM. This is strictly for comparison with earlier versions for diagnostic purposes. If CHOLROFF=0, then a part of the R matrix evaluation will undergo cholesky decomposition, and if not positive definite, only then will it undergo evaluation according to earlier versions of NONMEM. If CHOLROFF=2, then if cholesky decomposition fails, it will be slightly adjusted to be positive definite. The CHOLROFF=0 is the safest option, in that the Cholesky decomposition (if positive definite) provides more precision in evaluating the R matrix. The CHOLROFF=2 setting is useful if you wish to increase the rate of success in obtaining an R matrix (followed by its inverse) that could be suitable for SIR sampling. If you use CHOLROFF=2, then positive definiteness has been corrected before the inverse occurs, so POSDEF will have no additional effect. If you use POSDEF, then CHOLROFF should be 0 or 1. Default is 0.

KNUTHSUMOFF=n (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. If KNUTHSUMOFF was set in the $EST step, but not in the $COV step, the KNUTHSUMOFF value of the last $EST record will be used. Default is 0.

POSDEF=n (NM75)

If POSDEF=1, then if the R matrix is not positive definite, it will be forced positive definite, by method of shifting the eigenvalues by an amount slightly greater than the most negative eigenvalue. If POSDEF=2, then R matrix is made positive definite by making the negative valued eigenvalues approximately 1/100 of the least positive eigenvalue. If POSDEF=3, then R matrix is made positive definite by using the absolute values of the eigenvalues POSDEF is 0 (no correction) by default for classical covariance step, and 3 for EM methods. The preconditioning method is a more sophisticated, but time-consuming method of making the R matrix positive definite (See PRECOND below). Default is 0.

CONDITIONAL | UNCONDITIONAL

CONDITIONAL implements the Covariance Step but only when the Estimation Step terminates successfully (in this run or in a run continued via $MSFI). This is the default.

UNCONDITIONAL implements the Covariance Step regardless of how the Estimation Step terminates (in this run or in a run continued via $MSFI).

RESUME (NM73)

If MSFO=msfile was specified in the Estimation Step for the FO/FOCE/Laplace method and analysis was interrupted during the Covariance Step, then the Covariance Step may be resumed where it was interrupted in a subsequent problem. Use the $MSFI record to specify the MSFO file of the interrupted analysis, and the RESUME option of the $COV record:

1
2
3
$MSFI=msfile
;# ...
$COV RESUME

OMITTED

The Covariance Step is not implemented.