From: "Justin Wilkins"
Subject: [NMusers] Obj. function is infinite (error=136)
Date:Mon, 2 Jun 2003 10:49:46 +0200
Hi all,
I'm having a great deal of trouble getting FOCE to work with my
rifampicin data - I've settled on a one-compartment first-order model
for my healthy volunteers, and it minimizes beautifully with believable
parameter estimates using the FO default. However, with METHOD=1, the
following error crops up, rain or shine:
MINIMIZATION TERMINATED
DUE TO PROXIMITY OF LAST ITERATION EST. TO A VALUE
AT WHICH THE OBJ. FUNC. IS INFINITE (ERROR=136)
AT THE LAST COMPUTED INFINITE VALUE OF THE OBJ. FUNCT.:
ERROR IN NCONTR WITH INDIVIDUAL 63 ID=0.66000000E+02
NUMERICAL HESSIAN OF OBJ. FUNC. FOR COMPUTING CONDITIONAL ESTIMATE
IS NON POSITIVE DEFINITE
THETA=
4.39E-01 2.01E+00 5.24E+00 4.89E-01 -1.92E-01 3.41E-01
I've tried a number of solutions, suggested by past NMusers threads:
1) MATRIX=S: Error=136. Estimates hopeless.
2) Assumed related ETAs for KA and TLAG, as below:
$PK
TVKA = THETA(1) ; KA
KA = TVKA * EXP(ETA(1))
TALG = THETA(2) ; ALAG1
ALAG1 = TALG * EXP(THETA(3) + ETA(1))
TVCL = THETA(4) ; CL
CL = TVCL * EXP(ETA(2))
TVV = THETA(5) ; V
V = TVV * EXP(ETA(3))
MINIMIZATION SUCCESSFUL
R MATRIX ALGORITHMICALLY SINGULAR
COVARIANCE MATRIX UNOBTAINABLE
S MATRIX ALGORITHMICALLY SINGULAR
Estimates good, but terrible OBJ compared to FO.
3) Similarly, assumed related ETAs for CL and V - error 136.
4) Tried BAND structures for OMEGA, with no luck either.
The only estimates that approached looking credible were for the
successful minimization where ALAG and KA were assumed similar, but OBJ
was approximately double that obtained using FO.
So I guess the question is, is FO sufficient under such circumstances?
Should I keep trying?
It's worth pointing out that using LOG(DV) failed in both the FO and
FOCE approaches, I'm still not sure why - error structure below, using
pre-transformed data:
$ERROR
IPRED=F
W=SQRT(THETA(5)**2+THETA(6)**2/F**2)
IRES=DV-IPRED
IWRES=IRES/W
Y=LOG(IPRED)+W*EPS(1)
Sorry about the length - trying to cover all my bases! This is all
simple structural stuff, no covariates in the mix yet. Does anyone have
any advice?
Best regards
Justin
---
Obj. function is infinite (error=136)
6 messages
4 people
Latest: Jun 02, 2003
From: Nick Holford
Subject:Re: [NMusers] Obj. function is infinite (error=136)
Date:Mon, 02 Jun 2003 21:12:46 +1200
Justin,
1. FO and FOCE use different objective functions. You should not compare FO and FOCE
objective function values as a means of assessing relative goodness of fit.
2. If you put some biologically obvious covariates e.g. allometric model using weight on
CL and V then maybe some other features or the model will become more stable. An unusual
weight distribution could be giving NONMEM the wobblies when it tries to estimate the
random effects. With meaningful covariates in the model you may be able to remove fixed
effect sources of variability and leave random effects that are a bit more like a simpler
distribution such as log-normal and NONMEM may behave better.
3. Try avoiding obsessional compulsion about getting NONMEM to produce its semi-worthless
asymptotic standard errors.
4. If company policy requires you to get some measure of estimation error then you can
always bootstrap your data to get a more reliable perspective of the uncertainty of your
estimates (instead of such things as relying on the naive assumption of normality to
obtain confidence intervals in your estimates based on standard errors).
5. The key question is how does your model perform? Have you tried some kind of
predictive check to see if your model works well enough to describe the variability of
your data, predict concentrations at particular times etc?
Nick
--
Nick Holford, Dept Pharmacology & Clinical Pharmacology
University of Auckland, 85 Park Rd, Private Bag 92019, Auckland, New Zealand
email:n.holford@auckland.ac.nz tel:+64(9)373-7599x86730 fax:373-7556
http://www.health.auckland.ac.nz/pharmacology/staff/nholford/
From: VPIOTROV@PRDBE.jnj.com
Subject: RE: [NMusers] Obj. function is infinite (error=136)
Date:Mon, 2 Jun 2003 12:09:21 +0200
Justin,
What you described happens very often: FOCE is unstable in NONMEM V
especially with dense data and complex models. Globomax/NONMEM Project Group
promise to improve the algorith in the next version (NONMEM VI).
However, in your control stream, there are a few strange things:
1. THETA(5) seems to be used twice: in $PK (for V) and in $ERROR
2. ETA(1) is used as a random effect in KA and ALAG.
Individual values of these parameters can be correlated, but this has to be
implemented via $OMEGA BLOCK unless the correlation coefficient is 1. In
that case you can write
ALAG1 = TALG * EXP(THETA(3) * ETA(1))
but not ALAG1 = TALG * EXP(THETA(3) + ETA(1))
which is quite unusual and can cause troubles with convergence
3. When you use log transformation, the additive error model has to be
tested first, e.g.:
$ERROR CALLFL=0
IPRE = LOG(.1) ; Protects from the stop caused by LOG domain error
IF(F.GT.0) IPRE = LOG(F)
Y = IPRE + ERR(1)
The DV item in the data set should be the natural logarithm of
concentration. All observations below LOQ should be skipped. So, there
should be no zeros or "dots" in DV except dosing records!
Best regards,
Vladimir
From: "Justin Wilkins"
Subject:RE: [NMusers] Obj. function is infinite (error=136)
Date: Mon, 2 Jun 2003 14:02:12 +0200
Hi all,
I should explain that I used snippets from different control streams in
my original posting!! Sorry about the confusion, that was the reason for
the confusing THETAs and ETAs.
Thanks for the rest, though, it's cleared up a couple of hazy areas! I
shall try tweaking the random effect structure as Vladimir suggests.
Justin
From: "Kowalski, Ken"
Subject: RE: [NMusers] Obj. function is infinite (error=136)
Date: Mon, 2 Jun 2003 08:34:37 -0400
Justin,
You need to correct the parameterization as Vladimir indicates (Item 2
below) but I wouldn't start there unless you have determined that the
correlation between tlag and ka is the root cause of your problem. I
suspect its not. Fitting etas on tlag using FOCE is notoriously difficult.
As has been previously suggested, you can get rounding errors and COV step
failures when incorporating tlag if an individual's tlag is closed to an
observed time point. The derivative will be undefined at such change points
(ie., the model is not smoothly differentiable at tlag). Thus, you may not
have a stability problem at all. Since you claim FO works for you, you
might try the hybrid method specifying that the eta for tlag is approximated
by FO while the others use FOCE. See NONMEM Guide VII, pp 14-15.
Good luck.
Ken
From: "Justin Wilkins"
Subject: RE: [NMusers] Obj. function is infinite (error=136)
Date: Mon, 2 Jun 2003 17:29:18 +0200
Hi Ken, Nick, Colin, Vladimir and everyone who might be following this
thread,
There was indeed extremely poor correlation between KA and TLAG (and
none between CL and V for that matter), but it was tried in desperation.
METHOD=HYBRID worked very well, however! Thanks for the suggestion, you
have no idea how much my day gets improved by a MINIMIZATION SUCCESSFUL.
The estimate for KA was quite poor, however, and the associated ETA was
pretty high.
THETA: KA CL V ALAG1 ADD
EXP
ETA:
ERR:
rif_comm_59_fincov_hybrid.lst 19216.501 eval=1242 sig=+3.1
sub=300 obs=7291 CCIL=YNNN NV1.1 PIV1.1
THETA = 4.61 8.74 37.8 0.271 -0.48
0.276
ETASD = 1.43875 0.337639 0.275681 0.581378
ERRSD = 1
THETA:se% = 7.7 3.5 3.2 0.0 11.1
3.5
OMEGA:se% = 10.0 9.5 10.1 24.3
SIGMA:se% = 0.0
MINIMIZATION SUCCESSFUL
More typical results for KA using FO and NCA were in the order of 2.75
or so... I'll try bootstrapping and see where that takes us... I'll add
weight after that.
Thanks for all the help so far!
Justin
_______________________________________________________