RE: Strange PRED prediction in SAEM with M3 BQL handling
Normally, the NONMEM reserved variable PRED will be automatically calculated
for the user when the data is the typical normally distributed type. However,
when data are modeled with a user specified likelihood (F_FLAG>0), the PRED
value will be set to an uninformative value. To get around this,
In $ERROR block, right after you define IPRED, insert
IF(COMACT==1) PREDV=IPRED
and add PREDV as one of your table items. During COMACT=1, your model will be
evaluated at ETA=0, and you can use that to pick out IPRED evaluated at ETA=0,
which is equivalent to the normal meaning of PRED.
Robert J. Bauer, Ph.D.
Senior Director
Pharmacometrics R&D
ICON Early Phase
820 W. Diamond Avenue
Suite 100
Gaithersburg, MD 20878
Office: (215) 616-6428
Mobile: (925) 286-0769
[email protected]<mailto:[email protected]>
http://www.iconplc.com/
Quoted reply history
From: [email protected] [mailto:[email protected]] On
Behalf Of Andrew Tse
Sent: Friday, February 22, 2019 1:23 AM
To: [email protected]
Subject: [NMusers] Strange PRED prediction in SAEM with M3 BQL handling
Dear all,
I am running SAEM with M3 BQL handling method via PsN but having some strange
PRED values in mytab table if someone can shed some light:
I have tried using FOCE (excluding BQL data) & SAEM (excluding BQL data) both
have normal looking fitting with data in individual plots.
Once I have coded SAEM with M3 codes and include BQL data it showed very
strange PRED vs time plots (eg. 100 times over prediction at BQL time point).
IPRED had normal results.
Here are the control stream that I have used:
$PK
TVCL=THETA(1)
MU_1=LOG(TVCL)
CL=EXP(MU_1+ETA(1))
TVV2=THETA(2)
MU_2=LOG(TVV2)
V2=EXP(MU_2+ETA(2))
TVQ=THETA(3)
MU_3=LOG(TVQ)
Q=EXP(MU_3+ETA(3))
TVV3=THETA(4)
MU_4=LOG(TVV3)
V3=EXP(MU_4+ETA(4))
K23=Q/V2 ;Distribution rate constant
K32=Q/V3 ;Distribution rate constant
KA=0
A_0(1)=0
A_0(2)=0
A_0(3)=0
$DES
DADT(1)= -KA*A(1)
DADT(2)= -CL*A(2)/V2-K23*A(2)+K32*A(3)
DADT(3)= K23*A(2)-K32*A(3)
$ERROR
IPRED=A(2)/V2
W=SQRT(THETA(5)**2+((THETA(6)*IPRED)**2))
IF (LIMI.EQ.1) LIM= 0.05 ;BATCH 1
IF (LIMI.EQ.2) LIM= 0.01 ;BATCH 2
IF (LIMI.EQ.3) LIM= 0.025 ;BATCH 3
IF(BQL.EQ.0) THEN
F_FLAG=0
Y=IPRED+W*ERR(1)
ELSE
F_FLAG=1 ;BQL so Y is likelihood
Y=PHI((LIM-IPRED)/W)
ENDIF
IWRES=(DV-IPRED)/W
IRES=DV-IPRED
My question is that whether there is error in my M3 $ERROR model? or whether
PRED values for BQL means something else other than prediction for BQL data?
Thanks a lot.
Kind regards,
Andrew Tse
Research Pharmacist