RE: Block versus diagonal omega
Mark,
Glad that we end up with the same advice ;-).
But even if the estimates of the diagonal elements increase a bit, it
does not mean that the total spread in the predictions increases. To
illustrate that I have written an R script that samples from a 2-by-2
matrix and simulates a bundle of emax-curves from it, attached at the
end of this mail. This clearly shows that the off-diagonal element
decreases the prediction space of the model. A 2-fold increase of the
total magnitude of variance does not even compensate for that around the
ec50 (although at the emax it does more or less). With a 10-fold
multiplier the band around the ec50 gets into the same order of
magnitude; the patterns that appear obviously are different from the
uncorrelated case.
I have never tried to summarize differences with an off-diagonal with a
diagnostic, but $OMEGA can be diagnosed similar to the covariance matrix
of estimation. The condition number seems an obvious choice although it
only focuses on the extremes .The larger the condition number the more
effect the off-diagonal elements have. The condition numbers of the
_normalized_ matrix in the examples below are .0263 and 1, respectively.
Best regards,
Jeroen
Modeling & Simulation Expert
Pharmacokinetics, Pharmacodynamics & Pharmacometrics (P3) - DMPK
MSD
PO Box 20 - AP1112
5340 BH Oss
The Netherlands
[email protected]
T: +31 (0)412 66 9320
F: +31 (0)412 66 2506
www.msd.com
R code for simulations:
library(MASS)
par(mfrow=c(2,2))
a<-matrix(c(2,1.2,1.2,.8),nrow=2)
b<-matrix(c(2,0,0,.8),nrow=2)
c<-matrix(c(2,1.2,1.2,.8)*2,nrow=2)
d<-matrix(c(2,1.2,1.2,.8)*10,nrow=2)
a.sample<-mvrnorm(50,c(10,10),a)
b.sample<-mvrnorm(50,c(10,10),b)
c.sample<-mvrnorm(50,c(10,10),c)
d.sample<-mvrnorm(50,c(10,10),d)
conc<- 10^((-25:25)/20+1)
emaxf<-function(p){
ec50<-p[1];emax<-p[2]
emax*conc/(ec50+conc)
}
correlated<-apply(a.sample,1,emaxf)
uncorrelated<-apply(b.sample,1,emaxf)
inflated<-apply(c.sample,1,emaxf)
more.inflated<-apply(d.sample,1,emaxf)
matplot(conc,correlated,log='x',type='l',ylim=c(0,12))
matplot(conc,uncorrelated,log='x',type='l',ylim=c(0,12))
matplot(conc,inflated,log='x',type='l',ylim=c(0,12))
matplot(conc,more.inflated,log='x',type='l',ylim=c(0,12))
[remaining stuff deleted to increase change of acceptance by list server
;-)]
This message and any attachments are solely for the intended recipient. If you
are not the intended recipient, disclosure, copying, use or distribution of the
information included in this message is prohibited --- Please immediately and
permanently delete.