NMusers,
In a somewhat similar theme to Hauke's post, I am having an issue with
conditional assignment statements in $ERROR. I am trying to fit a piece-wise
PD model for a KPD system. A linear PD model is ok, but saturating models,
while I expect these to provide a better fit, converge with parameters that
essentially replicate a linear model (tried Emax, Power, Exponential). My last
ditch attempt was to try a piece-wise model, with 2 linear slopes, estimating
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 usually
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
Piece-wise PD model
2 messages
2 people
Latest: Jun 23, 2010
Brendan,
The implementation of your piece-wise model is not correct. It should be
EFFECT=AEFF*SLOPE1
IF( AEFF.GT.CHANGE ) EFFECT=CHANGE*SLOPE1+( AEFF - CHANGE )*SLOPE2
Regards,
Katya
Ekaterina Gibiansky, Ph.D.
CEO&CSO, QuantPharm LLC
Web: www.quantpharm.com
Email: EGibiansky at quantpharm.com
Tel: (301)-717-7032
Quoted reply history
On 6/23/2010 10:20 AM, Brendan Johnson wrote:
NMusers,
In a
somewhat similar theme to Hauke’s
post, I am having an issue with conditional assignment statements in
$ERROR. I
am trying to fit a piece-wise PD model for a KPD system. A linear PD
model is
ok, but saturating models, while I expect these to provide a better
fit,
converge with parameters that essentially replicate a linear model
(tried Emax,
Power, Exponential). My last ditch attempt was to try a piece-wise
model, with
2 linear slopes, estimating 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 usually 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
No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 9.0.829 / Virus Database: 271.1.1/2956 - Release Date: 06/22/10 14:36:00
No virus found in this outgoing message.
Checked by AVG - www.avg.com
Version: 9.0.829 / Virus Database: 271.1.1/2956 - Release Date: 06/22/10
14:36:00