re: interpolation and effect compartments
From rs@chdr.leidenuniv.nl Wed Sep 25 22:58:41 1996
Subject: re: interpolation and effect compartments
Thanks everyone for the many extremely helpful comments (how I just love this user group!)
I've been playing with Lew Sheiner's "connecting the dots" and it seems to work; each (effect) measurement is accompanied by a slope and intercept describing the straight line that connects adjacent concentration measurements (datafile constructed outside NONMEM). This looks somewhat like this:
$PROB linear concentration interpolation vs effect
$INPUT ID OCC ET TIME CONC EFF=DV SLO INT MDV
$DATA DATA.NM
$SUBROUTINES ADVAN6 TRANS1 TOL=4
$MODEL COMP=(EFFECT,DEFOBS)
$PK
TKEO = THETA(1)*EXP(ETA(1))
KEO = 0.693/TKEO
E0 = THETA(2)*EXP(ETA(2))
SLOPE = THETA(3)*EXP(ETA(3))
B1 = SLO
A1 = INT
$DES
CPE=A1+(B1*T)
DADT(1) = KEO*(CPE-A(1))
$ERROR
CP = A1 + (B1*TIME)
CE = F
PREDI = E0 - SLOPE*F
Y=PREDI+EPS(1)
$THETA (0,1) (200,450,600) 1
$OMEGA 1 1 1
$SIGMA 1000
$EST SIGDIGITS=3 PRINT=1 MAXEVAL 9999 NOABORT POSTHOC METHOD=0
$COV
$TABLE ID OCC TIME CP CONC CE SPV PREDI
FILE=RESULT.ASC NOHEADER NOPRINT
with the datafile DATA.NM:
1 2 -10 0 .00 322.1 .00000 .00000 0
1 2 -5 0 . . .00000 .00000 1
1 2 30 30 .00 . .38000 -11.40000 1
1 2 31 33 . 329.8 .38000 -11.40000 0
1 2 46 48 . 316.2 .38000 -11.40000 0
1 2 60 60 11.40 . .19000 .00000 1
1 2 61 63 . 302.7 .19000 .00000 0
1 2 76 79 . 301.1 .19000 .00000 0
1 2 90 90 17.10 . .10333 7.80000 1
1 2 91 92 . 305.4 .10333 7.80000 0
etc
1 2 480 480 27.30 . -.00760 30.95000 1
1 2 481 486 . 364.7 -.00760 30.95000 0
1 2 1440 1440 20.00 . -.00760 30.95000 1
2 1 -10 0 .00 458.1 3.65000 .00000 0
2 1 -5 0 . . 3.65000 .00000 1
etc
However, this approach requires a differential equation while Ken Kowalski's solution seems to provide an explicit expression for the effect compartment concentration without the need to calculate the interpolating lines. It is in a recursive form however (effect compartment concentration at time t as a function of effect compartment concentration at time t-1) and I have no idea how to
implement this in NONMEM! Any clues?
Rik Schoemaker
CHDR, Leiden, NL