Re: NNMUSERS : Non-positive semi-definite message
From: Mats Karlsson <Mats.Karlsson@farmbio.uu.se>
Subject: Re: NNMUSERS : Non-positive semi-definite message
Date: Wed, 22 Aug 2001 10:25:18 +0200
Dear John and Nick,
Neither code will work. Multiplying one ETA with another will give zero
gradients (unless you do some changes in the source code). At the evaluation
of the impact of one ETA on the function, other etas are set to zero. You can
reparametrize the whole model so that you estimate CORR and CV's. Then it is
easy to fix CORR to a prior. The code is ugly and not general though. One
example (for positive CORR):
CVCL =THETA(6)
CVV =THETA(7)
CORR =THETA(12)
TCVCL =CVCL*CVCL
TCVV =CVV*CVV
COVA =CORR*SQRT(CVCL*CVCL*CVV*CVV)
IF(COVA.LT.TCVCL) FCVCL =SQRT(CVCL*CVCL-COVA)
IF(COVA.LT.TCVV) FCVV =SQRT(CVV *CVV -COVA)
IF(COVA.GE.TCVCL) FCVCL =SQRT(-CVCL*CVCL+COVA)
IF(COVA.GE.TCVV) FCVV =SQRT(-CVV *CVV +COVA)
ETCL =EXP(ETA(1)*FCVCL)*EXP(ETA(6)*SQRT(COVA))
ETV =EXP(ETA(2)*FCVV)*EXP(ETA(6)*SQRT(COVA))
ETKA =EXP(ETA(3)*THETA(8))
ETLAG =(ETA(13)*THETA(15))
;----------IOV--------------------
KPCL =EXP(VIS3*ETA(7)*THETA(4)+VIS8*ETA(8)*THETA(4))
KPKA =EXP(VIS3*ETA(9)*THETA(13)+VIS8*ETA(10)*THETA(13))
KPV =EXP(VIS3*ETA(11)*THETA(14)+VIS8*ETA(12)*THETA(14))
KPLAG=(VIS3*ETA(4)*THETA(11)+VIS8*ETA(5)*THETA(11))
TVCL =THETA(1)*(1+THETA(9)*(CLCR-65))
TVV =THETA(2)*WT
CL =TVCL *ETCL *KPCL
V =TVV *ETV *KPV
KA =THETA(3)*ETKA *KPKA
LAG =THETA(10)
PHI =LOG(LAG/(1-LAG))
ALAG1=EXP(PHI+KPLAG+ETLAG)/(1+EXP(PHI+KPLAG+ETLAG))
K =CL/V
S2 =V
$ERROR
IPRED=LOG(.025)
W =THETA(5)
IF(F.GT.0) IPRED=LOG(F)
IRES =IPRED-DV
IWRES=IRES/W
Y =IPRED+ERR(1)*W
$TAB ID TAD IPRED IWRES ONEHEADER NOPRINT FILE=sdtab64
$TAB VID ETCL ETV ONEHEADER NOPRINT FILE=patab64
$TAB VID AGE WT CLCR ONEHEADER NOPRINT FILE=cotab64
$TAB VID SEX ACE DIG DIU COMP VISI ONEHEADER NOPRINT FILE=catab64
$THETA (0,27.5) (0,1.565) (0,2.1) (.254) (0,.23)
$THETA (0,.22) (0,.24) (0,1.45) (0,.008,.033) (0,.14) (0,5) (0,.86,1) (0,1)
(0 FIX) (0 FIX)
$OMEGA 1 FIX 1 FIX 1 FIX 1 FIX 1 FIX 1 FIX 1 FIX 1 FIX 1 FIX 1 FIX
$OMEGA 1 FIX 1 FIX 1 FIX
$SIGMA 1 FIX
$EST MAXEVALS=9990 PRINT=2 POSTHOC MSFO=msfb64
$COV
Best regards,
Mats
--
Mats Karlsson, PhD
Professor of Pharmacometrics
Div. of Pharmacokinetics and Drug Therapy
Dept. of Pharmaceutical Biosciences
Faculty of Pharmacy
Uppsala University
Box 591
SE-751 24 Uppsala
Sweden
phone +46 18 471 4105
fax +46 18 471 4003
mats.karlsson@farmbio.uu.se