NONMEM may be used to quickly and conveniently obtain the
first-stage PK estimates with the standard two stage estima-
tion method. Using (for the sake of illustration) a simple
one-compartment model with constant cv residual error, the
control stream should include the following:
$SUBROUTINE ADVAN1 TRANS2
$PK
CL=THETA(1)*EXP(ETA(1))
V =THETA(2)*EXP(ETA(2))
$ERROR
Y=F+F*EXP(ETA(3))*ERR(1)
$THETA 5 50 ;these are rough typical population values
$OMEGA 100 100 100
$SIGMA 1 FIXED
$ESTIMATION MAXEVAL=0 POSTHOC FOCE INTERACTION
$TABLE CL V FILE=firststage
MAXEVALS=0 means that no population estimation will occur
POSTHOC means that individual conditional estimates of CL and V
will be obtained. The Bayesian influence is nill, since
OMEGA is purposely chosen to be very large. What results
then, are simple extended least squares estimates.
FOCE needed only because without it, INTERACTION cannot also be used.
INTERACTION means that individual estimates of ETA(3) are also obtained.
EXP(ETA(3)) is in effect, the standard deviation of ERR(1)
since SIGMA is fixed to 1. Were SIGMA not fixed to 1, and
were EXP(ETA(3)) absent, then all residual errors, for all
individuals, would have the same cv. The way it is, the cv
varies between individuals, as "with the STS method".
CL and V the first-stage (ELS) estimates
Use of NONMEM With The Standard Two-Stage Estimation Method
3 messages
3 people
Latest: Dec 14, 1994
In a memo dated December 12 1994, Stuart Beal and Steve Shafer describe how
a NONMEM run may be constructed to quickly and conveniently obtain the
first-stage PK estimates used with the standard two stage estimation
method. These estimates are output in a NONMEM table. This memo describes
the same thing, only it goes a little further. It describes how to produce
the table so that it in turn can be used as the data set for subsequent
NONMEM runs which can obtain the second-stage estimates.
Mimicking the earlier discussion about obtaining first-stage estimates:
Using (for the sake of illustration) a simple one-compartment model with
constant cv residual error, the control stream for obtaining first-stage
estimates should include the following:
$SUBROUTINE ADVAN1 TRANS2
$PK
CL=THETA(1)*EXP(ETA(1))
V =THETA(2)*EXP(ETA(2))
M=0
IF (NEWIND.EQ.2) M=1 ;M is an MDV value for the subsequent runs
$ERROR
Y=F+F*EXP(ETA(3))*ERR(1)
$THETA 5 50 ;these are rough typical population values
$OMEGA 100 100 100
$SIGMA 1 FIXED
$ESTIMATION MAXEVAL=0 POSTHOC FOCE INTERACTION
$TABLE CL V M COV FILE=firststage ; COV is a covariate
MAXEVALS=0 means that no population estimation will occur
POSTHOC means that individual conditional estimates of CL and V
will be obtained. The Bayesian influence is nill, since
OMEGA is purposely chosen to be very large. What results
then, are simple extended least squares estimates.
FOCE needed only because without it, INTERACTION cannot also be used.
INTERACTION means that individual estimates of ETA(3) are also obtained.
EXP(ETA(3)) is in effect, the standard deviation of ERR(1)
since SIGMA is fixed to 1. Were SIGMA not fixed to 1, and
were EXP(ETA(3)) absent, then all residual errors, for all
Nick Holford was quick to try out the two-stage business described in
recent memos over the past few days. Good thing! He noticed that
the syntax FOCE is used in the control stream, whereas it should
be METH=COND. Please note this regrettable error.
Some of you may wonder (as did Nick) about the form of the equation for Y with
an exponential type residual error model. The usual exponential
type model is
Y = F*EXP(ERR(1)). (A)
With an EXP(ETA(3)) term for the sd of ERR(1), the model looks like
Y = F*EXP(EXP(ETA(3))*ERR(1)) (B)
Of course, because NM-TRAN Version II has certain restrictions on
nested parentheses (removed with NM-TRAN Version III), we may need to write
this as
SD=EXP(ETA(3))
Y = F*EXP(SD)*ERR(1)) (C)
However, whether we use (B) or the constant cv type model that Steve Shafer
and I wrote, viz.
Y = F + F*EXP(ETA(3))*ERR(1), (D)
the results will be the same since a first-order approximation to Y
in epsilon (being represented by ERR(1)) about epsilon=0 is always
used by the NONMEM program.
Lastly, Nick reminds us that at the second stage, the CL values, say,
are "single-subject" type data, that therefore, only one level
of random effects is used to explain the random variability in these data,
and that consequently, only a $OMEGA record is to be used. A $SIGMA record
is not to be used.