80  Composite methods

Introduction to NONMEM 7.6.0

Author

Robert J. Bauer

Published

June 1, 2025

Composite methods may be performed by giving a series of $EST commands. The results of the estimation method are passed on as initial parameters to the next $EST method. Also, any settings of options of the present method are passed on by default to the next $EST method.

One suggestion is to perform in the following order (although trial and error is very important):

  1. Iterative two stage for rapid movement of parameters towards reasonable values (10-30 iterations)
  2. SAEM if model is complex, or data are very sparse, with 300-3000 iterations, depending on model complexity. Obtain maximum likelihood parameters
  3. Importance Sampling if model is complex with 300-3000 samples, 50-100 iterations, depending on model complexity. Obtain maximum likelihood parameters
  4. Evaluate at final position by importance sampling. Obtain maximum likelihood value and standard errors
  5. Perform MCMC Bayesian analysis on your favorite model, 200-1000 burn in samples (having started at maximum, no more is necessary), 10000-30000 stationary samples. Obtain complete distribution of parameters, to obtain mean, standard error, confidence bounds

An example control stream file follows.

Iterative two stage with 50 iterations

$EST METHOD=ITS INTERACTION NITER=50 SIGL=7 NSIG=2

SAEM with 200 iterations for stochastic mode, 500 iterations for accumulated averaging mode

$EST METHOD=SAEM INTERACTION NBURN=200 NITER=500

Importance sampling for 10 iterations, expectation step only (this evaluates OBJF without moving population parameters). Note that SIGL=7 that was set for the previous $EST command is assumed for this $EST command as well

$EST METHOD=IMP INTERACTION ISAMPLE=1000 NITER=10 EONLY=1

MCMC Bayesian Analysis, with 200 burn in samples, and 10000 stationary samples:

$EST METHOD=BAYES INTERACTION NBURN=200 NSAMPLE=10000

Here is the full control stream file:

$PROBLEM Setup of Data for Bayesian Analysis

$INPUT SET ID JID TIME DV=CONC AMT=DOSE RATE EVID MDV CMT CLX V1X QX V2X SDIX
SDSX

$DATA       samp5.csv

$SUBROUTINES ADVAN3 TRANS4
; At least An uninformative Prior on OMEGAS is
; recommended for MCMC Bayesian
$PRIOR NWPRI NTHETA=4, NETA=4, NTHP=0, NETP=4, NPEXP=1
$PK
MU_1=THETA(1)
MU_2=THETA(2)
MU_3=THETA(3)
MU_4=THETA(4)
CL=DEXP(MU_1+ETA(1))
V1=DEXP(MU_2+ETA(2))
Q=DEXP(MU_3+ETA(3))
V2=DEXP(MU_4+ETA(4))
S1=V1

$ERROR
Y = F + F*EPS(1)

$THETA 2.0 2.0 4.0 4.0 ; Initial THETAs
$OMEGA BLOCK(4) ; Inital Parameters for OMEGA
0.4
0.01 0.4
0.01 0.01 0.4
0.01 0.01 0.01 0.4
$SIGMA 0.1

; Set the Priors. Good Idea if Doing MCMC Bayesian
$OMEGA BLOCK(4) ; Prior to OMEGA
0.2 FIX
0.0 0.2
0.0 0.0 0.2
0.0 0.0 0.0 0.2
$THETA (4 FIX) ; Set degrees of freedom of OMEGA PRior

;ITS. Store results in sampl5_extra.txt
$EST METHOD=ITS INTERACTION FILE=samnp5l_extra.TXT
         NITER=30 PRINT=5 NOABORT MSFO=.msf
         SIGL=6
; Next to SAEM. Option settings carry over from
; previous $EST by default. So results are added to
; same file
$EST METHOD=SAEM NBURN=200 NITER=500 PRINT=100
; Calculate OBJF by importance sampling
$EST METHOD=IMP EONLY=1 NITER=5 ISAMPLE=3000 PRINT=1
; Store results of Bayesian in its own file
$EST METHOD=BAYES FILE=.TXT NBURN=200 NITER=3000
         PRINT=100
; Do an FOCE just for comparison
$EST METHOD=COND INTERACTION MAXEVAL=9999 NSIG=2
          SIGL=6 PRINT=5
$COV MATRIX=R

More examples of composite analysis are given at the end of this document.