RE: [NMusers] 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 D - deriv(~ sqrt(OM1) , c(OM1),function(OM1) NULL, formal=T) DERIV - D(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 -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
RE: [NMusers] IIV on %CV-Scale - Standard Error (SE)
Hi Jakob, The derivation for your expression comes from a first-order approximation of the variance often referred to as the delta method in the statistical literature. The approximation is: Var(f(x)) ~= [f'(x)^2]Var(x) or equivalently, SE(f(x)) ~= f'(x)SE(x) If we want SE(omega) but have the SE(omega^2) then x=omega^2 and f(x)=omega=x^0.5. Using the first-order approximation we have SE(omega) = SE(f(x)) = SE(x^0.5) = f'(x)SE(x) = 0.5(x^-0.5)SE(x) and substituting x=omega^2 = 0.5(omega^-1)SE(omega^2) = SE(omega^2)/(2*omega) Kind regards, Ken Kenneth G. Kowalski President CEO A2PG - Ann Arbor Pharmacometrics Group 110 E. Miller Ave., Garden Suite Ann Arbor, MI 48104 Work: 734-274-8255 Cell: 248-207-5082 [EMAIL PROTECTED] -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ribbing, Jakob Sent: Friday, February 15, 2008 4:03 AM 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
Re: [NMusers] IIV on %CV-Scale - Standard Error (SE)
Jakob I am not sure that the formula that you present is correct: sqrt(SE.OMEGAnn)/(2*sqrt(OMEGAnn))*100% I think, you do not need to take sqrt(). This is what I would use SE.OMEGAnn/(2*OMEGAnn)*100% Note that your S-plus function also does not take a sqrt, so it could be just a typo. Factor of 2 is derived from these calculations: Assume that you have random variable X=A+alpha*eps, where eps is the standard normal (mean(eps)=0, var(eps)=1) Then mean(X)=A var(X)=mean( (X-mean(X))**2 ) = alpha**2 sd(X)=sqrt(Var(X))=alpha CV(X)=SD/mean=alpha/A Now, let Y=X**2=(A+alpha*eps)**2 Then mean(Y)=mean(X**2)=mean(A**2+2 alpha A eps + alpha**2 mean(eps**2))= = A**2 + alpha**2 = A**2 ; (neglecting small terms alpha**2) var(Y)=mean( (Y-mean(Y))**2 ) = mean( ((A+alpha*eps)**2-A**2 )**2 ) = =mean( (2 alpha A eps)**2) = 4 alpha**2 A**2 (again, keeping only the main term) SD(Y) = 2 A alpha CV(Y)=2 alpha/A From here we have CV(X)=CV(Y)/2 In the context of what we discuss, X is the estimated SD while Y is the estimated variance of OMEGA (or sigma) estimate: Parameterization 1: PAR=PAR0+THETA(1)*ETA(1) $OMEGA 1 FIXED (X from the discussion above is THETA(1) estimate) --- Parameterization 1: PAR=PAR0+ETA(1) $OMEGA estimated Y in this case is the OMEGA estimate, and if the solution does not depend on the parameterization, Y=X**2 - Another way to derive it is to think in terms of confidence intervals. In SD scale, SD.CI = SD +/- 2* SE.SD CV.SD = 2* SE.SD / SD / 2 = SE.SD / SD In OMEGA scale this would result in OMEGA.CI = (SD +/- 2* SE.SD)**2=SD**2 +/- 4 * SD * SE.SD (neglecting the term 4 SE.SD**2) Then CV.OMEGA = 4 * SD * SE.SD / 2/ SD**2 = 2 SE.SD/SD = 2 CV.SD CV.SD = CV.OMEGA/2 Leonid -- Leonid Gibiansky, Ph.D. President, QuantPharm LLC web:www.quantpharm.com e-mail: LGibiansky at quantpharm.com tel:(301) 767 5566 Ribbing, Jakob wrote: 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