RE: IIV on %CV-Scale - Standard Error (SE)
Hello Jakob,
I remember I developed code at one point to calculate a SE on a typical
clearance which was a function of four covariates..
The general method is to use formula incorporating partial derivatives with
respect to each parameter.
http://www.itl.nist.gov/div898/handbook/mpc/section5/mpc55.htm this link gives
good background information.
The S-plus piece of code that can be used is :
OM1 <- 0.16
SE1 <- 0.04
# PERCENTOM1<- sqrt(OM1) # the expression to calculate a standard error on it
DDDDD <- deriv(~ sqrt(OM1) ,
c("OM1"),function(OM1) NULL, formal=T)
DERIV <- DDDDD(OM1) # .grad[, "OM1"] <- 0.5 * (OM1^-0.5)
which is 1/ 2 . SQRT(OM1)
PARDERIV <- attr(DERIV,"gradient")
PERCENTOM1SE<- sqrt ( (PARDERIV[1]*SE1)^2)
For this simple example computing partial derivative by hand is easy but for
more complex formulas things can be tricky and S-plus can calculate this for
you.
http://statpages.org/erpropgt.html this link calculates SE of function of up to
two variables.
Hope this helps,
Samer Mouksassi
Quoted reply history
-----Original Message-----
From: [EMAIL PROTECTED] on behalf of Ribbing, Jakob
Sent: Fri 2/15/2008 04:03
To: NONMEM users forum
Cc: varun goel; [EMAIL PROTECTED]
Subject: [NMusers] IIV on %CV-Scale - Standard Error (SE)
Hi all,
I think that Paul stumbled on a rather important issue. The SE of the residual
error may not be of primary interest, but the same as discussed under this
thread also applies to the standard error of omega. (I changed the name of the
subject since this thread now is about omega)
I prefer to report IIV on the %CV scale, i.e. sqrt(OMEGAnn) for a parameter
with log-normal distribution. It then makes no sense to report the standard
error on any other scale. For log-normally distributed parameters the relative
SE of IIV then becomes:
sqrt(SE.OMEGAnn)/(2*sqrt(OMEGAnn))*100%
Notice the factor 2 in the denominator. I got this from Mats Karlsson who
picked it up from France Mentré, but I have never seen the actual mathematical
derivation for this formula. I think this is what Varun is doing in his e-mail
a few hours ago. However, I am not sure; being illiterate I could not
understand the derivation. Either way, if we are satisfied with the
approximation of IIV as the square root of omega, the factor 2 in the
approximation of the SE on the %CV-scale is exact enough.
If you would like to convince yourself of that the factor 2 is correct (up to 3
significant digits), you can load the below Splus function and then run with
different CV:s, e.g:
ratio(IIV=1)
ratio(IIV=0.5)
Regards
Jakob
"ratio" <- function (IIV.stdev=1) {
ncol <- 1000 #1000 Studies, in which IIV is estimated
ETAS <- rnorm(n=1000*ncol, 0, IIV.stdev)
ETA <- matrix(data=ETAS, ncol=ncol)
IIVs.stds<- colStdevs(ETA) #Estimate of IIV on sd-scale
IIVs.vars<- colVars(ETA) #Estimate of IIV on var-scale
SE.std <- stdev(IIVs.stds)/sqrt(ncol)
SE.var <- stdev(IIVs.vars)/sqrt(ncol)
CV.std <- SE.std/IIV.stdev
CV.var <- SE.var/(IIV.stdev^2)
print(paste("SE on Var scale:", SE.var))
print(paste("SE on Std scale:", SE.std))
print(paste("Ratio CV var, CV std:", CV.var/CV.std))
invisible()
}
________________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of varun goel
Sent: 14 February 2008 23:07
To: [EMAIL PROTECTED]; NONMEM users forum
Subject: Re: [NMusers] Combined residual model and IWRES.
Dear Paul,
You can use the delta method to compute the variance and expected value of a
transformation, which is square in your case.
given y=theta^2
E(y)=theta^2
Var(y)=Var(theta)+(2*theta)^2 ; the later portion is square of the first
derivative of y with respect of theta.
In your example theta is the standard deviation whereas error estimate is
variance. I did not follow your values very well, so I ran a model with same
reparameterization and got following results.
theta=2.65, rse=27.2%
err=7.04; rse=54.4%
theta.1<-2.65
rse<-27.2
var.theta.1<-(rse*theta.1/100)^2 ## = 0.51955
err.1<-7.04
rse.err.1<-54.4#%
var.err.1<-(rse.err.1*err.1/100)^2 ## = 14.66
##now from delta method
E(err)=2.65^2 ## 7.025 close to 7.04
var(err)=(2*2.65)^2*0.51955 ## 14.59 close to 14.66
Hope it helps
Varun Goel
PhD Candidate, Pharmacometrics
Experimental and Clinical Pharmacology
University of Minnesota