From:  "Jerry Zhao" 
Subject: [NMusers] ROUNDING ERRORS (ERROR=134)
Date:Tue, 13 May 2003 10:56:55 -0800

Dear All,

I am trying to simultaneously model parent and metabolite (control file attached to the
end of the message).  I used log transformed data.  But I kept getting Rounding Error
message:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
0MINIMIZATION TERMINATED
 DUE TO ROUNDING ERRORS (ERROR=134)
 NO. OF FUNCTION EVALUATIONS USED:  958
 NO. OF SIG. DIGITS UNREPORTABLE

 ETABAR IS THE ARITHMETIC MEAN OF THE ETA-ESTIMATES,
 AND THE P-VALUE IS GIVEN FOR THE NULL HYPOTHESIS THAT THE TRUE MEAN IS 0.

 ETABAR:   0.13E-01 -0.62E-02  0.66E-02 -0.39E-02  0.49E-01  0.44E-01

 P VAL.:   0.86E+00  0.93E+00  0.94E+00  0.96E+00  0.74E+00  0.67E+00
1
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Could someone please shed some light on what is causing this error and what I should do
to get rid of it?  The model fit at the point of termination looks quite good, and the
parameter estimates are quite good too.

Thank you.


Jeri Sottos


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$PROBLEM  2Comp Parent Drug 1Comp Metabolite Model -- Log Transformed DV
$DATA  DATA_LOG.PRN
$INPUT ID AMT RATE TIME DV CMT EVID 
$SUBROUTINES  ADVAN6 TRANS1 TOL=5

$MODEL NPAR=6 NCOMP=3
    COMP=(PARCEN DEFDOSE DEFOBS) ;CENTRAL COMPARTMENT FOR PARENT DRUG
    COMP=(PARPER NODOSE)         ;PERIPHERAL COMPARTMENT FOR PARENT DRUG
    COMP=(METCEN NODOSE)         ;CENTRAL COMPARTMENT FOR METABOLITE
        
$PK
   CLt=THETA(1)*EXP(ETA(1))     ;PARENT DRUG CENTRAL CLEARANCE
   Vc=THETA(2)*EXP(ETA(2))      ;PARENT DRUG CENTRAL COMPARTMENT VOLUME
   CLd=THETA(3)*EXP(ETA(3))     ;PARENT DRUG DISTRIBUTION CLEARANCE
   Vp=THETA(4)*EXP(ETA(4))      ;PARENT DRUG PERIPHERAL COMPARTMENT VOLUME
   
   CLtm=THETA(5)*EXP(ETA(5))    ;METABOLITE CENTRAL CLEARANCE
   Vcm=THETA(6)*EXP(ETA(6))     ;METABOLITE CENTRAL COMPARTMENT VOLUME
   
   S1=Vc/1000
   S3=Vcm/1000
  
$DES
   DADT(1)=-(CLt+CLd)/Vc*A(1)+CLd/Vp*A(2)
   DADT(2)=CLd/Vc*A(1)-CLd/Vp*A(2)
   DADT(3)=-CLtm/Vcm*A(3)+.4045*CLt/Vc*A(1)   
   ;40.45% OF PARENT DRUG IS COVERTED INTO METABOLITE
  
$ERROR

   FLAG=0
   IF(AMT.NE.0)FLAG=1  ;dosing records only

   IPRED=LOG(F+FLAG)   ;transform the prediction to the log of the
                       ;prediction
                       ; IPRED=log(f) for concentration records and
                       ; IPRED=log(f+1) for dose records
   R1=0
   IF (CMT.EQ.1) R1=1
   R2=0
   IF (CMT.EQ.3) R2=1

   Y1=IPRED+EPS(1)
   Y3=IPRED+EPS(2)
   
   Y=R1*Y1+R2*Y3
   
   YORI=EXP(Y)          ; y in normal scale
   DVORI=EXP(DV)        ; DV in normal scale
   
   IRES=EXP(DV)-EXP(IPRED)

   
$THETA  (10,33)  (10,27)  (30,60) (30,86) (10,17)  (10,36)


$OMEGA BLOCK(6) 
 .24
 .01   .28
 .27   .01  .36
 .20   .16  .25  .32
 .24   .05  .24  .10   0.77
 .17   .03  .09  .02   0.43  0.47
 
