Hi NMUSERS,
I have a question regarding the use of OMEGA BLOCK statements in simulations when one (or more) elements of the matrix are 0.
When I use the following lines to describe the OMEGA structure and run the simulation everything works well:
$OMEGA
0 FIX ; IIV_CL2
0.1 ; IIV_V2
0.1 ; IIV_F1
0.01 ; IIV_KA
$OMEGA BLOCK(1) 0.01 ; IOV_KA
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
However, rewriting the above as a full matrix gives me an error message:
$OMEGA BLOCK(8)
0 FIX
0 0.1
0 0 0.1
0 0 0 0.01
0 0 0 0 0.01
0 0 0 0 0 0.01
0 0 0 0 0 0 0.01
0 0 0 0 0 0 0 0.01
NM-TRAN MESSAGES
AN ERROR WAS FOUND IN THE CONTROL STATEMENTS.
AN ERROR WAS FOUND ON LINE 75 AT THE APPROXIMATE POSITION NOTED:
0 0 0 0 0 0 0 0.01
224 A VARIANCE IS ZERO, BUT THE BLOCK IS NOT FIXED TO ZERO.
I tried numerous different ways of placing the term FIX in the block, or not mentioning it at all - nothing worked, except replacing the 0 diagonal element by a very small number. I know that there are certain constrains of using 0 values in an OMEGA BLOCK (band symmetric form), but I always thought this was only relevant for estimation.
Has anyone come across a similar issue when simulating?
Best regards, Andreas.
Andreas Lindauer, Ph.D.
Associate Principal Scientist, Clinical PKPD
Pharmacokinetics, Pharmacodynamics, and Drug Metabolism
Merck & Co. / MSD
Notice: This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
New Jersey, USA 08889), and/or its affiliates Direct contact information
for affiliates is available at
http://www.merck.com/contact/contacts.html) that may be confidential,
proprietary copyrighted and/or legally privileged. It is intended solely
for the use of the individual or entity named on this message. If you are
not the intended recipient, and have received this message in error,
please notify us immediately by reply e-mail and then delete it from
your system.
Simulations with OMEGA BLOCK
6 messages
5 people
Latest: Oct 08, 2013
Hi NMUSERS,
I have a question regarding the use of OMEGA BLOCK statements in simulations
when one (or more) elements of the matrix are 0.
When I use the following lines to describe the OMEGA structure and run the
simulation everything works well:
$OMEGA
0 FIX ; IIV_CL2
0.1 ; IIV_V2
0.1 ; IIV_F1
0.01 ; IIV_KA
$OMEGA BLOCK(1) 0.01 ; IOV_KA
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
However, rewriting the above as a full matrix gives me an error message:
$OMEGA BLOCK(8)
0 FIX
0 0.1
0 0 0.1
0 0 0 0.01
0 0 0 0 0.01
0 0 0 0 0 0.01
0 0 0 0 0 0 0.01
0 0 0 0 0 0 0 0.01
NM-TRAN MESSAGES
AN ERROR WAS FOUND IN THE CONTROL STATEMENTS.
AN ERROR WAS FOUND ON LINE 75 AT THE APPROXIMATE POSITION NOTED:
0 0 0 0 0 0 0 0.01
224 A VARIANCE IS ZERO, BUT THE BLOCK IS NOT FIXED TO ZERO.
I tried numerous different ways of placing the term FIX in the block, or not
mentioning it at all - nothing worked, except replacing the 0 diagonal element
by a very small number. I know that there are certain constrains of using 0
values in an OMEGA BLOCK (band symmetric form), but I always thought this was
only relevant for estimation.
Has anyone come across a similar issue when simulating?
Best regards, Andreas.
Andreas Lindauer, Ph.D.
Associate Principal Scientist, Clinical PKPD
Pharmacokinetics, Pharmacodynamics, and Drug Metabolism
Merck & Co. / MSD
Notice: This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
New Jersey, USA 08889), and/or its affiliates Direct contact information
for affiliates is available at
http://www.merck.com/contact/contacts.html) that may be confidential,
proprietary copyrighted and/or legally privileged. It is intended solely
for the use of the individual or entity named on this message. If you are
not the intended recipient, and have received this message in error,
please notify us immediately by reply e-mail and then delete it from
your system.
Hi Andreas,
my understanding is that when you FIX a block, the whole block is fixed, you
can't fix only one element. So I guess it doesn't really matter where you put
the word FIX.
FIXED indicates that the entire block is constrained to be fixed
to its initial estimate.
Also, the block matrix is either all zeros and FIXED, or it must be positive
definite. If you fix one of the elements of the diagonal to 0, it goes against
these rules. Additionally, you can put zeros in the off-diagonal terms to form
a banded matrix, in which case, they will be assumed as fixed as well, without
using the word FIX.
My understanding is that NONMEM tries to see if there are zeros in the
off-diagonal terms and automatically assumes the block as banded (and even
diagonal) if possible.
The (entire) initial estimate of the block must be positive defi-
nite. The only exception is when the entire initial estimate of
the block is 0, in which case it must be fixed to this estimate.
Initial estimates of some of the elements of the block may be 0,
while initial estimates of some other elements may be nonzero,
but only in the case where the block is constrained to be of band
symmetric form. That is, given the diagonal and a group of con-
tiguous subdiagonals symmetrically ocurring across the diagonal,
the elements off both the diagonal and the subdiagonals are con-
strained to be zero. To specify the initial estimates of such a
block, the initial estimates of those elements that are to be
constrained to 0 should be given as 0, while all other initial
estimates should be given as nonzero. E.g., with these struc-
tures for $OMEGA BLOCK(3), the 0's are preserved:
x
0x
00x
x
xx
0xx
In your case, I think the only solution is to split into 2 separate blocks, but
maybe some guru will teach us otherwise.. :)
Out of curiosity, are you trying to simulate with a PRIOR? I ran into lots of
troubles when I had FIXED parameters in there, and after a lot of trying I just
gave up and removed them from the model.
I hope this helps.
Greetings from Cape Town,
Paolo
Quoted reply history
On 2013/10/08 10:22, Lindauer, A (Andreas) wrote:
Hi NMUSERS,
I have a question regarding the use of OMEGA BLOCK statements in simulations
when one (or more) elements of the matrix are 0.
When I use the following lines to describe the OMEGA structure and run the
simulation everything works well:
$OMEGA
0 FIX ; IIV_CL2
0.1 ; IIV_V2
0.1 ; IIV_F1
0.01 ; IIV_KA
$OMEGA BLOCK(1) 0.01 ; IOV_KA
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
However, rewriting the above as a full matrix gives me an error message:
$OMEGA BLOCK(8)
0 FIX
0 0.1
0 0 0.1
0 0 0 0.01
0 0 0 0 0.01
0 0 0 0 0 0.01
0 0 0 0 0 0 0.01
0 0 0 0 0 0 0 0.01
NM-TRAN MESSAGES
AN ERROR WAS FOUND IN THE CONTROL STATEMENTS.
AN ERROR WAS FOUND ON LINE 75 AT THE APPROXIMATE POSITION NOTED:
0 0 0 0 0 0 0 0.01
224 A VARIANCE IS ZERO, BUT THE BLOCK IS NOT FIXED TO ZERO.
I tried numerous different ways of placing the term FIX in the block, or not
mentioning it at all – nothing worked, except replacing the 0 diagonal element
by a very small number. I know that there are certain constrains of using 0
values in an OMEGA BLOCK (band symmetric form), but I always thought this was
only relevant for estimation.
Has anyone come across a similar issue when simulating?
Best regards, Andreas.
Andreas Lindauer, Ph.D.
Associate Principal Scientist, Clinical PKPD
Pharmacokinetics, Pharmacodynamics, and Drug Metabolism
Merck & Co. / MSD
Notice: This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
New Jersey, USA 08889), and/or its affiliates Direct contact information
for affiliates is available at
http://www.merck.com/contact/contacts.html) that may be confidential,
proprietary copyrighted and/or legally privileged. It is intended solely
for the use of the individual or entity named on this message. If you are
not the intended recipient, and have received this message in error,
please notify us immediately by reply e-mail and then delete it from
your system.
--
------------------------------------------------
Paolo Denti, PhD
Pharmacometrics Group
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]<mailto:[email protected]>
------------------------------------------------
________________________________
UNIVERSITY OF CAPE TOWN
This e-mail is subject to the UCT ICT policies and e-mail disclaimer published
on our website at http://www.uct.ac.za/about/policies/emaildisclaimer/ or
obtainable from +27 21 650 9111. This e-mail is intended only for the person(s)
to whom it is addressed. If the e-mail has reached you in error, please notify
the author. If you are not the intended recipient of the e-mail you may not
use, disclose, copy, redirect or print the content. If this e-mail is not
related to the business of UCT it is sent by the sender in the sender's
individual capacity.
Hi Andreas,
You cant fix part of a block in NONMEM, you have to fix the whole block. So the
trick is to construct the covaiance matrix structure you want out of smaller
blocks.
And when you fix an ETA on the diagonal to zero the corresponding covariances
have to be zero as well. (i.e. the left-most variables in you BLOCK(8) matrix)
So what I think you want for your full-matrix is something like:
$OMEGA
0 FIX ; IIV_CL2
$OMEGA BLOCK(7)
0.1 ; IIV_V2
0 0.1 ; IIV_F1
0 0 0.01 ; IIV_KA
0 0 0 0.01 ; IOV_KA
0 0 0 0 0.01
0 0 0 0 0 0.01
0 0 0 0 0 0 0.01
I hope you have LOTS of data since a BLOCK(7) marix has LOTS of paramaters to
estimate.
You are also combining IIV and IOV variances in a single matrix.
Does it make sense to expect the IIV_KA and IOV_KA to be correlated?
I cant imagine how this is supposed to work, but admittedly I havent given it
all that much thought.
It just looks fishy to me. I cant seem to understand what behavior you are
trying to capture in this kind of covariance structure.
warm regards,
Douglas Eleveld
________________________________
Quoted reply history
Van: [email protected] [mailto:[email protected]] Namens
Lindauer, A (Andreas)
Verzonden: October 8, 2013 10:22 AM
Aan: [email protected]
Onderwerp: [NMusers] Simulations with OMEGA BLOCK
Hi NMUSERS,
I have a question regarding the use of OMEGA BLOCK statements in simulations
when one (or more) elements of the matrix are 0.
When I use the following lines to describe the OMEGA structure and run the
simulation everything works well:
$OMEGA
0 FIX ; IIV_CL2
0.1 ; IIV_V2
0.1 ; IIV_F1
0.01 ; IIV_KA
$OMEGA BLOCK(1) 0.01 ; IOV_KA
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
However, rewriting the above as a full matrix gives me an error message:
$OMEGA BLOCK(8)
0 FIX
0 0.1
0 0 0.1
0 0 0 0.01
0 0 0 0 0.01
0 0 0 0 0 0.01
0 0 0 0 0 0 0.01
0 0 0 0 0 0 0 0.01
NM-TRAN MESSAGES
AN ERROR WAS FOUND IN THE CONTROL STATEMENTS.
AN ERROR WAS FOUND ON LINE 75 AT THE APPROXIMATE POSITION NOTED:
0 0 0 0 0 0 0 0.01
224 A VARIANCE IS ZERO, BUT THE BLOCK IS NOT FIXED TO ZERO.
I tried numerous different ways of placing the term FIX in the block, or not
mentioning it at all - nothing worked, except replacing the 0 diagonal element
by a very small number. I know that there are certain constrains of using 0
values in an OMEGA BLOCK (band symmetric form), but I always thought this was
only relevant for estimation.
Has anyone come across a similar issue when simulating?
Best regards, Andreas.
Andreas Lindauer, Ph.D.
Associate Principal Scientist, Clinical PKPD
Pharmacokinetics, Pharmacodynamics, and Drug Metabolism
Merck & Co. / MSD
Notice: This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
New Jersey, USA 08889), and/or its affiliates Direct contact information
for affiliates is available at
http://www.merck.com/contact/contacts.html) that may be confidential,
proprietary copyrighted and/or legally privileged. It is intended solely
for the use of the individual or entity named on this message. If you are
not the intended recipient, and have received this message in error,
please notify us immediately by reply e-mail and then delete it from
your system.
________________________________
Paolo -
That is correct - if a symmetric matrix has a zero on the diagonal, it cannot
be positive definite. At best it is positive semidefinite (all eigenvalues
non-negative, but one or more are zero).
If there is a negative on the diagonal, then it cannot even be positive
semidefinite - there must be at least one negative eigenvalue.
Note that the idea of a 'real part' does not apply - all eigenvalues of a real
symmetric matrix are real.
Quoted reply history
From: [email protected] [mailto:[email protected]] On
Behalf Of Paolo Denti
Sent: Tuesday, October 08, 2013 8:11 AM
To: Lindauer, A (Andreas); [email protected]
Subject: Re: [NMusers] RE: Simulations with OMEGA BLOCK
Hi Andreas,
I believe your OMEGA matrix is positive SEMI-definite, because one of the
eigeinvalues is 0.
I think the definition is that the real part of all eigenvalues must be
STRICTLY larger than 0.
I am no "matrix talker", but I think that if there is a zero on the diagonal,
the matrix can't be positive definite (strictly).
I hope this helps, or that some gurus will shed some light.
Ciao,
Paolo
On 2013/10/08 12:40, Lindauer, A (Andreas) wrote:
Hi Douglas,
Please note that this is all about simulations - I'm not trying to estimate 36
elements of random effects.
The BLOCK(7) suggestion works, just as did the first example that I provided.
My apologies for not being very clear in my previous e-mail, I'm not looking
for a work around for that particular example, but rather was seeking for ways
to rewrite a 'cluttered' OMEGA statement in a more general, machine-readable
format as a triangular matrix.
Hi Paolo,
Thanks for your response. You said:
Also, the block matrix is either all zeros and FIXED, or it must be positive
definite. If you fix one of the elements of the diagonal to 0, it goes against
these rules.
Well, the matrix that I showed as an example is in fact positive definite. Or
is it that NONMEM just checks if there is any zero diagonal element in BLOCK
and returns an error without actually checking if the matrix is truly
non-positive definite? This is how I would interpret the explanations that are
given in the NONMEM help.
Thanks again, Andreas.
From: Eleveld, DJ [mailto:[email protected]]
Sent: Tuesday, October 08, 2013 11:33 AM
To: Lindauer, A (Andreas); [email protected]<mailto:[email protected]>
Subject: RE: Simulations with OMEGA BLOCK
Hi Andreas,
You cant fix part of a block in NONMEM, you have to fix the whole block. So the
trick is to construct the covaiance matrix structure you want out of smaller
blocks.
And when you fix an ETA on the diagonal to zero the corresponding covariances
have to be zero as well. (i.e. the left-most variables in you BLOCK(8) matrix)
So what I think you want for your full-matrix is something like:
$OMEGA
0 FIX ; IIV_CL2
$OMEGA BLOCK(7)
0.1 ; IIV_V2
0 0.1 ; IIV_F1
0 0 0.01 ; IIV_KA
0 0 0 0.01 ; IOV_KA
0 0 0 0 0.01
0 0 0 0 0 0.01
0 0 0 0 0 0 0.01
I hope you have LOTS of data since a BLOCK(7) marix has LOTS of paramaters to
estimate.
You are also combining IIV and IOV variances in a single matrix.
Does it make sense to expect the IIV_KA and IOV_KA to be correlated?
I cant imagine how this is supposed to work, but admittedly I havent given it
all that much thought.
It just looks fishy to me. I cant seem to understand what behavior you are
trying to capture in this kind of covariance structure.
warm regards,
Douglas Eleveld
________________________________
Van: [email protected]<mailto:[email protected]>
[mailto:[email protected]] Namens Lindauer, A (Andreas)
Verzonden: October 8, 2013 10:22 AM
Aan: [email protected]<mailto:[email protected]>
Onderwerp: [NMusers] Simulations with OMEGA BLOCK
Hi NMUSERS,
I have a question regarding the use of OMEGA BLOCK statements in simulations
when one (or more) elements of the matrix are 0.
When I use the following lines to describe the OMEGA structure and run the
simulation everything works well:
$OMEGA
0 FIX ; IIV_CL2
0.1 ; IIV_V2
0.1 ; IIV_F1
0.01 ; IIV_KA
$OMEGA BLOCK(1) 0.01 ; IOV_KA
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
$OMEGA BLOCK(1) SAME
However, rewriting the above as a full matrix gives me an error message:
$OMEGA BLOCK(8)
0 FIX
0 0.1
0 0 0.1
0 0 0 0.01
0 0 0 0 0.01
0 0 0 0 0 0.01
0 0 0 0 0 0 0.01
0 0 0 0 0 0 0 0.01
NM-TRAN MESSAGES
AN ERROR WAS FOUND IN THE CONTROL STATEMENTS.
AN ERROR WAS FOUND ON LINE 75 AT THE APPROXIMATE POSITION NOTED:
0 0 0 0 0 0 0 0.01
224 A VARIANCE IS ZERO, BUT THE BLOCK IS NOT FIXED TO ZERO.
I tried numerous different ways of placing the term FIX in the block, or not
mentioning it at all - nothing worked, except replacing the 0 diagonal element
by a very small number. I know that there are certain constrains of using 0
values in an OMEGA BLOCK (band symmetric form), but I always thought this was
only relevant for estimation.
Has anyone come across a similar issue when simulating?
Best regards, Andreas.
Andreas Lindauer, Ph.D.
Associate Principal Scientist, Clinical PKPD
Pharmacokinetics, Pharmacodynamics, and Drug Metabolism
Merck & Co. / MSD
Notice: This e-mail message, together with any attachments, contains
information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
New Jersey, USA 08889), and/or its affiliates Direct contact information
for affiliates is available at
http://www.merck.com/contact/contacts.html) that may be confidential,
proprietary copyrighted and/or legally privileged. It is intended solely
for the use of the individual or entity named on this message. If you are
not the intended recipient, and have received this message in error,
please notify us immediately by reply e-mail and then delete it from
your system.
________________________________
It looks like a bug (or feature). Nonmem can handle
$OMEGA BLOCK(2)
1
1 1
but fails on
$OMEGA BLOCK(2)
1
0 0
although conceptually these are identical problems
Leonid
--------------------------------------
Leonid Gibiansky, Ph.D.
President, QuantPharm LLC
web: www.quantpharm.com
e-mail: LGibiansky at quantpharm.com
tel: (301) 767 5566
Quoted reply history
On 10/8/2013 4:22 AM, Lindauer, A (Andreas) wrote:
> Hi NMUSERS,
> I have a question regarding the use of OMEGA BLOCK statements in
> simulations when one (or more) elements of the matrix are 0.
> When I use the following lines to describe the OMEGA structure and run
> the simulation everything works well:
> $OMEGA
> 0 FIX ; IIV_CL2
> 0.1 ; IIV_V2
> 0.1 ; IIV_F1
> 0.01 ; IIV_KA
> $OMEGA BLOCK(1) 0.01 ; IOV_KA
> $OMEGA BLOCK(1) SAME
> $OMEGA BLOCK(1) SAME
> $OMEGA BLOCK(1) SAME
> However, rewriting the above as a full matrix gives me an error message:
> $OMEGA BLOCK(8)
> 0 FIX
> 0 0.1
> 0 0 0.1
> 0 0 0 0.01
> 0 0 0 0 0.01
> 0 0 0 0 0 0.01
> 0 0 0 0 0 0 0.01
> 0 0 0 0 0 0 0 0.01
> NM-TRAN MESSAGES
> AN ERROR WAS FOUND IN THE CONTROL STATEMENTS.
> AN ERROR WAS FOUND ON LINE 75 AT THE APPROXIMATE POSITION NOTED:
> 0 0 0 0 0 0 0 0.01
> 224 A VARIANCE IS ZERO, BUT THE BLOCK IS NOT FIXED TO ZERO.
> I tried numerous different ways of placing the term FIX in the block, or
> not mentioning it at all – nothing worked, except replacing the 0
> diagonal element by a very small number. I know that there are certain
> constrains of using 0 values in an OMEGA BLOCK (band symmetric form),
> but I always thought this was only relevant for estimation.
> Has anyone come across a similar issue when simulating?
> Best regards, Andreas.
> *Andreas Lindauer, Ph.D.*
> Associate Principal Scientist, Clinical PKPD
> Pharmacokinetics, Pharmacodynamics, and Drug Metabolism
> *Merck & Co. / MSD *
>
> Notice: This e-mail message, together with any attachments, contains
> information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station,
> New Jersey, USA 08889), and/or its affiliates Direct contact information
> for affiliates is available at
> http://www.merck.com/contact/contacts.html) that may be confidential,
> proprietary copyrighted and/or legally privileged. It is intended solely
> for the use of the individual or entity named on this message. If you are
> not the intended recipient, and have received this message in error,
> please notify us immediately by reply e-mail and then delete it from
> your system.