Re: Log transformation of both sides
Dear Norman,
if you log-transform the data, you will change the error structure of your model, so if all you want is preventing negative values in your VPC, I would use something like this:
IF (ICALL.EQ.4.AND.IPRED.LE.10) Y=5
ICALL==4 is used only in the simulation step, so it does not interfere with the estimation. My code lets the model work normally, and if any predicted value, after the addition of the error is lower than 10, it imputes 5. You should obviously use numbers that are reasonable for your problem, I would maybe use as a threshold the limit of quantification of your assay.
If instead you want to use the log-transformation of the data, which will actually change your model, I believe you have to actually log-transform the data and add it in the dataset (although I remember Mats had a trick to do it online without modifying the data file) and then your prediction should be logged. I seem to remember that NONMEM linearises the relationship between Y and EPS, so if you use a log there, NONMEM will linearise and will see only a plain proportional error. Maybe some of the gurus will correct me on this one.
Keep in mind that if you use the log-transformation, you will have to use an approximation to implement an additive component to your model, which I believe is significant, since you are getting negative values.
I would recommend using the log-transformation only if you do mean to use an exponential error structure. If all you are worried about are the negative values in the VPC (which I agree look pretty ugly), my code should do the trick.
I hope this helps. Greeting from Cape Town,
Paolo
Quoted reply history
On 2012/06/27 23:25, Norman Z wrote:
> Dear NMusers,
>
> I am working on a one compartment model with additive and proportional error model.
>
> Y = F*(1+EPROP*EPS(1))+EADDS*EPS(2)
>
> When I performed VPC, I found some 2.5% percentile of the concentration CI is negative. I guess it may be due to the concentration is very low after several t1/2, and the additive error on top of the low DV values causes the negative values. So I'd like to take "log transformation both sides" approach to avoid the issue. I wonder if any one can comment on the differences of the following methods:
>
> 1. Generate a ln(DV) column in the dataset, and use
> Y =LOG(F*(1+EPROP*EPS(1))+EADDS*EPS(2))
> in the $ERROR block.
>
> 2. Use DV in the model, and code the $ERROR block
> Y1=LOG(F*(1+EPROP*EPS(1))+EADDS*EPS(2))
> Y=EXP(Y1)
>
> Are these two methods equivalent to achieve log transformation of both sides, or they are different?
>
> Thanks for your help.
>
> Norman
--
------------------------------------------------
Paolo Denti, PhD
Junior Lecturer
Division of Clinical Pharmacology
Department of Medicine
University of Cape Town
K45 Old Main Building
Groote Schuur Hospital
Observatory, Cape Town
7925 South Africa
phone: +27 21 404 7719
fax: +27 21 448 1989
email: [email protected]