From: "David Nix, Pharm D." <nix@pharmacy.arizona.edu>

Subject: Error models and weighting

Date: Wed, 23 May 2001 15:28:37 -0700

 

I'm seeking input about error models. Given the assay and PK characteristics, a constant + proportional error model makes the most sense to use. The following model is suggested in the manual for Xpose 2.0.

 

$ERROR

DEL=0

IF(F.EQ.0) DEL=1

IPRED=F

W=(F**2+THETA(.)**2)**0.5 ; constant + proportional

W=W+DEL

IRES=DV-IPRED

IWRES=IRES/W

Y=IPRED+W*EPS(1)

 

Niclas Johhson cautioned me about the following:

"You will have to be careful here, though, so that 0 isn't a valid value of F. Are you sure your problems with the first model is not due to a non-fixed SIGMA?"

 

It was my understanding that THETA(.) in the line

W=(F**2+THETA(.)**2)**0.5

would provide the standard deviation (proportional part). The Sigma would be the variance for the constant CV portion. I did not use a fixed Sigma. If I do fix Sigma, would I add another Theta value to include the constant CV part.

 

i.e. W=(((F**2)+THETA(.)**2)**0.5 + THETA(..) ????

The simplist control file will run without errors if the Sigma is fixed at 1.

 

In my case, I have 1-7 zero concentrations prior to the first detectable concentrations. The average Tlag was about 2 hours, although there were a few subjects without any apparent Tlag. I took note of the mixture model discussed recently; however, the presence or absense of Tlag is not determined by any known event. Tlag estimate is 0.622 which appears to be short.

 

In a previous message via nmusers, Leonid Gibiansky suggested that I use a simplier model - e.g. Y = F*(1+EPS(1))+EPS(2). If this model is used, I do not know how to get IWRES for using Xpose.

 

Clearly, there are DV values that need to be handled as true 0's. Is it possible to increase weighting for 0 concentrations so that the model can use this data to estimate the lag time better. Obviously, I would not want to influence the fits in a bad way. I can get out all concentrations equal to 0 except those that occur between the dose time and the time of the first detectable concentration. Also, I can get rid of the 0 just prior to the first detectable concentration since this may be below the detection limit but still > 0.

 

Any suggestions would be appreciated.

 

*****

 

From: Mats Karlsson <Mats.Karlsson@farmbio.uu.se>

Subject: Re: Error models and weighting

Date: Thu, 24 May 2001 09:34:37 +0200

 

David,

 

I prefer another version of the "same" model:

 

W=SQRT(THETA(x)**2+THETA(y)**2*F*F)

IRES=DV-IPRED

IWRES=IRES/W

Y=IPRED+W*EPS(1)

...

$SIGMA 1 FIX

 

THETA(x) is then the additive component and THETA(y) the proportional. This model has the advantage that IWRES should have unit variance (i.e. one can easily see if there is a strange distribution of IWRES). You never have to worry about whether DV is zero or not, it is always the prediction that is important. Zero predictions are problematic if you have purely proportional error models or try to use "F" as the base in a power expression (F**2 will give problems, but not F*F), due to the numeric features of NONMEM (that's why Niclas cautioned you about the F**2 expression).

 

The model above is the same as the one suggested by Leonid, just a different parametrisation.

 

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

 

*****

 

From: "Niclas Jonsson" <Niclas.Jonsson@farmbio.uu.se>

Subject: Re: Error models and weighting

Date: Thu, 24 May 2001 09:47:29 +0200

 

David,

 

I thought two steps ahead and made an erroneous comment about the fixing SIGMA to 1, sorry for that. With the syntax below you should not fix SIGMA to 1. Had the W statement been (THETA(1)*F**2+THETA(2)**2)**0.5 then, with a fixed SIGMA, THETA(1) would be the SD of the prop error and THETA(2) would be the SD ADD error.

 

The valid values for 0 you have will make the code below give you problems. The DEL thing is just protective coding to avoid division by zero. If you omit the W=W+DEL line and say IWRES=IRES/(W+DEL) then only the IWRES will be incorrect for the DV=0 points but the actual fit will not be affected (IWRES is nothing that NM understands, its just for display purposes).

 

Best,

 

Niclas

 

*****

 

From: Nick Holford <n.holford@auckland.ac.nz>

Subject: Re: Error models and weighting

Date: Thu, 24 May 2001 20:40:30 +1200

 

The THETA(.) estimates the constant component not the proportional part.

 

You are using a trick to make NONMEM do something it wasn't designed to do. Look at it this way -- the usual mixed proportional and constant error model:

 

Y=F*(1+EPS(1) + EPS(2)

or

Y=F + F*EPS(1) + EPS(2)

or

Y=F + (F*EPS(1) + EPS(2))*1

or

Y=F + standard_deviation*1

 

The trick is to use a FIXED EPS of 1 instead of the "*1" at the end and replace (F*EPS(1) + EPS(2)) with the equivalent standard_deviation. The total variance is:

(F*THETA(CV))**2 + THETA(SD)**2

and it's square root, the standard_devation for that particular prediction is:

SQRT((F*THETA(CV))**2 + THETA(SD)**2)

 

where THETA(CV) is the THETA that estimates the proportional component and THETA(SD) is a THETA that estimates the constant component.

 

So I suggest you use $SIGMA 1 FIX and add a THETA for THETA(CV) and use THETA(.) as THETA(SD) then write this:

 

W=SQRT((F*THETA(CV))**2 + THETA(SD)**2) ; proportional + constant

 

You can estimate EPS(1) instead of FIXing it to 1 (as suggested in the Xpose manual) but IMHO its clearer with two THETAs and the estimates are immediately interpretable as the approx. CV (THETA(CV) and the SD (THETA(SD)) of the residual unidentified variability (RUV) model. If you use the Xpose method then SQRT(SIGMA(1)) is the same as THETA(CV) and SQRT(SIGMA(1))*THETA(.) is the same as THETA(SD).

 

> In a previous message via nmusers, Leonid Gibiansky suggested that I use

> a simplier model - e.g. Y = F*(1+EPS(1))+EPS(2). If this model is

> used, I do not know how to get IWRES for using Xpose.

 

Why do you want to get IWRES? As far as I know Xpose only uses it for a residual plot. Like almost all residual plots the IWRES is practically worthless as a diagnostic. Just assign IWRES=1 to keep Xpose happy and use the much simpler and more elegant method that Leonid recommends to describe the RUV. You won't have to worry about F being zero either (provided THETA(SD) is > 0).

 

--

Nick Holford, Divn 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-7599x6730 fax:373-7556

http://www.phm.auckland.ac.nz/Staff/NHolford/nholford.htm

 

*****

 

From: "Gibiansky, Leonid" <gibianskyl@globomax.com>

Subject: RE: Error models and weighting

Date: Thu, 24 May 2001 08:02:25 -0400

 

> In a previous message via nmusers, Leonid Gibiansky suggested that I use

> a simplier model - e.g. Y = F*(1+EPS(1))+EPS(2). If this model is

> used, I do not know how to get IWRES for using Xpose.

 

IWRES=(DV-IPRED)/SQRT(F*F*OMEGA1+OMEGA2)

 

where OMEGA1 and OMEGA2 are the variances of EPS(1) and EPS(2). To get them "on the fly" during the NONMEM run you would need to rewrite the code above as

 

$ERROR

Y = F*(1+THETA(1)*EPS(1))+THETA(2)*EPS(2)

 

fix the variances of EPS(1) and EPS(2) to 1

 

$SIGMA

1 FIX

1 FIX

 

and then

 

IWRES=(DV-IPRED)/SQRT(F*F*THETA(1)*THETA(1)+THETA(2)*THETA(2) )

 

Leonid