I have a small data set of 4 samples each from 15 patients getting CVVH for renal failure that was handed to me. Some subjects appear to be modeled best by a 1 compartment model, other by a 2 compartment model. I have tried the ctl stream below using MIX to allow NONMEM to fit to either a 1 or 2 cmpt model, and it appears to work well (Note there is high covariance in CL, V1, and Q,V2, so their respective ETAs are shared).
However, I have two questions to the group:
1. Is this the optimal way to allow NONMEM to fit to a 1 vs 2 compt model?
2. Is this appropriate? That is, the drug likely is best modeled by (at least) a 2 compartment model, yet only a fraction (~20%) of these sparse data sets appear best fit by a 2 compt model. Given that the sampling was not optimized to detect/characterize a 2 compartment model, should I settle and report a one compartmental model, or describe a 2 cmpt when possible? Perhaps is it an angels on a pinhead issue, as my primary objective is to describe any effect of dialysate flow on clearance.
$INPUT ID TIME CLCK=DROP AMT RATE SS II DV LGDV WGT HGT DURD FLOW CMPD EVID
$DATA Zosyn.CSV IGNORE=# IGNORE(CMPD=2)
$SUBROUTINES ADVAN6 TOL=3
$MODEL NPARAMS=7 NCOMP=2
COMP=(CENTRAL DEFDOSE)
COMP=(TISSUE)
; 2 COMPARTMENT MODEL
; CMPD 1 = Piperacillin
; CMPD 2 = Tazobactam
$MIX
NSPOP=2
P(1)=THETA(7)
P(2)=1-THETA(7)
P1C = THETA(7)
$PK
CALLFL=1
EST=MIXEST
CL1=THETA(1)*EXP(ETA(1));
TVV1=THETA(2)*EXP(ETA(1));
CL2=THETA(1)*THETA(3)*EXP(ETA(2))
TVV2=THETA(2)*THETA(4)*EXP(ETA(2))
FLG=1
IF (MIXNUM.EQ.2) FLG=0
CL=FLG*CL1 + (1-FLG)*CL2
V1 = FLG*TVV1 + (1-FLG)*TVV2
Q=THETA(5)*(1-FLG)
V2 = THETA(6)**(1-FLG); V2 cannot be 0 for 1 compt due to K21=Q/V2 divide by 0 fault
S1=V1
K10 = CL*(FLOW/35)/V1
K12 = (Q/V1)*(1-FLG)
K21 = (Q/V2)*(1-FLG)
$DES
DADT(1) = -A(1) * (K10 + K12) + A(2) * K21
DADT(2) = A(1) * K12 - A(2) * K21
--
Paul R. Hutson, Pharm.D.
Associate Professor
UW School of Pharmacy
T: 608.263.2496
F: 608.265.5421
Using MIXture model to fit 1 compartment vs 2 compartment model
3 messages
2 people
Latest: May 15, 2012
Dear Paul and friends within the NONMEM community,
You touch on a fundamental issue with your questions. The issue is, what to
do with prior knowledge. Do we just fit the data at hand as well as we can,
or do we want to embed the data at hand in a larger knowledge space. I for
my part have once and for all made up my mind. I will not fit any more data
and disregard prior knowledge. For me each drug only exists in its biologic
context, and for each drug there is a body of knowledge that needs to be
respected and represented. I do not hunt anymore for the perfect fit, nor do
I adhere to a strict set of rules. Models need to represent both, prior
knowledge and current data. I now often resort to representing prior
knowledge via the $PRIOR functionality and I have gained experience in the
use of informative priors.
To answer your specific question: I would not go the route you have chosen
using $MIX. Instead I would represent the two compartment model with
informative priors and I would let your scares new data modify those priors,
to a certain extent to arrive at meaningful individual predictions. Your
very limited data set is obviously not fit to revise the knowledge base of
the drug (CVVH - what is that?), but it may be sufficient to obtain
individual predictions (to relate dialysis flow rate to individual clearance
estimates?).
The technicalities of setting up informative priors have been discussed in
this forum recently.
Good luck,
Joachim
Joachim Grevel, PhD
Scientific Director
BAST Inc Limited
Loughborough Innovation Centre
Charnwood Building
Holywell Park, Ashby Road
Loughborough, LE11 3AQ
Tel: +44 (0)1509 222908
Quoted reply history
-----Original Message-----
From: [email protected] [mailto:[email protected]] On
Behalf Of Paul Hutson
Sent: 14 May 2012 16:50
To: [email protected]
Subject: [NMusers] Using MIXture model to fit 1 compartment vs 2 compartment
model
I have a small data set of 4 samples each from 15 patients getting CVVH for
renal failure that was handed to me. Some subjects appear to be modeled
best by a 1 compartment model, other by a 2 compartment model.
I have tried the ctl stream below using MIX to allow NONMEM to fit to either
a 1 or 2 cmpt model, and it appears to work well (Note there is high
covariance in CL, V1, and Q,V2, so their respective ETAs are shared).
However, I have two questions to the group:
1. Is this the optimal way to allow NONMEM to fit to a 1 vs 2 compt model?
2. Is this appropriate? That is, the drug likely is best modeled by (at
least) a 2 compartment model, yet only a fraction (~20%) of these sparse
data sets appear best fit by a 2 compt model. Given that the sampling was
not optimized to detect/characterize a 2 compartment model, should I settle
and report a one compartmental model, or describe a 2 cmpt when possible?
Perhaps is it an angels on a pinhead issue, as my primary objective is to
describe any effect of dialysate flow on clearance.
$INPUT ID TIME CLCK=DROP AMT RATE SS II DV LGDV WGT HGT DURD FLOW CMPD EVID
$DATA Zosyn.CSV IGNORE=# IGNORE(CMPD=2) $SUBROUTINES ADVAN6 TOL=3 $MODEL
NPARAMS=7 NCOMP=2 COMP=(CENTRAL DEFDOSE)
COMP=(TISSUE)
; 2 COMPARTMENT MODEL
; CMPD 1 = Piperacillin
; CMPD 2 = Tazobactam
$MIX
NSPOP=2
P(1)=THETA(7)
P(2)=1-THETA(7)
P1C = THETA(7)
$PK
CALLFL=1
EST=MIXEST
CL1=THETA(1)*EXP(ETA(1));
TVV1=THETA(2)*EXP(ETA(1));
CL2=THETA(1)*THETA(3)*EXP(ETA(2))
TVV2=THETA(2)*THETA(4)*EXP(ETA(2))
FLG=1
IF (MIXNUM.EQ.2) FLG=0
CL=FLG*CL1 + (1-FLG)*CL2
V1 = FLG*TVV1 + (1-FLG)*TVV2
Q=THETA(5)*(1-FLG)
V2 = THETA(6)**(1-FLG); V2 cannot be 0 for 1 compt due to K21=Q/V2 divide by
0 fault
S1=V1
K10 = CL*(FLOW/35)/V1
K12 = (Q/V1)*(1-FLG)
K21 = (Q/V2)*(1-FLG)
$DES
DADT(1) = -A(1) * (K10 + K12) + A(2) * K21
DADT(2) = A(1) * K12 - A(2) * K21
--
Paul R. Hutson, Pharm.D.
Associate Professor
UW School of Pharmacy
T: 608.263.2496
F: 608.265.5421
Thank you, Joachim. You express my concern better than I could have. Unfortunately I could not find in the literature the compartmental priors to use in $PRIOR, only non-compartmental hooey. I am thankful to Rob ter Heine who pointed out a nice population PK study of similar patients receiving continuous veno-venous hemofiltration (CVVH) being presented this year at PAGE (#2526).
I also appreciate Maciej Swat's point that my coding was faulty, and that
CL2=THETA(1)*THETA(3)*ETA(1) led to poorly identifiable thetas, and should be simplified to CL2=THETA(3)*ETA(1), and similarly for TVV2. This also allowed me to re-introduce the parameter-specific etas.
Paul Hutson
Quoted reply history
On 5/15/2012 3:48 AM, Joachim Grevel wrote:
> Dear Paul and friends within the NONMEM community,
>
> You touch on a fundamental issue with your questions. The issue is, what to
> do with prior knowledge. Do we just fit the data at hand as well as we can,
> or do we want to embed the data at hand in a larger knowledge space. I for
> my part have once and for all made up my mind. I will not fit any more data
> and disregard prior knowledge. For me each drug only exists in its biologic
> context, and for each drug there is a body of knowledge that needs to be
> respected and represented. I do not hunt anymore for the perfect fit, nor do
> I adhere to a strict set of rules. Models need to represent both, prior
> knowledge and current data. I now often resort to representing prior
> knowledge via the $PRIOR functionality and I have gained experience in the
> use of informative priors.
>
> To answer your specific question: I would not go the route you have chosen
> using $MIX. Instead I would represent the two compartment model with
> informative priors and I would let your scares new data modify those priors,
> to a certain extent to arrive at meaningful individual predictions. Your
> very limited data set is obviously not fit to revise the knowledge base of
> the drug (CVVH - what is that?), but it may be sufficient to obtain
> individual predictions (to relate dialysis flow rate to individual clearance
> estimates?).
>
> The technicalities of setting up informative priors have been discussed in
> this forum recently.
>
> Good luck,
>
> Joachim
>
> Joachim Grevel, PhD
> Scientific Director
> BAST Inc Limited
> Loughborough Innovation Centre
> Charnwood Building
> Holywell Park, Ashby Road
> Loughborough, LE11 3AQ
> Tel: +44 (0)1509 222908
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On
> Behalf Of Paul Hutson
> Sent: 14 May 2012 16:50
> To: [email protected]
> Subject: [NMusers] Using MIXture model to fit 1 compartment vs 2 compartment
> model
>
> I have a small data set of 4 samples each from 15 patients getting CVVH for
> renal failure that was handed to me. Some subjects appear to be modeled
> best by a 1 compartment model, other by a 2 compartment model.
> I have tried the ctl stream below using MIX to allow NONMEM to fit to either
> a 1 or 2 cmpt model, and it appears to work well (Note there is high
> covariance in CL, V1, and Q,V2, so their respective ETAs are shared).
>
> However, I have two questions to the group:
> 1. Is this the optimal way to allow NONMEM to fit to a 1 vs 2 compt model?
>
> 2. Is this appropriate? That is, the drug likely is best modeled by (at
> least) a 2 compartment model, yet only a fraction (~20%) of these sparse
> data sets appear best fit by a 2 compt model. Given that the sampling was
> not optimized to detect/characterize a 2 compartment model, should I settle
> and report a one compartmental model, or describe a 2 cmpt when possible?
> Perhaps is it an angels on a pinhead issue, as my primary objective is to
> describe any effect of dialysate flow on clearance.
>
> $INPUT ID TIME CLCK=DROP AMT RATE SS II DV LGDV WGT HGT DURD FLOW CMPD EVID
> $DATA Zosyn.CSV IGNORE=# IGNORE(CMPD=2) $SUBROUTINES ADVAN6 TOL=3 $MODEL
> NPARAMS=7 NCOMP=2 COMP=(CENTRAL DEFDOSE)
> COMP=(TISSUE)
> ; 2 COMPARTMENT MODEL
> ; CMPD 1 = Piperacillin
> ; CMPD 2 = Tazobactam
>
> $MIX
> NSPOP=2
> P(1)=THETA(7)
> P(2)=1-THETA(7)
> P1C = THETA(7)
> $PK
> CALLFL=1
> EST=MIXEST
> CL1=THETA(1)*EXP(ETA(1));
> TVV1=THETA(2)*EXP(ETA(1));
> CL2=THETA(1)*THETA(3)*EXP(ETA(2))
> TVV2=THETA(2)*THETA(4)*EXP(ETA(2))
>
> FLG=1
> IF (MIXNUM.EQ.2) FLG=0
> CL=FLG*CL1 + (1-FLG)*CL2
> V1 = FLG*TVV1 + (1-FLG)*TVV2
> Q=THETA(5)*(1-FLG)
> V2 = THETA(6)**(1-FLG); V2 cannot be 0 for 1 compt due to K21=Q/V2 divide by
> 0 fault
> S1=V1
>
> K10 = CL*(FLOW/35)/V1
> K12 = (Q/V1)*(1-FLG)
> K21 = (Q/V2)*(1-FLG)
>
> $DES
> DADT(1) = -A(1) * (K10 + K12) + A(2) * K21
> DADT(2) = A(1) * K12 - A(2) * K21
>
> --
> Paul R. Hutson, Pharm.D.
> Associate Professor
> UW School of Pharmacy
> T: 608.263.2496
> F: 608.265.5421
--
Paul R. Hutson, Pharm.D.
Associate Professor
UW School of Pharmacy
T: 608.263.2496
F: 608.265.5421