$SIGMA  BLOCK (2)
 .06  
 .09  .18  

$ESTIMATION METHOD=1 INTERACTION PRINT=10 POSTHOC REPEAT  MAXEVAL=9999

$TABLE ID TIME CMT IPRED IRES CLt Vc CLd Vp CLtm Vcm NOPRINT
   FILE=mTBL.TXT

$COV
$SCAT    DVORI VS TIME BY CMT
$SCAT    YORI VS TIME BY CMT
$SCAT    IRES VS TIME BY CMT
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_______________________________________________________

From: "Bhattaram, Atul" 
Subject: RE: [NMusers] ROUNDING ERRORS (ERROR=134)
Date:Tue, 13 May 2003 14:34:07 -0400

Hello Zhao

You might want to do an identifiability analysis for your model. In case you
dont have any prior estimates for the metabolite administered seperately you
might want to fix its V to say 10 times the volume for the parent drug. Also
why are you interested in all offdiagonal elements (OMEGA BLOCK (6))? You
should perhaps reduce the dimensionality of your model.

You will find this reference useful:

An identifiability analysis of a parent-metabolite pharmacokinetic model for
ivabradine.
Evans ND, Godfrey KR, Chapman MJ, Chappell MJ, Aarons L, Duffull SB.
J Pharmacokinet Biopharm 2001 Feb;28(1):93-105


Venkatesh Atul Bhattaram
CDER, FDA.
_______________________________________________________

From:"Jerry Zhao" 
Subject:Re: RE: [NMusers] ROUNDING ERRORS (ERROR=134)
Date:Tue, 13 May 2003 13:35:33 -0800

Dear Dr. Bhattaram,

Thank you for your repsonse.

The model is identifiable, because the fraction of parent drug being converted to
metabolite is known (40%).  The volume of metabolite distribution can be uniquely
estimated.

I was trying specifically to look for the inter-parameter covariance in this exercise by
asking NONMEM to estimate the off-diagonal elements (OMEGA BLOCK(6)).  I have already got
fine results with only the diagonal elements OMEGA being estimated.  

With the above questions answered.  Can you think of any reason for the ROUNDING ERROR?
In fact, could you shed some light on what causes this error?

Thank you.

Jeri Sottos
_______________________________________________________

From:Leonid Gibiansky 
Subject:Re: RE: [NMusers] ROUNDING ERRORS (ERROR=134)
Date: Wed, 14 May 2003 10:29:46 -0400

Jeri,
The main property of multidimensional nonlinear optimization problems is 
that they do not converge. So this is quite usual for the FOCE method with 
non-diagonal 6 by 6 omega matrix. If you believe that correlations are 
important (e.g., looking on the scatter plots of ETAs vs ETAs) you can try 
several things that would allow you to simplify OMEGA matrix (comparing 
with the full matrix that does not converge).
1. Start with the new initial values, e.g., those obtained by the model 
with the diagonal OMEGA matrix.
2. Instead of the full BLOCK(6) matrix, try,e.g., BLOCK(5) + 1 separate effect.
3. Try the band matrix of the type
$OMEGA BLOCK(6)
  .24
  .01   .28
  .27   .01    .36
  0      0.01  .25  .32
  0       0     0.1   .10   0.77
  0       0       0    0.03  0.07 0.77
(where the diagonal and X number of the element below the diagonal are not 
zero, and the rest is zero): as far as I understood, then the NONMEM will 
keep this structure of the OMEGA matrix.
4. I prefer to express OMEGA matrix via THETA parameters, and then control 
them one-by one, as follows:

MyETA1=THETA(1)*ETA(1)
MyETA2=THETA(2)*ETA(1)+THETA(3)*ETA(2)
....
MyETA6=THETA(19)*ETA(1)+THETA(20)*ETA(2)+...+THETA(21)*ETA(6)
...
CL=TCL*EXP(myETA1)
V  =TV*EXP(myETA2)
with
$OMEGA
1 1 1 1 1 1 FIXED

In this setting you can add or delete correlations one by one. Final OMEGA 
matrix can be expressed via THETA(1)-THETA(21) parameters.

Also, sometimes change of FORTRAN compiler can help to avoid rounding error 
or other numerical problems. Freeware gcc compiler (ask Bill for details of 
implementation) sometimes is more stable than anything else.

Good luck,
Leonid

_______________________________________________________