NONMEM Users Network Archive

Hosted by Cognigen

Piece-wise PD model

From: Brendan Johnson <brendan.m.johnson>
Date: Wed, 23 Jun 2010 09:20:40 -0500

NMusers,
In a somewhat similar theme to Hauke's post, I am having an issue with cond=
itional assignment statements in $ERROR. I am trying to fit a piece-wise P=
D model for a KPD system. A linear PD model is ok, but saturating models, w=
hile I expect these to provide a better fit, converge with parameters that =
essentially replicate a linear model (tried Emax, Power, Exponential). My l=
ast ditch attempt was to try a piece-wise model, with 2 linear slopes, esti=
mating the change point.

Something like this

$PK
...
CHANGE=THETA(.)
SLOPE1=THETA(.)
SLOPE2=THETA(.)
...

$ERROR
A(.)=AEFF ;amount in effect compartment
IF(AEFF.LT.CHANGE) THEN
SLOPE=SLOPE1
ELSE
SLOPE=SLOPE2
ENDIF

EFFECT=AEFF*SLOPE

I always find minimization is terminated early, and the gradient for CHANGE=
 is zero at first iteration. The gradient does have a value at subsequent =
iterations, but the final estimate of CHANGE (at termination anyway) is usu=
ally not far off the initial estimate...I suspect it is not actually being =
estimated, just floating a bit. Even if I fix CHANGE to a reasonable value=
, I see minimization is terminated early.

Is there some trick I am missing here? or is it not possible to estimate a =
parameter within a conditional assignment statement in $ERROR?
(seems like you can do this in $PK when a covariate or time is used in the =
IF statement)

Thanks for any help,
Brendan Johnson
GlaxoSmithKline, RTP




Received on Wed Jun 23 2010 - 10:20:40 EDT

The NONMEM Users Network is maintained by ICON plc. Requests to subscribe to the network should be sent to: nmusers-request@iconplc.com.

Once subscribed, you may contribute to the discussion by emailing: nmusers@globomaxnm.com.